math tests: Cosmetics.
[gnulib.git] / ChangeLog
1 2011-11-06  Bruno Haible  <bruno@clisp.org>
2
3         math tests: Cosmetics.
4         * tests/test-math-c++.cc: Reorder declarations.
5
6 2011-11-05  Bruno Haible  <bruno@clisp.org>
7
8         fma*: Simplify test.
9         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
11
12         Tests for module 'fmal'.
13         * modules/fmal-tests: New file.
14         * tests/test-fmal1.c: New file.
15         * tests/test-fmal2.c: New file.
16
17         New module 'fmal'.
18         * lib/math.in.h (fmal): New declaration.
19         * lib/fmal.c: New file.
20         * m4/fmal.m4: New file.
21         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
22         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
23         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
24         REPLACE_FMAL.
25         * modules/fmal: New file.
26         * doc/posix-functions/fmal.texi: Mention the new module and the various
27         bugs.
28
29         Tests for module 'fmaf'.
30         * modules/fmaf-tests: New file.
31         * tests/test-fmaf1.c: New file.
32         * tests/test-fmaf2.c: New file.
33
34         New module 'fmaf'.
35         * lib/math.in.h (fmaf): New declaration.
36         * lib/fmaf.c: New file.
37         * m4/fmaf.m4: New file.
38         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
39         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
40         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
41         REPLACE_FMAF.
42         * modules/fmaf: New file.
43         * doc/posix-functions/fmaf.texi: Mention the new module and the various
44         bugs.
45
46         Tests for module 'fma'.
47         * modules/fma-tests: New file.
48         * tests/test-fma1.c: New file.
49         * tests/test-fma1.h: New file.
50         * tests/test-fma2.c: New file.
51         * tests/test-fma2.h: New file.
52
53         New module 'fma'.
54         * lib/math.in.h (fma): New declaration.
55         * lib/fma.c: New file.
56         * m4/fma.m4: New file.
57         * m4/fegetround.m4: New file.
58         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
59         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
60         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
61         REPLACE_FMA.
62         * modules/fma: New file.
63         * doc/posix-functions/fma.texi: Mention the new module and the various
64         bugs.
65
66         Extend gl_MATHFUNC.
67         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
68         Support 'void' as argument type.
69         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
70
71 2011-11-05  Jim Meyering  <meyering@redhat.com>
72
73         maint.mk: also prohibit inclusion of dirent.h without use
74         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
75
76 2011-11-05  Bruno Haible  <bruno@clisp.org>
77
78         ldexpl tests: Avoid test failure on MSVC 9.
79         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
80         value. Needed in order to enforce the conversion from a value greater
81         than LDBL_MAX to Infinity.
82
83 2011-11-05  Bruno Haible  <bruno@clisp.org>
84
85         New modules 'at-internal', 'openat-h', split off from module 'openat'.
86         * modules/at-internal: New file, extracted from modules/openat.
87         * modules/openat-h: New file.
88         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
89         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
90         * modules/openat (Description): Add reference to POSIX function.
91         (Files): Remove lib/openat.h, lib/openat-proc.c.
92         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
93         intprops, unistd.
94         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
95         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
96         gl_FCNTL_MODULE_INDICATOR.
97         (Include): Remove unistd.h, openat.h.
98         * modules/areadlinkat (Files): Add lib/at-func.c.
99         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
100         openat-die, openat-h, save-cwd.
101         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
102         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
103         openat-die, openat-h, save-cwd, unistd.
104         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
105         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
106         openat-h, save-cwd. Remove fcntl-h, openat.
107         * modules/fchmodat (Files): Remove lib/openat.h.
108         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
109         openat, stdbool, unistd.
110         * modules/fchownat (Files): Remove lib/openat.h.
111         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
112         openat, stdbool, sys_stat.
113         * modules/fdopendir (Files): Remove lib/openat-priv.h,
114         lib/openat-proc.c.
115         (Depends-on): Add at-internal.
116         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
117         * modules/fstatat (Files): Remove lib/openat.h.
118         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
119         stdbool, unistd.
120         * modules/fts (Depends-on): Add openat-h.
121         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
122         openat.
123         * modules/mkdirat (Files): Remove lib/openat.h.
124         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
125         openat, stdbool, sys_stat.
126         * modules/mkfifoat (Files): Add lib/at-func.c.
127         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
128         openat-h, save-cwd. Remove fcntl-h, openat.
129         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
130         * modules/readlinkat (Files): Add lib/at-func.c.
131         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
132         openat-h, save-cwd. Remove fcntl-h, openat.
133         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
134         openat.
135         * modules/selinux-at (Files): Add lib/at-func.c.
136         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
137         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
138         * modules/symlinkat (Files): Add lib/at-func.c.
139         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
140         openat-h, save-cwd. Remove fcntl-h, openat.
141         * modules/unlinkat (Files): Remove lib/openat.h.
142         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
143         stdbool.
144         * modules/utimensat (Files): Add lib/at-func.c.
145         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
146         openat-die, openat-h, save-cwd.
147         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
148         * modules/fdutimensat-tests (Depends-on): Add openat.
149         * modules/fstatat-tests (Depends-on): Add openat-h.
150         * modules/readlinkat-tests (Depends-on): Add openat.
151         * modules/symlinkat-tests (Depends-on): Add openat.
152
153 2011-11-05  Bruno Haible  <bruno@clisp.org>
154
155         openat: Include <stdbool.h>.
156         * lib/openat.c: Include <stdbool.h>.
157
158 2011-11-04  Bruno Haible  <bruno@clisp.org>
159
160         fchownat, renameat, unlinkat: Fix dependencies.
161         * modules/fchownat (Depends-on): Add fstatat.
162         * modules/renameat (Depends-on): Likewise.
163         * modules/unlinkat (Depends-on): Likewise.
164
165 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
166
167         openat: remove direct dependency on dirent
168         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
169         and hasn't been needed ever since fdopendir was split into its own
170         module on 2009-08-31.
171         * modules/openat (Depends-on): Remove dirent.
172
173 2011-11-04  Bruno Haible  <bruno@clisp.org>
174
175         renameat: Optimize code size.
176         * modules/renameat (configure.ac): Don't compile at-func2.c if
177         REPLACE_RENAMEAT is 1.
178
179 2011-11-04  Bruno Haible  <bruno@clisp.org>
180
181         openat tests: Fix file list.
182         * modules/openat-tests (Files): Add tests/test-open.h.
183
184 2011-11-04  Bruno Haible  <bruno@clisp.org>
185
186         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
187         * modules/fchmodat (Depends-on): Add openat-die.
188         * modules/fchownat (Depends-on): Likewise.
189         * modules/linkat (Depends-on): Likewise.
190         * modules/renameat (Depends-on): Likewise.
191         * modules/openat (Depends-on): Add dirent.
192
193 2011-11-04  Jim Meyering  <meyering@redhat.com>
194
195         at-func*.c: fix comments
196         * lib/at-func2.c: Correct/improve first-line comment.
197         * lib/at-func.c: Correct grammar in first-line comment.
198
199 2011-11-04  Bruno Haible  <bruno@clisp.org>
200
201         New module 'mkdirat', split off from module 'openat'.
202         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
203         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
204         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
205         * modules/mkdirat: New file, extracted from modules/openat.
206         * modules/openat (Files): Remove lib/mkdirat.c.
207         (Depends-on): Remove mkdir.
208         (configure.ac): Remove AC_LIBOBJ of mkdirat.
209         (Include): Remove <sys/stat.h>.
210         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
211         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
212         tests/test-mkdir.h.
213         (Depends-on): Remove ignore-value.
214         (Makefile.am): Remove rules for test-mkdirat.
215         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
216         of module 'openat'.
217         * NEWS: Mention the change.
218
219 2011-11-04  Bruno Haible  <bruno@clisp.org>
220
221         closedir: Avoid warning on mingw.
222         * lib/closedir.c: Include <unistd.h>.
223
224 2011-11-04  Bruno Haible  <bruno@clisp.org>
225
226         New module 'fstatat', split off from module 'openat'.
227         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
228         defined.
229         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
230         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
231         gl_FUNC_FSTATAT.
232         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
233         * modules/fstatat: New file, extracted from modules/openat.
234         * modules/openat (Files): Remove lib/fstatat.c.
235         (Depends-on): Remove lstat.
236         (configure.ac): Remove AC_LIBOBJ of fstatat.
237         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
238         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
239         tests/test-lstat.h, tests/test-stat.h.
240         (Depends-on): Remove getcwd-lgpl.
241         (Makefile.am): Remove rules for test-fstatat.
242         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
243         of module 'openat'.
244         * NEWS: Mention the change.
245         * modules/getcwd (Depends-on): Add fstatat.
246         * modules/linkat (Depends-on): Likewise.
247         * modules/mkfifoat-tests (Depends-on): Likewise.
248         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
249
250 2011-11-03  Bruno Haible  <bruno@clisp.org>
251
252         New module 'unlinkat', split off from module 'openat'.
253         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
254         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
255         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
256         * modules/unlinkat: New file, extracted from modules/openat. Correct
257         the dependency conditions.
258         * modules/openat (Files): Remove lib/unlinkat.c.
259         (Depends-on): Remove rmdir, unlink.
260         (configure.ac): Remove AC_LIBOBJ of unlinkat.
261         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
262         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
263         tests/test-rmdir.h, tests/test-unlink.h.
264         (Depends-on): Remove unlinkdir.
265         (Makefile.am): Remove rules for test-unlinkat.
266         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
267         of module 'openat'.
268         * NEWS: Mention the change.
269         * modules/linkat-tests (Depends-on): Add unlinkat.
270         * modules/mkfifoat-tests (Depends-on): Likewise.
271         * modules/readlinkat-tests (Depends-on): Likewise.
272
273 2011-11-02  Bruno Haible  <bruno@clisp.org>
274
275         New module 'fchmodat', split off from module 'openat'.
276         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
277         defined.
278         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
279         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
280         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
281         * modules/fchmodat: New file, extracted from modules/openat.
282         * modules/openat (Files): Remove lib/fchmodat.c.
283         (configure.ac): Remove AC_LIBOBJ of fchmodat.
284         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
285         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
286         (Makefile.am): Remove rules for test-fchmodat.
287         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
288         of module 'openat'.
289         * NEWS: Mention the change.
290
291 2011-11-02  Jim Meyering  <meyering@redhat.com>
292
293         putenv: indent #definition of "environ" to placate cppi
294         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
295
296         gitlog-to-changelog: provide a ChangeLog-repair mechanism
297         Git logs are often treated as immutable, because editing them
298         changes the SHA1 checksums of all descendants.  Thus, errors in
299         git logs tend to stay there forever.  However, when we generate
300         a ChangeLog file -- typically for distribution -- from that git log,
301         we can actually make corrections in the generated file.  The key
302         lies in recording in machine-readable/applicable form the desired
303         corrections.  See --help for description and an example.
304         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
305         (usage): Describe it; alphabetize option descriptions.
306         (main): Honor the new option, carefully.
307
308 2011-11-01  Jim Meyering  <meyering@redhat.com>
309
310         gitlog-to-changelog: avoid an infloop
311         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
312         that ends up being empty.
313
314 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
315
316         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
317         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
318         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
319         contains (possibly-quoted) backslashes.  This should avoid
320         all-too-common shell bugs if COMPLICATED contains backslashes in
321         the "wrong" places.  Reported by David Evans in
322         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
323         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
324         because we want ASCII ranges.  Is there some reason we don't use
325         the C locale everywhere in this script?
326         (func_module, top level): Avoid unwanted pathname expansion when
327         $repo_url_prefix or $repo_url_suffix_repl contain shell
328         metacharacters like '?' and '*'.
329
330 2011-11-01  Bruno Haible  <bruno@clisp.org>
331
332         fchownat: Improve description.
333         * modules/fchownat (Description): Add link to function.
334
335 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
336
337         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
338         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
339         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
340         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
341
342 2011-11-01  Bruno Haible  <bruno@clisp.org>
343
344         alignof: Avoid collision with stdalign module.
345         * lib/alignof.h (alignof): Remove macro.
346         * NEWS: Mention the change.
347         Reported by Paul Eggert.
348
349 2011-11-01  Bruno Haible  <bruno@clisp.org>
350
351         New module 'fchownat', split off from module 'openat'.
352         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
353         defined.
354         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
355         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
356         invoke gl_FUNC_FCHOWNAT.
357         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
358         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
359         * modules/fchownat: New file, extracted from modules/openat.
360         * modules/openat (Files): Remove lib/fchownat.c.
361         (Depends-on): Remove lchown.
362         (configure.ac): Remove AC_LIBOBJ of fchownat.
363         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
364         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
365         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
366         (Depends-on): Remove mgetgroups, usleep, stat-time.
367         (configure.ac): Remove test for getegid.
368         (Makefile.am): Remove rules for test-fchownat.
369         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
370         of module 'openat'.
371         * NEWS: Mention the change.
372
373 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
374
375         stdalign: port better to MSVC and to Sun C 5.11
376         This fixes some of the problems reported by Bruno Haible in
377         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
378         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
379         shortcomings of MSVC and of Sun C 5.11.
380         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
381         around __declspec arg.
382         * modules/stdalign-tests (Files): Add tests/macros.h.
383         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
384         Include macros.h, for ASSERT.
385         (DECLARE_ALIGNED): Remove.
386         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
387         to catch bug), and to 1 if not (simplifies the rest of the code).
388         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
389         (CHECK_AUTO): Remove.
390         (CHECK_ALIGNED): Check only the alignment of the static vars,
391         since auto var alignment isn't supported by Sun C 5.11.
392         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
393         ASSERT failures are easier to diagnose.
394
395 2011-10-31  Bruno Haible  <bruno@clisp.org>
396
397         doc about some IRIX 5.3 problems.
398         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
399         on IRIX 5.3.
400         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
401         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
402         5.3.
403         * doc/posix-functions/grantpt.texi: Likewise.
404         * doc/posix-functions/unlockpt.texi: Likewise.
405         * doc/posix-functions/lgamma.texi: Likewise.
406         * doc/posix-functions/nextafter.texi: Likewise.
407         * doc/posix-functions/remainder.texi: Likewise.
408         * doc/posix-functions/select.texi: Mention misplaced declaration on
409         IRIX 5.3.
410         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
411
412 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
413
414         gitlog-to-changelog: fix git-log invocation.
415         git-log mishandles date strings before 1970-01-01 UTC, and there is
416         no use to specify --since=1970-01-01 by default anyway.
417         * build-aux/gitlog-to-changelog: By default, when no --since option
418         was given, do not specify explicit --since option to git-log.
419
420 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
421
422         gitlog-to-changelog: new option --append-dot.
423         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
424         first non-blank line of each commit message terminated with a dot.
425
426 2011-10-30  Bruno Haible  <bruno@clisp.org>
427
428         ffsl, ffsll: Avoid compilation error due to 'restrict'.
429         * lib/ffsl.h: Include <config.h>.
430         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
431
432 2011-10-30  Jim Meyering  <meyering@redhat.com>
433
434         GNUmakefile: reenable "make syntax-check" for most projects
435         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
436         build-aux variable", "syntax-check" would do nothing but succeed with
437         the "No version control files detected..." diagnostic (unless you
438         happened to override _build-aux via cfg.mk).
439         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
440         to precede inclusion of maint.mk.  Otherwise, these variables would
441         be used undefined in any project that does not override the default.
442
443 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
444
445         gitlog-to-changelog: treat a message with only blank lines as empty.
446         * build-aux/gitlog-to-changelog: Move the code that removes leading and
447         trailing blank lines before the code that issues a warning about an
448         empty commit message.
449
450 2011-10-30  Jim Meyering  <meyering@redhat.com>
451
452         test-parse-datetime.c: avoid new DST-related false positive test failure
453         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
454         based on the time/date we'll convert, not the current time.
455         Otherwise, the moment we cross a DST boundary like today's in
456         Europe, (CEST to CET), that offset ends up being one hour off.
457
458 2011-10-27  Bruno Haible  <bruno@clisp.org>
459
460         fstat: Tweak documentation.
461         * modules/fstat (Description): More precise description.
462
463 2011-10-27  Bruno Haible  <bruno@clisp.org>
464
465         Update documentation regarding 'largefile' module.
466         * doc/posix-functions/fstat.texi: Tweak wording.
467         * doc/posix-functions/opendir.texi: Mention that the module fixes the
468         problems with huge directories and/or small ino_t types.
469         * doc/posix-functions/readdir.texi: Likewise.
470         * doc/posix-functions/rewinddir.texi: Likewise.
471
472 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
473
474         maint.mk: don't maintain a second build-aux variable.
475         * maint.mk (build_aux): Removed.  The maintainer-makefile module
476         depends on GNUmakefile, which already maintains a cfg.mk
477         overridable $(_build-aux) for projects with a non-standard
478         build-aux directory location, although without the $(srcdir)
479         prefix.  Use that variable consistently instead of introducing a
480         second one.  Adjust all call sites.
481
482 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
483
484         Add stdalign module and use it in other modules.
485         This is based on a previous proposal by Bruno Haible
486         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
487
488         stdalign: new module
489         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
490         * modules/stdalign: New files.
491         * MODULES.html.sh (c1x_core_properties): Add stdalign.
492         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
493
494         stdalign-tests: new module
495         * modules/stdalign-tests, tests/test-stdalign.c: New files.
496
497         argp: use stdalign
498         * lib/argp-parse.c: Include <stdalign.h>.
499         (alignof): Remove.
500         * modules/argp (Depends-on): Add stdalign.
501
502         crypto libraries: use stdalign
503         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
504         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
505         Do not include <stdlib.h> twice, in md4.c.
506         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
507         because we are accessing a pointer's bit-pattern, not a size.
508         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
509         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
510         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
511         * modules/crypto/sha512: Likewise.
512
513         sys_socket: use stdalign, not alignof
514         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
515         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
516
517 2011-10-27  Bruno Haible  <bruno@clisp.org>
518
519         raise test: Avoid a test failure on Linux/MIPS.
520         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
521         because 99 is a valid signal on Linux/MIPS.
522
523 2011-10-27  Bruno Haible  <bruno@clisp.org>
524
525         nonblocking tests: Fix test failure on Linux/MIPS.
526         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
527         Set to 270000.
528
529 2011-10-27  Bruno Haible  <bruno@clisp.org>
530
531         utimensat: Work around problem on Linux/hppa.
532         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
533         values.
534         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
535
536 2011-10-25  Jim Meyering  <meyering@redhat.com>
537
538         maint.mk: fix a bug in sc_prohibit_stddef_without_use
539         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
540         after symbols like NULL, size_t, etc.
541         Reported by Alfred M. Szmidt.
542
543         maint.mk: exempt ENODATA from a syntax-check rule
544         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
545         from the sc_prohibit_always-defined_macros syntax-check rule.
546         Add a comment.  See this for more details:
547         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
548
549 2011-10-23  Jim Meyering  <meyering@redhat.com>
550
551         fts: close parent dir FD before returning from post-traversal fts_read
552         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
553         unlink A, even though an FD open on A remained.  This is suboptimal
554         (holding a file descriptor open longer than needed), but otherwise not
555         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
556         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
557         that represents a real problem: it causes the removal of A to fail
558         with e.g., "rm: cannot remove `A': Device or resource busy"
559
560         fts visits each directory twice and keeps a cache (fts_fd_ring) of
561         directory file descriptors.  After completing the final, FTS_DP,
562         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
563         cache, but then proceeded to add a new FD to it via the subsequent
564         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
565         final file descriptor would be closed only via fts_close's call to
566         fd_ring_clear.  Now, it is usually closed earlier, via the final
567         FTS_DP-returning fts_read call.
568         * lib/fts.c (restore_initial_cwd): New function, converted from
569         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
570         Update callers.
571         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
572         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
573
574 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
575             Bruno Haible  <bruno@clisp.org>
576             Jim Meyering  <jim@meyering.net>
577
578         readme-release: improve safety of release prep instructions.
579         * README-release: Don't git pull all branches when only master
580         is needed for the release process.
581         Run make maintainer-clean before changing trees and merging.
582         Don't try to run ./configure right after git pull in case files
583         that influence the bootstrap process have changed, move the
584         ./configure step to after running ./bootstrap.
585         Don't bootstrap "one last time"... it's the first time!
586
587 2011-10-22  Bruno Haible  <bruno@clisp.org>
588
589         errno, strerror-override: Support for MSVC 10.
590         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
591         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
592         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
593         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
594         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
595         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
596         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
597         Assign values compatible with MSVC 10.
598         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
599         New macros.
600         (GNULIB_defined_EWINSOCK): New macro.
601         * lib/strerror-override.c (strerror_override): Update accordingly.
602         * lib/strerror-override.h: Likewise.
603         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
604         longer equal to the corresponding errno value.
605         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
606
607 2011-10-22  Bruno Haible  <bruno@clisp.org>
608
609         perror: Recognize when test program crashes.
610         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
611         strerror, set gl_cv_func_perror_works to no.
612         Reported by Daniel Richard G. <skunk@iskunk.org>.
613
614         perror: Fix indentation.
615         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
616
617 2011-10-22  Bruno Haible  <bruno@clisp.org>
618
619         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
620         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
621         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
622         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
623         functions, not as a macro.
624         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
625         macros.
626         (isfinite, isinf, isnan, signbit): Check overloaded functions and
627         absence of macro.
628         Suggested by Eric Blake.
629         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
630
631 2011-10-21  Bruno Haible  <bruno@clisp.org>
632
633         relocatable-prog-wrapper: Don't leave object files behind.
634         * build-aux/install-reloc: Re-synchronize list of .o files to be
635         removed with list of compilation units.
636
637 2011-10-20  Bruno Haible  <bruno@clisp.org>
638
639         openpty, posix_openpt: Remove code duplication.
640         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
641         * lib/openpty.c: Include <stdlib.h>.
642         (openpty): Use posix_openpt on all platforms except IRIX.
643         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
644
645 2011-10-20  Bruno Haible  <bruno@clisp.org>
646
647         unlockpt: Detect invalid argument.
648         * lib/unlockpt.c: Include <fcntl.h>.
649         (unlockpt): Check whether fd is valid, using fcntl().
650         * modules/unlockpt (Depends-on): Add fcntl-h.
651
652 2011-10-20  Bruno Haible  <bruno@clisp.org>
653
654         openpty: Avoid compilation error on AIX 6.1.
655         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
656
657 2011-10-20  Bruno Haible  <bruno@clisp.org>
658
659         posix_openpt: Support for OpenBSD.
660         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
661         (posix_openpt) [OpenBSD]: New code.
662         * lib/grantpt.c: Include <fcntl.h>.
663         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
664         * modules/grantpt (Depends-on): Add fcntl-h.
665
666 2011-10-20  Bruno Haible  <bruno@clisp.org>
667
668         posix_openpt test: Coding style.
669         * tests/test-posix_openpt.c: Use GNU coding style.
670
671 2011-10-20  Bruno Haible  <bruno@clisp.org>
672
673         grantpt: Support --avoid=pt_chown.
674         * modules/grantpt (Files): Add lib/pty-private.h.
675
676 2011-10-20  Bruno Haible  <bruno@clisp.org>
677
678         posix_openpt: Fix autoconf macro.
679         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
680         unneeded check for _getpty.
681
682 2011-10-20  Bruno Haible  <bruno@clisp.org>
683
684         openpty: Update comments.
685         * lib/openpty.c: Add comments about Minix.
686
687 2011-10-19  Eric Blake  <eblake@redhat.com>
688
689         openpty: relax license
690         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
691
692         pt_chown: use configmake to simplify build
693         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
694
695         ptsname and others: relax license
696         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
697         * modules/unlockpt (License): Likewise.
698         * modules/pt_chown (License): Likewise.
699         * modules/ptsname (License): Likewise.
700         * modules/ttyname_r (License): Likewise.
701
702 2011-10-19  Jim Meyering  <meyering@redhat.com>
703
704         posix_openpt: remove spurious #endif
705         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
706
707 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
708
709         maint.mk: Respect $(build_aux) in web-manual rule.
710         * top/maint.mk (web-manual): Find gen-announce script in user's
711         $(build_aux) directory instead of hard-coding 'build-aux'.
712
713 2011-10-19  Bruno Haible  <bruno@clisp.org>
714
715         posix_openpt: Fix compilation error.
716         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
717         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
718         Mention the openpty module as an alternative.
719
720 2011-10-19  Bruno Haible  <bruno@clisp.org>
721
722         Support for old NeXTstep 3.3 frexp().
723         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
724         execution time of the test to 5 seconds.
725         Reported by Daniel Richard G. <skunk@iskunk.org>.
726
727 2011-10-19  Bruno Haible  <bruno@clisp.org>
728
729         Support for old NeXTstep 3.3 sed.
730         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
731         part, use /.../, not \|...|. Escape periods in the header file name.
732         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
733         Reported by Daniel Richard G. <skunk@iskunk.org>.
734
735 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
736
737         Support for old NeXTstep 3.3 gcc.
738         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
739         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
740         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
741         * lib/spawn.in.h (_Restrict_arr_): Likewise.
742         * lib/regex.h (_Restrict_arr_): Likewise.
743         * lib/regex_internal.h (re_token_t): Likewise.
744         * lib/regexec.c (check_node_accept_bytes): Likewise.
745         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
746
747 2011-10-18  Eric Blake  <eblake@redhat.com>
748
749         posix_openpt: new module
750         * modules/posix_openpt: New module.
751         * m4/posix_openpt.m4: New file.
752         * lib/posix_openpt.c: Likewise.
753         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
754         (gl_STDLIB_H_DEFAULTS): Set defaults.
755         * modules/stdlib (Makefile.am): Substitute macros.
756         * lib/stdlib.in.h (posix_openpt): Declare.
757         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
758         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
759         * modules/posix_openpt-tests: New test module.
760         * tests/test-posix_openpt.c: New test.
761
762 2011-10-15  Bruno Haible  <bruno@clisp.org>
763
764         xstrtoll: Fix compilation failure.
765         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
766         from lib/strtol.c.
767         * doc/posix-headers/limits.texi: Mention missing numerical limits on
768         some platforms.
769         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
770
771 2011-10-15  Bruno Haible  <bruno@clisp.org>
772
773         vasnprintf: Optimize bit search operation.
774         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
775         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
776         gl_DOUBLE_EXPONENT_LOCATION.
777         * modules/vasnprintf (Files): Add m4/exponentd.m4.
778         * modules/unistdio/u8-vasnprintf (Files): Likewise.
779         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
780         * modules/unistdio/u16-vasnprintf (Files): Likewise.
781         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
782         * modules/unistdio/u32-vasnprintf (Files): Likewise.
783         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
784         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
785         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
786
787 2011-10-15  Bruno Haible  <bruno@clisp.org>
788
789         vasnprintf: Fix comments.
790         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
791
792 2011-10-14  Bruno Haible  <bruno@clisp.org>
793
794         Tests for module 'integer_length_ll'.
795         * modules/integer_length_ll-tests: New file.
796         * tests/test-integer_length_ll.c: New file.
797
798         New module 'integer_length_ll'.
799         * lib/integer_length_ll.c: New file.
800         * modules/integer_length_ll: New file.
801
802 2011-10-14  Bruno Haible  <bruno@clisp.org>
803
804         Tests for module 'integer_length_l'.
805         * modules/integer_length_l-tests: New file.
806         * tests/test-integer_length_l.c: New file.
807
808         New module 'integer_length_l'.
809         * lib/integer_length_l.c: New file.
810         * modules/integer_length_l: New file.
811
812 2011-10-14  Bruno Haible  <bruno@clisp.org>
813
814         Tests for module 'integer_length'.
815         * modules/integer_length-tests: New file.
816         * tests/test-integer_length.c: New file.
817
818         New module 'integer_length'.
819         * lib/integer_length.h: New file.
820         * lib/integer_length.c: New file.
821         * modules/integer_length: New file.
822
823 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
824
825         popen: Fix dependency conditions.
826         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
827
828 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
829
830         perror: Fix autoconf test.
831         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
832         <stdlib.h> and <string.h>.
833
834 2011-10-14  Bruno Haible  <bruno@clisp.org>
835
836         ffsl: Optimize on 64-bit platforms.
837         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
838         unrolling.
839
840 2011-10-13  Bruno Haible  <bruno@clisp.org>
841
842         ffsl: Optimize on 32-bit platforms.
843         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
844         use ffs() without a loop.
845
846         ffsl, ffsll: Optimize for GCC.
847         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
848         * lib/ffsl.c (GCC_BUILTIN): New macro.
849         * lib/ffsll.c (GCC_BUILTIN): Likewise.
850
851 2011-10-13  Bruno Haible  <bruno@clisp.org>
852
853         ffs, bcopy, memset: Support symbol renaming via config.h.
854         * lib/ffs.c: Include <config.h>.
855         * lib/bcopy.c: Likewise.
856         * lib/memset.c: Likewise.
857
858 2011-10-10  Bruno Haible  <bruno@clisp.org>
859
860         atanl: Simplify for platforms where 'long double' == 'double'.
861         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
862         alternative implementation.
863         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
864         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
865         * modules/atanl (Depends-on): Add atan. Update conditions.
866
867 2011-10-10  Bruno Haible  <bruno@clisp.org>
868
869         acosl: Simplify for platforms where 'long double' == 'double'.
870         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
871         alternative implementation.
872         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
873         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
874         * modules/acosl (Depends-on): Add acos. Update conditions.
875
876 2011-10-10  Bruno Haible  <bruno@clisp.org>
877
878         asinl: Simplify for platforms where 'long double' == 'double'.
879         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
880         alternative implementation.
881         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
882         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
883         * modules/asinl (Depends-on): Add asin. Update conditions.
884
885 2011-10-10  Bruno Haible  <bruno@clisp.org>
886
887         tanl: Simplify for platforms where 'long double' == 'double'.
888         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
889         implementation.
890         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
891         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
892         * modules/tanl (Depends-on): Add tan. Update conditions.
893         (configure.ac): Don't compile trigl.c if
894         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
895
896 2011-10-10  Bruno Haible  <bruno@clisp.org>
897
898         cosl: Simplify for platforms where 'long double' == 'double'.
899         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
900         implementation.
901         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
902         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
903         * modules/cosl (Depends-on): Add cos. Update conditions.
904         (configure.ac): Don't compile sincosl.c and trigl.c if
905         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
906
907 2011-10-10  Bruno Haible  <bruno@clisp.org>
908
909         sinl: Simplify for platforms where 'long double' == 'double'.
910         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
911         implementation.
912         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
913         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
914         * modules/sinl (Depends-on): Add sin. Update conditions.
915         (configure.ac): Don't compile sincosl.c and trigl.c if
916         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
917
918 2011-10-10  Bruno Haible  <bruno@clisp.org>
919
920         logl: Simplify for platforms where 'long double' == 'double'.
921         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
922         implementation.
923         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
924         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
925         * modules/logl (Depends-on): Add log. Update conditions.
926
927 2011-10-10  Bruno Haible  <bruno@clisp.org>
928
929         expl: Simplify for platforms where 'long double' == 'double'.
930         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
931         implementation.
932         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
933         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
934         * modules/expl (Depends-on): Add exp. Update conditions.
935
936 2011-10-10  Bruno Haible  <bruno@clisp.org>
937
938         sqrtl: Simplify for platforms where 'long double' == 'double'.
939         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
940         alternative implementation.
941         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
942         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
943         * modules/sqrtl (Depends-on): Update conditions.
944
945 2011-10-10  Bruno Haible  <bruno@clisp.org>
946
947         ldexpl: Simplify for platforms where 'long double' == 'double'.
948         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
949         alternative implementation.
950         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
951         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
952         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
953
954 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
955
956         ffsll: set correct witness
957         * modules/ffsll (configure.ac): Fix typo.
958
959 2011-10-10  Bruno Haible  <bruno@clisp.org>
960
961         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
962         * lib/printf-frexpl.c: Include <config.h>.
963         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
964         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
965         second time.
966         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
967         gl_LONG_DOUBLE_VS_DOUBLE.
968         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
969         conditions.
970
971 2011-10-10  Bruno Haible  <bruno@clisp.org>
972
973         frexpl: Simplify for platforms where 'long double' == 'double'.
974         * lib/frexpl.c: Include <config.h>.
975         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
976         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
977         time.
978         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
979         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
980         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
981         * modules/frexpl (Depends-on): Add frexp. Update conditions.
982         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
983         conditions.
984
985 2011-10-10  Jim Meyering  <meyering@redhat.com>
986
987         test-renameat: don't leave behind a temporary file
988         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
989           ERROR: files left in build directory after distclean:
990           ./gltests/test-renameat.too
991           make[1]: *** [distcleancheck] Error 1
992         Reported by Tom G. Christensen.
993
994 2011-10-09  Bruno Haible  <bruno@clisp.org>
995
996         rint: Determine RINT_LIBM correctly on AIX 7.
997         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
998         directly, not only through a function pointer. Also accept an optional
999         4th argument with extra code.
1000         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
1001         rintf() call by gcc when optimizing.
1002
1003         mathfunc.m4: Refactor.
1004         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
1005         m4 variable.
1006
1007 2011-10-09  Bruno Haible  <bruno@clisp.org>
1008
1009         rintl: Simplify for platforms where 'long double' == 'double'.
1010         * lib/rintl.c: Include <config.h>.
1011         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1012         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1013         time.
1014         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1015         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1016         * modules/rintl (Depends-on): Add rint. Update conditions.
1017
1018 2011-10-09  Bruno Haible  <bruno@clisp.org>
1019
1020         roundl: Simplify for platforms where 'long double' == 'double'.
1021         * lib/roundl.c: Include <config.h>.
1022         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1023         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1024         time.
1025         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1026         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1027         * modules/roundl (Depends-on): Add round. Update conditions.
1028
1029 2011-10-09  Bruno Haible  <bruno@clisp.org>
1030
1031         truncl: Simplify for platforms where 'long double' == 'double'.
1032         * lib/truncl.c: Include <config.h>.
1033         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1034         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1035         time.
1036         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1037         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1038         * modules/truncl (Depends-on): Add trunc. Update conditions.
1039
1040 2011-10-09  Bruno Haible  <bruno@clisp.org>
1041
1042         ceill: Simplify for platforms where 'long double' == 'double'.
1043         * lib/ceill.c: Include <config.h>.
1044         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1045         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1046         time.
1047         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1048         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1049         * modules/ceill (Depends-on): Add ceil. Update conditions.
1050
1051 2011-10-09  Bruno Haible  <bruno@clisp.org>
1052
1053         floorl: Simplify for platforms where 'long double' == 'double'.
1054         * lib/floorl.c: Include <config.h>.
1055         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1056         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1057         time.
1058         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1059         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1060         * modules/floorl (Depends-on): Add floor. Update conditions.
1061
1062 2011-10-09  Bruno Haible  <bruno@clisp.org>
1063
1064         rint: Fix ordering constraints.
1065         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
1066         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1067         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1068
1069 2011-10-09  Bruno Haible  <bruno@clisp.org>
1070
1071         copysignl: Simplify for platforms where 'long double' == 'double'.
1072         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1073         alternative.
1074         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1075         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1076         * modules/copysignl (Depends-on): Add copysign. Update conditions.
1077
1078 2011-10-09  Bruno Haible  <bruno@clisp.org>
1079
1080         Tests for module 'rintl'.
1081         * modules/rintl-tests: New file.
1082         * tests/test-rintl.c: New file.
1083
1084         New module 'rintl'.
1085         * lib/math.in.h (rintl): New declaration.
1086         * lib/rintl.c: New file.
1087         * m4/rintl.m4: New file.
1088         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
1089         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
1090         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
1091         * modules/rintl: New file.
1092         * tests/test-math-c++.cc: Check the declaration of rintl.
1093         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1094         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
1095         * doc/posix-functions/rintl.texi: Mention the new module.
1096
1097 2011-10-09  Bruno Haible  <bruno@clisp.org>
1098
1099         Tests for module 'rintf'.
1100         * modules/rintf-tests: New file.
1101         * tests/test-rintf.c: New file.
1102
1103         New module 'rintf'.
1104         * lib/math.in.h (rintf): New declaration.
1105         * lib/rintf.c: New file.
1106         * m4/rintf.m4: New file.
1107         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
1108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
1109         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
1110         * modules/rintf: New file.
1111         * tests/test-math-c++.cc: Check the declaration of rintf.
1112         * doc/posix-functions/rintf.texi: Mention the new module.
1113
1114 2011-10-09  Bruno Haible  <bruno@clisp.org>
1115
1116         rint: Support for MSVC.
1117         * lib/math.in.h (rint): New declaration.
1118         * lib/rint.c: New file.
1119         * m4/rint.m4: New file.
1120         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
1121         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
1122         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
1123         * modules/rint (Description): Fix.
1124         (Files): Add lib/rint.c, m4/rint.m4.
1125         (Depends-on): Add math.
1126         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
1127         gl_MATH_MODULE_INDICATOR.
1128         * tests/test-math-c++.cc: Check the declaration of rint.
1129         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1130         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
1131         * doc/posix-functions/rint.texi: Mention the replacement provided by
1132         the module.
1133
1134         rint tests: More tests.
1135         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
1136         minus-zero.h, infinity.h, nan.h.
1137         (main): Skip the test if the current rounding mode is not standard. Add
1138         tests for negative numbers, minus zero, infinity, NaN.
1139         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
1140         tests/nan.h.
1141         (Depends-on): Add isnand-nolibm.
1142
1143 2011-10-09  Bruno Haible  <bruno@clisp.org>
1144
1145         Tests for module 'copysignl'.
1146         * modules/copysignl-tests: New file.
1147         * tests/test-copysignl.c: New file.
1148
1149         New module 'copysignl'.
1150         * lib/math.in.h (copysignl): New declaration.
1151         * lib/copysignl.c: New file.
1152         * m4/copysignl.m4: New file.
1153         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
1154         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
1155         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
1156         HAVE_COPYSIGNL.
1157         * modules/copysignl: New file.
1158         * tests/test-math-c++.cc: Check the declaration of copysignl.
1159         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1160         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
1161         * doc/posix-functions/copysignl.texi: Mention the new module.
1162
1163 2011-10-09  Bruno Haible  <bruno@clisp.org>
1164
1165         Tests for module 'copysignf'.
1166         * modules/copysignf-tests: New file.
1167         * tests/test-copysignf.c: New file.
1168
1169         New module 'copysignf'.
1170         * lib/math.in.h (copysignf): New declaration.
1171         * lib/copysignf.c: New file.
1172         * m4/copysignf.m4: New file.
1173         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
1174         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
1175         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
1176         HAVE_COPYSIGNF.
1177         * modules/copysignf: New file.
1178         * tests/test-math-c++.cc: Check the declaration of copysignf.
1179         * doc/posix-functions/copysignf.texi: Mention the new module.
1180
1181 2011-10-09  Bruno Haible  <bruno@clisp.org>
1182
1183         Ensure that HAVE_* variables are set to 1 before they are set to 0.
1184         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
1185         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
1186         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1187         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
1188         gl_SIGNAL_H_DEFAULTS.
1189
1190 2011-10-09  Bruno Haible  <bruno@clisp.org>
1191
1192         poll: Make macro safer.
1193         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
1194         ac_cv_header_poll_h is not set.
1195
1196 2011-10-09  Bruno Haible  <bruno@clisp.org>
1197
1198         copysign: Provide replacement.
1199         * lib/math.in.h (copysign): New declaration.
1200         * lib/copysign.c: New file.
1201         * m4/copysign.m4: New file.
1202         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
1203         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
1204         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
1205         HAVE_COPYSIGN.
1206         * modules/copysign (Description): Clarify.
1207         (Files): Add lib/copysign.c, m4/copysign.m4.
1208         (Depends-on): Add math, signbit.
1209         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
1210         gl_MATH_MODULE_INDICATOR.
1211         * tests/test-math-c++.cc: Check the declaration of copysign.
1212         * doc/posix-functions/copysign.texi: Mention the effects of the module
1213         on Minix and MSVC.
1214
1215 2011-10-09  Bruno Haible  <bruno@clisp.org>
1216
1217         isinf: Ensure macro on AIX 5.1.
1218         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
1219         macro.
1220         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
1221
1222 2011-10-09  Bruno Haible  <bruno@clisp.org>
1223
1224         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
1225         * modules/snprintf-posix-tests (configure.ac): Require
1226         gl_LONG_DOUBLE_VS_DOUBLE.
1227         * modules/sprintf-posix-tests (configure.ac): Likewise.
1228         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
1229         * modules/vasprintf-posix-tests (configure.ac): Likewise.
1230         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
1231         * modules/vsprintf-posix-tests (configure.ac): Likewise.
1232         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
1233         tests on platforms where 'long double' is the same as 'double'.
1234         * tests/test-sprintf-posix.h (test_function): Likewise.
1235         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1236         * tests/test-vasprintf-posix.c (test_function): Likewise.
1237
1238         *printf: Fix for platforms where 'long double' == 'double'.
1239         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1240         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
1241         * modules/dprintf-posix (Files): Add m4/math_h.m4.
1242         * modules/fprintf-posix (Files): Likewise.
1243         * modules/obstack-printf-posix (Files): Likewise.
1244         * modules/snprintf-posix (Files): Likewise.
1245         * modules/sprintf-posix (Files): Likewise.
1246         * modules/vasnprintf (Files): Likewise.
1247         * modules/vasnprintf-posix (Files): Likewise.
1248         * modules/vasprintf-posix (Files): Likewise.
1249         * modules/vdprintf-posix (Files): Likewise.
1250         * modules/vfprintf-posix (Files): Likewise.
1251         * modules/vsnprintf-posix (Files): Likewise.
1252         * modules/vsprintf-posix (Files): Likewise.
1253         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1254         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1255         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1256         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1257         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1258         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1259         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1260
1261         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
1262         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
1263         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1264         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
1265         'long double'.
1266         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
1267
1268         isinf: Fix for platforms where 'long double' == 'double'.
1269         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1270         Don't blindly assume 80-bit 'long double'.
1271
1272         isfinite: Fix for platforms where 'long double' == 'double'.
1273         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1274         Don't blindly assume 80-bit 'long double'.
1275
1276         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
1277         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
1278         * modules/isfinite-tests (configure.ac): Require
1279         gl_LONG_DOUBLE_VS_DOUBLE.
1280         * modules/isinf-tests (configure.ac): Likewise.
1281         * modules/isnan-tests (configure.ac): Likewise.
1282         * modules/isnanl-tests (configure.ac): Likewise.
1283         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
1284         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
1285         tests on platforms where 'long double' is the same as 'double'.
1286         * tests/test-isinf.c (test_isinfl): Likewise.
1287         * tests/test-isnan.c (test_long_double): Likewise.
1288         * tests/test-isnanl.h (main): Likewise.
1289
1290 2011-10-08  Bruno Haible  <bruno@clisp.org>
1291
1292         Tests for module 'tanhf'.
1293         * modules/tanhf-tests: New file.
1294         * tests/test-tanhf.c: New file.
1295
1296         New module 'tanhf'.
1297         * lib/math.in.h (tanhf): New declaration.
1298         * lib/tanhf.c: New file.
1299         * m4/tanhf.m4: New file.
1300         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
1301         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
1302         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
1303         * modules/tanhf: New file.
1304         * tests/test-math-c++.cc: Check the declaration of tanhf.
1305         * doc/posix-functions/tanhf.texi: Mention the new module.
1306
1307         tanh: Use a .m4 file.
1308         * m4/tanh.m4: New file.
1309         * modules/tanh (Files): Add it.
1310         (configure.ac): Just invoke gl_FUNC_TANH.
1311
1312 2011-10-08  Bruno Haible  <bruno@clisp.org>
1313
1314         Tests for module 'coshf'.
1315         * modules/coshf-tests: New file.
1316         * tests/test-coshf.c: New file.
1317
1318         New module 'coshf'.
1319         * lib/math.in.h (coshf): New declaration.
1320         * lib/coshf.c: New file.
1321         * m4/coshf.m4: New file.
1322         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
1323         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
1324         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
1325         * modules/coshf: New file.
1326         * tests/test-math-c++.cc: Check the declaration of coshf.
1327         * doc/posix-functions/coshf.texi: Mention the new module.
1328
1329         cosh: Use a .m4 file.
1330         * m4/cosh.m4: New file.
1331         * modules/cosh (Files): Add it.
1332         (configure.ac): Just invoke gl_FUNC_COSH.
1333
1334 2011-10-08  Bruno Haible  <bruno@clisp.org>
1335
1336         Tests for module 'sinhf'.
1337         * modules/sinhf-tests: New file.
1338         * tests/test-sinhf.c: New file.
1339
1340         New module 'sinhf'.
1341         * lib/math.in.h (sinhf): New declaration.
1342         * lib/sinhf.c: New file.
1343         * m4/sinhf.m4: New file.
1344         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
1345         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
1346         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
1347         * modules/sinhf: New file.
1348         * tests/test-math-c++.cc: Check the declaration of sinhf.
1349         * doc/posix-functions/sinhf.texi: Mention the new module.
1350
1351         sinh: Use a .m4 file.
1352         * m4/sinh.m4: New file.
1353         * modules/sinh (Files): Add it.
1354         (configure.ac): Just invoke gl_FUNC_SINH.
1355
1356 2011-10-08  Bruno Haible  <bruno@clisp.org>
1357
1358         Tests for module 'atan2f'.
1359         * modules/atan2f-tests: New file.
1360         * tests/test-atan2f.c: New file.
1361
1362         New module 'atan2f'.
1363         * lib/math.in.h (atan2f): New declaration.
1364         * lib/atan2f.c: New file.
1365         * m4/atan2f.m4: New file.
1366         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
1367         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
1368         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
1369         * modules/atan2f: New file.
1370         * tests/test-math-c++.cc: Check the declaration of atan2f.
1371         * doc/posix-functions/atan2f.texi: Mention the new module.
1372
1373         atan2: Use a .m4 file.
1374         * m4/atan2.m4: New file.
1375         * modules/atan2 (Files): Add it.
1376         (configure.ac): Just invoke gl_FUNC_ATAN2.
1377
1378 2011-10-08  Bruno Haible  <bruno@clisp.org>
1379
1380         Tests for module 'atanf'.
1381         * modules/atanf-tests: New file.
1382         * tests/test-atanf.c: New file.
1383
1384         New module 'atanf'.
1385         * lib/math.in.h (atanf): New declaration.
1386         * lib/atanf.c: New file.
1387         * m4/atanf.m4: New file.
1388         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
1389         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
1390         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
1391         * modules/atanf: New file.
1392         * tests/test-math-c++.cc: Check the declaration of atanf.
1393         * doc/posix-functions/atanf.texi: Mention the new module.
1394
1395         atan: Use a .m4 file.
1396         * m4/atan.m4: New file.
1397         * modules/atan (Files): Add it.
1398         (configure.ac): Just invoke gl_FUNC_ATAN.
1399
1400 2011-10-08  Bruno Haible  <bruno@clisp.org>
1401
1402         Tests for module 'acosf'.
1403         * modules/acosf-tests: New file.
1404         * tests/test-acosf.c: New file.
1405
1406         New module 'acosf'.
1407         * lib/math.in.h (acosf): New declaration.
1408         * lib/acosf.c: New file.
1409         * m4/acosf.m4: New file.
1410         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
1411         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
1412         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
1413         * modules/acosf: New file.
1414         * tests/test-math-c++.cc: Check the declaration of acosf.
1415         * doc/posix-functions/acosf.texi: Mention the new module.
1416
1417         acos: Use a .m4 file.
1418         * m4/acos.m4: New file.
1419         * modules/acos (Files): Add it.
1420         (configure.ac): Just invoke gl_FUNC_ACOS.
1421
1422 2011-10-08  Bruno Haible  <bruno@clisp.org>
1423
1424         Tests for module 'asinf'.
1425         * modules/asinf-tests: New file.
1426         * tests/test-asinf.c: New file.
1427
1428         New module 'asinf'.
1429         * lib/math.in.h (asinf): New declaration.
1430         * lib/asinf.c: New file.
1431         * m4/asinf.m4: New file.
1432         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
1433         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
1434         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
1435         * modules/asinf: New file.
1436         * tests/test-math-c++.cc: Check the declaration of asinf.
1437         * doc/posix-functions/asinf.texi: Mention the new module.
1438
1439         asin: Use a .m4 file.
1440         * m4/asin.m4: New file.
1441         * modules/asin (Files): Add it.
1442         (configure.ac): Just invoke gl_FUNC_ASIN.
1443
1444 2011-10-08  Bruno Haible  <bruno@clisp.org>
1445
1446         Tests for module 'tanf'.
1447         * modules/tanf-tests: New file.
1448         * tests/test-tanf.c: New file.
1449
1450         New module 'tanf'.
1451         * lib/math.in.h (tanf): New declaration.
1452         * lib/tanf.c: New file.
1453         * m4/tanf.m4: New file.
1454         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
1455         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
1456         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
1457         * modules/tanf: New file.
1458         * tests/test-math-c++.cc: Check the declaration of tanf.
1459         * doc/posix-functions/tanf.texi: Mention the new module.
1460
1461         tan: Use a .m4 file.
1462         * m4/tan.m4: New file.
1463         * modules/tan (Files): Add it.
1464         (configure.ac): Just invoke gl_FUNC_TAN.
1465
1466 2011-10-08  Bruno Haible  <bruno@clisp.org>
1467
1468         Tests for module 'cosf'.
1469         * modules/cosf-tests: New file.
1470         * tests/test-cosf.c: New file.
1471
1472         New module 'cosf'.
1473         * lib/math.in.h (cosf): New declaration.
1474         * lib/cosf.c: New file.
1475         * m4/cosf.m4: New file.
1476         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1477         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1478         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1479         * modules/cosf: New file.
1480         * tests/test-math-c++.cc: Check the declaration of cosf.
1481         * doc/posix-functions/cosf.texi: Mention the new module.
1482
1483         cos: Use a .m4 file.
1484         * m4/cos.m4: New file.
1485         * modules/cos (Files): Add it.
1486         (configure.ac): Just invoke gl_FUNC_COS.
1487
1488 2011-10-08  Bruno Haible  <bruno@clisp.org>
1489
1490         Tests for module 'sinf'.
1491         * modules/sinf-tests: New file.
1492         * tests/test-sinf.c: New file.
1493
1494         New module 'sinf'.
1495         * lib/math.in.h (sinf): New declaration.
1496         * lib/sinf.c: New file.
1497         * m4/sinf.m4: New file.
1498         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1499         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1500         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1501         * modules/sinf: New file.
1502         * tests/test-math-c++.cc: Check the declaration of sinf.
1503         * doc/posix-functions/sinf.texi: Mention the new module.
1504
1505         sin: Use a .m4 file.
1506         * m4/sin.m4: New file.
1507         * modules/sin (Files): Add it.
1508         (configure.ac): Just invoke gl_FUNC_SIN.
1509
1510 2011-10-08  Bruno Haible  <bruno@clisp.org>
1511
1512         Tests for module 'powf'.
1513         * modules/powf-tests: New file.
1514         * tests/test-powf.c: New file.
1515
1516         New module 'powf'.
1517         * lib/math.in.h (powf): New declaration.
1518         * lib/powf.c: New file.
1519         * m4/powf.m4: New file.
1520         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1521         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1522         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1523         * modules/powf: New file.
1524         * tests/test-math-c++.cc: Check the declaration of powf.
1525         * doc/posix-functions/powf.texi: Mention the new module.
1526
1527         pow: Use a .m4 file.
1528         * m4/pow.m4: New file.
1529         * modules/pow (Files): Add it.
1530         (configure.ac): Just invoke gl_FUNC_POW.
1531
1532 2011-10-08  Bruno Haible  <bruno@clisp.org>
1533
1534         Tests for module 'log10f'.
1535         * modules/log10f-tests: New file.
1536         * tests/test-log10f.c: New file.
1537
1538         New module 'log10f'.
1539         * lib/math.in.h (log10f): New declaration.
1540         * lib/log10f.c: New file.
1541         * m4/log10f.m4: New file.
1542         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
1543         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
1544         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
1545         * modules/log10f: New file.
1546         * tests/test-math-c++.cc: Check the declaration of log10f.
1547         * doc/posix-functions/log10f.texi: Mention the new module.
1548
1549         log10: Use a .m4 file.
1550         * m4/log10.m4: New file.
1551         * modules/log10 (Files): Add it.
1552         (configure.ac): Just invoke gl_FUNC_LOG10.
1553
1554 2011-10-08  Bruno Haible  <bruno@clisp.org>
1555
1556         Tests for module 'logf'.
1557         * modules/logf-tests: New file.
1558         * tests/test-logf.c: New file.
1559
1560         New module 'logf'.
1561         * lib/math.in.h (logf): New declaration.
1562         * lib/logf.c: New file.
1563         * m4/logf.m4: New file.
1564         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
1565         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
1566         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
1567         * modules/logf: New file.
1568         * tests/test-math-c++.cc: Check the declaration of logf.
1569         * doc/posix-functions/logf.texi: Mention the new module.
1570
1571         log: Use a .m4 file.
1572         * m4/log.m4: New file.
1573         * modules/log (Files): Add it.
1574         (configure.ac): Just invoke gl_FUNC_LOG.
1575
1576 2011-10-08  Bruno Haible  <bruno@clisp.org>
1577
1578         Tests for module 'expf'.
1579         * modules/expf-tests: New file.
1580         * tests/test-expf.c: New file.
1581
1582         New module 'expf'.
1583         * lib/math.in.h (expf): New declaration.
1584         * lib/expf.c: New file.
1585         * m4/expf.m4: New file.
1586         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
1587         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
1588         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
1589         * modules/expf: New file.
1590         * tests/test-math-c++.cc: Check the declaration of expf.
1591         * doc/posix-functions/expf.texi: Mention the new module.
1592
1593         exp: Use a .m4 file.
1594         * m4/exp.m4: New file.
1595         * modules/exp (Files): Add it.
1596         (configure.ac): Just invoke gl_FUNC_EXP.
1597
1598 2011-10-08  Bruno Haible  <bruno@clisp.org>
1599
1600         Tests for module 'sqrtf'.
1601         * modules/sqrtf-tests: New file.
1602         * tests/test-sqrtf.c: New file.
1603
1604         New module 'sqrtf'.
1605         * lib/math.in.h (sqrtf): New declaration.
1606         * lib/sqrtf.c: New file.
1607         * m4/sqrtf.m4: New file.
1608         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
1609         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
1610         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
1611         * modules/sqrtf: New file.
1612         * tests/test-math-c++.cc: Check the declaration of sqrtf.
1613         * doc/posix-functions/sqrtf.texi: Mention the new module.
1614
1615 2011-10-08  Bruno Haible  <bruno@clisp.org>
1616
1617         Tests: Avoid link failures w.r.t. libintl.
1618         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
1619         $(LIBINTL).
1620         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
1621         $(LIBINTL).
1622         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
1623         against $(LIBINTL).
1624         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
1625         $(LIBINTL).
1626         * modules/openat-tests (Makefile.am): Link test-fchmodat against
1627         $(LIBINTL).
1628         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
1629
1630 2011-10-08  Bruno Haible  <bruno@clisp.org>
1631
1632         pow tests: Defeat compiler optimizations.
1633         * tests/test-pow.c (main): Assign arguments to x and y before use.
1634
1635 2011-10-08  Bruno Haible  <bruno@clisp.org>
1636
1637         gnulib-tool: Improve last commit.
1638         * gnulib-tool (func_modules_transitive_closure): Simplify code.
1639         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
1640         ignore dependencies that are not among the modules list.
1641
1642 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
1643
1644         gnulib-tool: don't follow dependencies to avoided modules
1645         This fixes a bug that is related to the previous one.
1646         * gnulib-tool (func_modules_transitive_closure)
1647         (func_emit_autoconf_snippets):
1648         Check whether a dependency is acceptable before using it.
1649         (--extract-dependencies): Report an error if --avoid is also used,
1650         since this combination of options is not yet supported.
1651
1652         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
1653         Problem reported by Peter Dyballa in
1654         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
1655         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
1656         when echoing "$condition".
1657
1658 2011-10-07  Bruno Haible  <bruno@clisp.org>
1659
1660         Fix documentation about math functions on MacOS X.
1661         * doc/posix-functions/exp2.texi: Don't say the function is missing on
1662         MacOS X 10.5.
1663         * doc/posix-functions/fdim.texi: Likewise.
1664         * doc/posix-functions/feclearexcept.texi: Likewise.
1665         * doc/posix-functions/fegetenv.texi: Likewise.
1666         * doc/posix-functions/fegetround.texi: Likewise.
1667         * doc/posix-functions/feholdexcept.texi: Likewise.
1668         * doc/posix-functions/feraiseexcept.texi: Likewise.
1669         * doc/posix-functions/fesetenv.texi: Likewise.
1670         * doc/posix-functions/fesetround.texi: Likewise.
1671         * doc/posix-functions/fetestexcept.texi: Likewise.
1672         * doc/posix-functions/feupdateenv.texi: Likewise.
1673         * doc/posix-functions/fmax.texi: Likewise.
1674         * doc/posix-functions/fmin.texi: Likewise.
1675         * doc/posix-functions/log2.texi: Likewise.
1676         * doc/posix-functions/modff.texi: Likewise.
1677         * doc/posix-functions/nan.texi: Likewise.
1678         * doc/posix-functions/nanf.texi: Likewise.
1679         * doc/posix-functions/nextafterf.texi: Likewise.
1680         * doc/posix-functions/remquo.texi: Likewise.
1681
1682 2011-10-07  Bruno Haible  <bruno@clisp.org>
1683
1684         modff: Drop assumption about library that defines modff.
1685         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
1686         AC_CHECK_FUNCS.
1687         * modules/modff (Files): Add m4/mathfunc.m4.
1688
1689 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
1690
1691         raise tests: Avoid a GCC warning.
1692         * tests/test-raise.c (handler): Use _Noreturn.
1693
1694 2011-10-07  Bruno Haible  <bruno@clisp.org>
1695
1696         Tests for module 'ldexpf'.
1697         * modules/ldexpf-tests: New file.
1698         * tests/test-ldexpf.c: New file.
1699
1700         New module 'ldexpf'.
1701         * lib/math.in.h (ldexpf): New declaration.
1702         * lib/ldexpf.c: New file.
1703         * m4/ldexpf.m4: New file.
1704         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
1705         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
1706         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
1707         * modules/ldexpf: New file.
1708         * tests/test-math-c++.cc: Check the declaration of ldexpf.
1709         * doc/posix-functions/ldexpf.texi: Mention the new module.
1710
1711 2011-10-06  Bruno Haible  <bruno@clisp.org>
1712
1713         frexpf: Work around problems on IRIX and mingw.
1714         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
1715         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
1716         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
1717         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
1718         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
1719         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
1720         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
1721
1722 2011-10-06  Bruno Haible  <bruno@clisp.org>
1723
1724         fabsf: Drop assumption about library that defines fabsf.
1725         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
1726         AC_CHECK_FUNCS.
1727         * modules/fabsf (Files): Add m4/mathfunc.m4.
1728
1729 2011-10-06  Bruno Haible  <bruno@clisp.org>
1730
1731         frexpf: Drop assumption about library that defines frexpf.
1732         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
1733         'int *', 'float *', 'long double *', 'float', 'long double'.
1734         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
1735         AC_CHECK_FUNCS.
1736         * modules/frexpf (Files): Add m4/mathfunc.m4.
1737
1738         Tests for module 'frexpf'.
1739         * modules/frexpf-tests: New file.
1740         * tests/test-frexpf.c: New file.
1741
1742         New module 'frexpf'.
1743         * lib/math.in.h (frexpf): New declaration.
1744         * lib/frexpf.c: New file.
1745         * m4/frexpf.m4: New file.
1746         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
1747         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
1748         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
1749         * modules/frexpf: New file.
1750         * tests/test-math-c++.cc: Check the declaration of frexpf.
1751         * doc/posix-functions/frexpf.texi: Mention the new module.
1752
1753 2011-10-06  Bruno Haible  <bruno@clisp.org>
1754
1755         math: Sort function declarations of math.in.h.
1756         * lib/math.in.h (frexp, logb): Move declarations.
1757
1758 2011-10-05  Bruno Haible  <bruno@clisp.org>
1759
1760         Tests for module 'modff'.
1761         * modules/modff-tests: New file.
1762         * tests/test-modff.c: New file.
1763
1764         New module 'modff'.
1765         * lib/math.in.h (modff): New declaration.
1766         * lib/modff.c: New file.
1767         * m4/modff.m4: New file.
1768         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
1769         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
1770         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
1771         * modules/modff: New file.
1772         * tests/test-math-c++.cc: Check the declaration of modff.
1773         * doc/posix-functions/modff.texi: Mention the new module.
1774
1775         modf tests: Make test sharper.
1776         * tests/test-modf.c (main): Strengthen upper bound.
1777
1778         modf: Use a .m4 file.
1779         * m4/modf.m4: New file.
1780         * modules/modf (Files): Add it.
1781         (configure.ac): Just invoke gl_FUNC_MODF.
1782
1783 2011-10-05  Bruno Haible  <bruno@clisp.org>
1784
1785         Tests for module 'fmodf'.
1786         * modules/fmodf-tests: New file.
1787         * tests/test-fmodf.c: New file.
1788
1789         New module 'fmodf'.
1790         * lib/math.in.h (fmodf): New declaration.
1791         * lib/fmodf.c: New file.
1792         * m4/fmodf.m4: New file.
1793         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
1794         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
1795         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
1796         * modules/fmodf: New file.
1797         * tests/test-math-c++.cc: Check the declaration of fmodf.
1798         * doc/posix-functions/fmodf.texi: Mention the new module.
1799
1800         fmod: Use a .m4 file.
1801         * m4/fmod.m4: New file.
1802         * modules/fmod (Files): Add it.
1803         (configure.ac): Just invoke gl_FUNC_FMOD.
1804
1805 2011-10-05  Bruno Haible  <bruno@clisp.org>
1806
1807         Tests for module 'fabsf'.
1808         * modules/fabsf-tests: New file.
1809         * tests/test-fabsf.c: New file.
1810
1811         New module 'fabsf'.
1812         * lib/math.in.h (fabsf): New declaration.
1813         * lib/fabsf.c: New file.
1814         * m4/fabsf.m4: New file.
1815         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
1816         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
1817         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
1818         * modules/fabsf: New file.
1819         * tests/test-math-c++.cc: Check the declaration of fabsf.
1820         * doc/posix-functions/fabsf.texi: Mention the new module.
1821
1822         fabs: Use a .m4 file.
1823         * m4/fabs.m4: New file.
1824         * modules/fabs (Files): Add it.
1825         (configure.ac): Just invoke gl_FUNC_FABS.
1826
1827 2011-10-05  Jim Meyering  <meyering@redhat.com>
1828
1829         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
1830         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
1831         ls -lL regression introduced in coreutils-8.12, it does so at the
1832         cost of an additional stat call in the common case.  Besides, now
1833         that the kernel change that prompted commit 95f7c57f has been reverted
1834         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
1835         we have no use for commit 95f7c57f, "file-has-acl: use
1836         acl_extended_file_nofollow if available".
1837
1838 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
1839
1840         file-has-acl: revert unintended change in behavior of ls -L
1841         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
1842         derived from...
1843         (file_has_acl): ...code here.  Call it.
1844         This problem was introduced with 2011-07-22 commit 95f7c57f,
1845         "file-has-acl: use acl_extended_file_nofollow if available".
1846         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
1847
1848 2011-10-03  Bruno Haible  <bruno@clisp.org>
1849
1850         poll: Avoid link errors on MSVC.
1851         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
1852         * modules/poll (Depends-on): Add sockets.
1853         (Link): New section.
1854         * NEWS: Mention the change.
1855         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
1856         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
1857         $(LIB_POLL) instead of $(LIBSOCKET).
1858
1859 2011-10-03  Bruno Haible  <bruno@clisp.org>
1860
1861         sys_select tests: Fix link error on MSVC 9.
1862         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
1863         with $(LIB_SELECT) instead of $(LIBSOCKET).
1864
1865 2011-10-03  Bruno Haible  <bruno@clisp.org>
1866
1867         sys_select: Fix compilation error on mingw.
1868         * lib/sys_select.in.h: On native Windows, include <io.h>.
1869
1870 2011-10-03  Bruno Haible  <bruno@clisp.org>
1871
1872         wmemset: Support for MSVC.
1873         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
1874         whether wmemset() exists.
1875
1876 2011-10-03  Bruno Haible  <bruno@clisp.org>
1877
1878         wmemmove: Support for MSVC.
1879         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
1880         whether wmemmove() exists.
1881
1882 2011-10-03  Bruno Haible  <bruno@clisp.org>
1883
1884         wmemcpy: Support for MSVC.
1885         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
1886         whether wmemcpy() exists.
1887
1888 2011-10-03  Bruno Haible  <bruno@clisp.org>
1889
1890         wmemcmp: Support for MSVC.
1891         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
1892         whether wmemcmp() exists.
1893
1894 2011-10-03  Bruno Haible  <bruno@clisp.org>
1895
1896         wmemchr: Support for MSVC.
1897         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
1898         whether wmemchr() exists.
1899
1900 2011-10-03  Bruno Haible  <bruno@clisp.org>
1901
1902         glthread/*, strsignal: Support for MSVC.
1903         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
1904         including <winsock.h> on MSVC 9.
1905         * lib/glthread/lock.h: Likewise.
1906         * lib/glthread/thread.h: Likewise.
1907         * lib/glthread/tls.h: Likewise.
1908         * lib/glthread/yield.h: Likewise.
1909         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
1910         if HAVE_UNISTD_H is false.
1911         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
1912
1913 2011-10-03  Bruno Haible  <bruno@clisp.org>
1914
1915         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
1916         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
1917         Set to 100000.
1918
1919 2011-10-03  Bruno Haible  <bruno@clisp.org>
1920
1921         acl: Fix specification.
1922         * lib/file-has-acl.c (file_has_acl): Fix specification.
1923
1924 2011-10-03  Bruno Haible  <bruno@clisp.org>
1925
1926         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
1927         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
1928         (compute_curr_prefix, shared_library_fullname,
1929         find_shared_library_fullname, get_shared_library_fullname, relocate):
1930         Use it together with PIC && INSTALLDIR.
1931         Reported by <jojelino@gmail.com>
1932         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
1933
1934 2011-10-01  Jim Meyering  <meyering@redhat.com>
1935
1936         maint.mk: adjust a release-related rule not to require use of gzip
1937         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
1938         Instead, check each file in $(DIST_ARCHIVES).  This is better for
1939         projects that build only .tar.xz files.  Also fix an erroneous test.
1940
1941         test-linkat: don't leave behind a temporary file
1942         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
1943         Otherwise, coreutils' "make distcheck" would fail with this:
1944           Only in /c/cu/tests/torture/coreutils/test/\
1945             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
1946           make[2]: *** [my-distcheck] Error 1
1947
1948         float, math: add omitted file
1949         * lib/itold.c: Add file, required for yesterday's float change.
1950
1951 2011-10-01  Bruno Haible  <bruno@clisp.org>
1952
1953         isinf: Fix for OpenBSD/x86.
1954         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
1955         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
1956         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
1957
1958 2011-10-01  Bruno Haible  <bruno@clisp.org>
1959
1960         isfinite: Fix syntax error in configure test.
1961         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
1962
1963         isfinite: Fix typo.
1964         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
1965         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
1966
1967 2011-10-01  Bruno Haible  <bruno@clisp.org>
1968
1969         nonblocking tests: Fix test failure on Linux/IA-64.
1970         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
1971         Set to 270000.
1972
1973 2011-10-01  Bruno Haible  <bruno@clisp.org>
1974
1975         mkfifoat tests: Fix a test failure on mingw.
1976         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
1977         with error ENOSYS.
1978
1979 2011-09-30  Bruno Haible  <bruno@clisp.org>
1980
1981         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
1982         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
1983         'long double'. Set REPLACE_ITOLD.
1984         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
1985         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
1986         * lib/itold.c: New file.
1987         * modules/float (Files): Add lib/itold.c.
1988         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
1989         (Makefile.am): Substitute REPLACE_ITOLD.
1990         * modules/math (Depends-on): Add float.
1991         (Makefile.am): Substitute REPLACE_ITOLD.
1992         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
1993         * doc/posix-headers/math.texi: Likewise.
1994         * doc/posix-functions/logl.texi: Likewise.
1995
1996 2011-09-30  Bruno Haible  <bruno@clisp.org>
1997
1998         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
1999         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
2000         Set to 140000.
2001
2002 2011-09-30  Bruno Haible  <bruno@clisp.org>
2003
2004         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
2005         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
2006         invocation, say "right after AC_PROG_CC_STDC", not "right after
2007         AC_PROG_CC".
2008         Reported by Gary V. Vaughan <gary@gnu.org>.
2009
2010 2011-09-30  Bruno Haible  <bruno@clisp.org>
2011
2012         Centralize C99 requirement.
2013         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
2014         * modules/stdarg (configure.ac-early): Invoke it instead of
2015         AC_PROG_CC_STDC.
2016         Reported by Gary V. Vaughan and Paul Eggert.
2017
2018 2011-09-29  Bruno Haible  <bruno@clisp.org>
2019
2020         float: Fix LDBL_MAX value on Linux/PowerPC.
2021         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
2022         on Linux/PowerPC.
2023         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
2024         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
2025         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
2026         platform.
2027         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
2028
2029 2011-09-29  Bruno Haible  <bruno@clisp.org>
2030
2031         doc: Improve doc about gl_EARLY.
2032         * doc/gnulib-tool.texi (Initial import): Mention where to place an
2033         AC_PROG_CC_STDC invocation.
2034         Reported by Gary V. Vaughan <gary@gnu.org>.
2035
2036 2011-09-28  Bruno Haible  <bruno@clisp.org>
2037
2038         fgetc, fputc, fread, fwrite tests: Fix link error.
2039         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
2040         on non-MSVC platforms.
2041         * tests/test-fputc.c (main): Likewise.
2042         * tests/test-fread.c (main): Likewise.
2043         * tests/test-fwrite.c (main): Likewise.
2044         Reported by Jim Meyering.
2045
2046 2011-09-27  Bruno Haible  <bruno@clisp.org>
2047
2048         fputc, fwrite tests: Avoid test failure on MSVC.
2049         * tests/test-fgetc.c: Include msvc-inval.h.
2050         (main): Invoke gl_msvc_inval_ensure_handler.
2051         * tests/test-fputc.c: Include msvc-inval.h.
2052         (main): Invoke gl_msvc_inval_ensure_handler.
2053         * tests/test-fread.c: Include msvc-inval.h.
2054         (main): Invoke gl_msvc_inval_ensure_handler.
2055         * tests/test-fwrite.c: Include msvc-inval.h.
2056         (main): Invoke gl_msvc_inval_ensure_handler.
2057         * modules/fgetc-tests (Depends-on): Add msvc-inval.
2058         * modules/fputc-tests (Depends-on): Likewise.
2059         * modules/fread-tests (Depends-on): Likewise.
2060         * modules/fwrite-tests (Depends-on): Likewise.
2061
2062 2011-09-27  Bruno Haible  <bruno@clisp.org>
2063
2064         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
2065         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
2066         (raise): Remove older, duplicated declaration.
2067         (_gl_raise_SIGPIPE): New declaration.
2068         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
2069         (rpl_raise): Remove function.
2070         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
2071         a gnulib-defined SIGPIPE here.
2072         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
2073         'sigprocmask' has detected missing signal-blocking and the module
2074         'sigpipe' is enabled.
2075         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2076
2077 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
2078
2079         base64-tests: avoid memory leak
2080         * tests/test-base64.c (main): Plug memory leak.
2081
2082         base32: new module
2083         * modules/base32: New module.
2084         * lib/base32.c: New file.
2085         * lib/base32.h: Likewise.
2086         * m4/base32.m4: Likewise.
2087         * modules/base32-tests: New test.
2088         * tests/test-base32.c: Likewise.
2089         * MODULES.html.sh (Misc): Mention it.
2090
2091 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2092
2093         gnulib: use more-standard license notice wording
2094         * gnulib-tool (func_emit_copyright_notice): When emitting a
2095         license notice into a file, use the standard wording as suggested
2096         by the current information for GNU maintainers, except say "file"
2097         rather than "program".  The new wording gives a license version
2098         number, which addresses an issue raised by Glenn Morris in
2099         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
2100         * m4/onceonly.m4: Use that same wording here, too.
2101
2102         dup2: minor simplification
2103         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
2104         as lib/dup2.c no longer uses 'inline'.
2105
2106 2011-09-25  Bruno Haible  <bruno@clisp.org>
2107
2108         strings: Fix compilation error on MSVC.
2109         * lib/strings.in.h: Include <stddef.h> for size_t.
2110
2111 2011-09-25  Bruno Haible  <bruno@clisp.org>
2112
2113         fflush et al.: Document limitation on MSVC.
2114         * doc/posix-functions/fflush.texi: Document possible crash in handling
2115         mode other than DEFAULT_HANDLING.
2116         * doc/posix-functions/fgetc.texi: Likewise.
2117         * doc/posix-functions/fputc.texi: Likewise.
2118         * doc/posix-functions/fread.texi: Likewise.
2119         * doc/posix-functions/fwrite.texi: Likewise.
2120
2121 2011-09-25  Bruno Haible  <bruno@clisp.org>
2122
2123         msvc-inval: Allow three invalid parameter handling modes.
2124         * lib/msvc-inval.h: Don't include <stdlib.h> here.
2125         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
2126         macros.
2127         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
2128         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
2129         SANE_LIBRARY_HANDLING as a no-op.
2130         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
2131         <stdlib.h>.
2132         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
2133
2134 2011-09-25  Bruno Haible  <bruno@clisp.org>
2135
2136         msvc-inval: Make handler multithread-safe.
2137         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
2138         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
2139         declarations.
2140         (gl_msvc_inval_current): New declaration.
2141         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2142         Operate on the structure returned by gl_msvc_inval_current().
2143         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
2144         Remove varaiables.
2145         (tls_index, tls_initialized): New variables.
2146         (not_per_thread): New variable.
2147         (gl_msvc_inval_current): New function.
2148         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
2149         returned by gl_msvc_inval_current().
2150
2151 2011-09-25  Bruno Haible  <bruno@clisp.org>
2152
2153         msvc-inval: Install handler globally.
2154         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
2155         !_MSC_VER.
2156         (gl_msvc_invalid_parameter_handler): Remove declaration.
2157         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
2158         declarations.
2159         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2160         Install the handler globally, don't uninstall it.
2161         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
2162         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
2163         currently valid, call RaiseException instead.
2164         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
2165         for !_MSC_VER.
2166
2167 2011-09-25  Bruno Haible  <bruno@clisp.org>
2168
2169         strerror_r-posix: Fix for MSVC 9.
2170         * lib/strerror_r.c (local_snprintf): New function.
2171         (snprintf): Define to local_snprintf, not to _snprintf.
2172
2173 2011-09-25  Bruno Haible  <bruno@clisp.org>
2174
2175         ftruncate: Support for MSVC 9.
2176         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
2177         (chsize_nothrow): New function.
2178         (chsize): Redefine as a macro.
2179         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
2180         * modules/ftruncate (Depends-on): Add msvc-inval.
2181
2182 2011-09-25  Bruno Haible  <bruno@clisp.org>
2183
2184         New module 'fstat'.
2185         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
2186         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
2187         * lib/fchdir.c (rpl_fstat): Remove function.
2188         * m4/fstat.m4: New file.
2189         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
2190         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
2191         declared.
2192         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
2193         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
2194         * modules/fstat: New file.
2195         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
2196         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
2197         is set.
2198         * doc/posix-functions/fstat.texi: Mention the new module and the
2199         problem on MSVC.
2200         * NEWS: Mention the change.
2201         * modules/acl (Depends-on): Add fstat.
2202         * modules/chdir-safer (Depends-on): Likewise.
2203         * modules/chown (Depends-on): Likewise.
2204         * modules/copy-file (Depends-on): Likewise.
2205         * modules/fchdir (Depends-on): Likewise.
2206         * modules/fdopendir (Depends-on): Likewise.
2207         * modules/fopen (Depends-on): Likewise.
2208         * modules/fts (Depends-on): Likewise.
2209         * modules/getcwd (Depends-on): Likewise.
2210         * modules/isapipe (Depends-on): Likewise.
2211         * modules/linkat (Depends-on): Likewise.
2212         * modules/lseek (Depends-on): Likewise.
2213         * modules/mkdir-p (Depends-on): Likewise.
2214         * modules/open (Depends-on): Likewise.
2215         * modules/openat (Depends-on): Likewise.
2216         * modules/read-file (Depends-on): Likewise.
2217         * modules/renameat (Depends-on): Likewise.
2218         * modules/utimens (Depends-on): Likewise.
2219
2220 2011-09-25  Bruno Haible  <bruno@clisp.org>
2221
2222         linkat: Fix compilation on MSVC 9.
2223         * lib/linkat.c: Don't include <stdint.h>.
2224
2225 2011-09-25  Bruno Haible  <bruno@clisp.org>
2226
2227         fclose: Support for MSVC 9.
2228         * lib/fclose.c: Include msvc-inval.h.
2229         (fclose_nothrow): New function.
2230         (rpl_fclose): Use it.
2231         * modules/fclose (Depends-on): Add msvc-inval.
2232         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
2233
2234 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2235
2236         dup2: minor simplifications
2237         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
2238         that it's a performance win.
2239         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
2240         ! defined __CYGWIN__)" to "ifdef F_GETFL".
2241
2242 2011-09-24  Jim Meyering  <meyering@redhat.com>
2243
2244         test-futimens: avoid a warning from gcc -Wshadow
2245         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
2246         to avoid a shadowing warning.
2247
2248 2011-09-24  Bruno Haible  <bruno@clisp.org>
2249
2250         fdopen: Support for MSVC 9.
2251         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
2252         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
2253         * lib/fdopen.c: Include msvc-inval.h.
2254         (fdopen_nothrow): New function.
2255         (rpl_fdopen): Use it.
2256         * modules/fdopen (Depends-on): Add msvc-inval.
2257         * modules/fclose-tests (Depends-on): Add fdopen.
2258         * modules/fflush-tests (Depends-on): Likewise.
2259         * modules/fgetc-tests (Depends-on): Likewise.
2260         * modules/fputc-tests (Depends-on): Likewise.
2261         * modules/fread-tests (Depends-on): Likewise.
2262         * modules/freopen-tests (Depends-on): Likewise.
2263         * modules/fseeko-tests (Depends-on): Likewise.
2264         * modules/ftello-tests (Depends-on): Likewise.
2265         * modules/fwrite-tests  (Depends-on): Likewise.
2266         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
2267
2268 2011-09-24  Bruno Haible  <bruno@clisp.org>
2269
2270         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
2271         * modules/fgetc-tests (Depends-on): Add unistd.
2272         * modules/fputc-tests (Depends-on): Likewise.
2273         * modules/fread-tests (Depends-on): Likewise.
2274         * modules/fwrite-tests (Depends-on): Likewise.
2275
2276 2011-09-24  Bruno Haible  <bruno@clisp.org>
2277
2278         dup: Simplify autoconf test.
2279         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
2280         on gl_MSVC_INVAL's result.
2281
2282 2011-09-24  Bruno Haible  <bruno@clisp.org>
2283
2284         Tests for function fwrite().
2285         * modules/fwrite-tests: New file.
2286         * tests/test-fwrite.c: New file.
2287         * modules/stdio-tests (Depends-on): Add fwrite-tests.
2288
2289         Tests for function fread().
2290         * modules/fread-tests: New file.
2291         * tests/test-fread.c: New file.
2292         * modules/stdio-tests (Depends-on): Add fread-tests.
2293
2294         Activate fputc tests.
2295         * modules/stdio-tests (Depends-on): Add fputc-tests.
2296
2297         Enhance fgetc, fputc tests.
2298         * tests/test-fgetc.c (main): Also test the stream's error indicator.
2299         * tests/test-fputc.c (main): Likewise.
2300
2301 2011-09-24  Bruno Haible  <bruno@clisp.org>
2302
2303         write: Support for MSVC 9.
2304         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2305         is not 1.
2306         * lib/write.c (write_nothrow): New function.
2307         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
2308         not 1. Use write_nothrow.
2309         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
2310         invalid parameter handler.
2311         (gl_PREREQ_WRITE): New macro.
2312         * modules/write (Depends-on): Add msvc-inval.
2313         (configure.ac): Invoke gl_PREREQ_WRITE.
2314         * doc/posix-functions/write.texi: Mention the problem on MSVC.
2315
2316 2011-09-24  Bruno Haible  <bruno@clisp.org>
2317
2318         read: Fix last commit.
2319         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
2320
2321 2011-09-24  Bruno Haible  <bruno@clisp.org>
2322
2323         dup2: Fix last commit.
2324         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
2325         (rpl_dup2): Disable fcntl workaround on native Windows.
2326
2327         sigprocmask: Make code safer.
2328         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
2329         section that changes macro definitions for this compilation unit.
2330
2331 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2332
2333         dup2: clarify by coalescing Windows-specific material
2334         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
2335         "msvc-nothrow.h"' to the Windows-specific section, so that the
2336         Emacs source need not contain these include files.
2337         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
2338         Windows-specific fixes into this function rather than just the
2339         nothrow fix, as this shortens and clarifies the code.  Always
2340         define as a function, as that's a bit cleaner than having it be
2341         sometimes a function and sometimes a macro.
2342         (rpl_dup2): Move the Windows-specific stuff out of here and into
2343         ms_windows_dup2.  Don't protect the Haiku-related fix with
2344         "#if !defined __linux__", as the same code also works around
2345         a Linux kernel bug, and it doesn't add any system calls on any
2346         platform.  Add comment about FreeBSD 6.1.
2347
2348         sigprocmask: move #include directive
2349         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
2350         Windows-specific section, so that the Emacs source need not
2351         contain msvc-inval.h.
2352
2353 2011-09-23  Bruno Haible  <bruno@clisp.org>
2354
2355         read: Support for MSVC 9.
2356         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2357         is not 1.
2358         * lib/read.c (read_nothrow): New function.
2359         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
2360         read_nothrow.
2361         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
2362         invalid parameter handler.
2363         (gl_PREREQ_READ): New macro.
2364         * modules/read (Depends-on): Add msvc-inval.
2365         (configure.ac): Invoke gl_PREREQ_READ.
2366         * doc/posix-functions/read.texi: Mention the problem on MSVC.
2367
2368 2011-09-23  Bruno Haible  <bruno@clisp.org>
2369
2370         close: Support for MSVC 9.
2371         * lib/close.c: Include <errno.h>, msvc-inval.h.
2372         (close_nothrow): New function.
2373         (rpl_close): Use it.
2374         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
2375         invalid parameter handler.
2376         * modules/close (Depends-on): Add msvc-inval.
2377         * modules/dup2-tests (Depends-on): Add close.
2378         * modules/dup3-tests (Depends-on): Likewise.
2379         * modules/fcntl-tests (Depends-on): Likewise.
2380         * modules/spawn-pipe-tests (Depends-on): Likewise.
2381         * modules/unistd-safer-tests (Depends-on): Likewise.
2382         * doc/posix-functions/close.texi: Mention the problem on MSVC.
2383
2384 2011-09-23  Bruno Haible  <bruno@clisp.org>
2385
2386         New module 'dup'.
2387         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
2388         Allow replacement.
2389         * lib/dup.c: New file.
2390         * lib/fchdir.c (rpl_dup): Remove function.
2391         * m4/dup.m4: New file.
2392         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
2393         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
2394         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
2395         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
2396         * modules/dup: New file.
2397         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
2398         'dup' module is in use.
2399         * modules/fdopendir (Depends-on): Add dup.
2400         * modules/fdutimensat-tests (Depends-on): Likewise.
2401         * modules/fts (Depends-on): Likewise.
2402         * modules/futimens-tests (Depends-on): Likewise.
2403         * modules/posix_spawnp-tests (Depends-on): Likewise.
2404         * modules/unistd-safer-tests (Depends-on): Likewise.
2405         * modules/utimens-tests (Depends-on): Likewise.
2406         * doc/posix-functions/dup.texi: Mention the new module and the problem
2407         on MSVC.
2408
2409 2011-09-23  Bruno Haible  <bruno@clisp.org>
2410
2411         getdtablesize: Support for MSVC 9.
2412         * lib/getdtablesize.c: Include msvc-inval.h.
2413         (_setmaxstdio_nothrow): New function.
2414         (_setmaxstdio): Redefine it.
2415         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
2416         * modules/getdtablesize (Depends-on): Add msvc-inval.
2417         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
2418
2419 2011-09-23  Bruno Haible  <bruno@clisp.org>
2420
2421         signal-h: Rename from signal.
2422         * modules/signal-h: Renamed from modules/signal.
2423         * modules/pthread_sigmask (Depends-on): Update.
2424         * modules/raise (Depends-on): Likewise.
2425         * modules/sigaction (Depends-on): Likewise.
2426         * modules/sigpipe (Depends-on): Likewise.
2427         * modules/sigprocmask (Depends-on): Likewise.
2428         * modules/sys_select (Depends-on): Likewise.
2429         * modules/signal-h-tests: Renamed from modules/signal-tests.
2430         (Files, Depends-on, Makefile.am): Update.
2431         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
2432         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
2433         (Files, Makefile.am): Update.
2434         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
2435         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
2436         * modules/signal: New placeholder file.
2437         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
2438         * doc/posix-headers/signal.texi: Update.
2439         * NEWS: Mention the change.
2440
2441 2011-09-23  Bruno Haible  <bruno@clisp.org>
2442
2443         sigprocmask: Avoid crashes through signal() on MSVC 9.
2444         * lib/sigprocmask.c: Include msvc-inval.h.
2445         (signal_nothrow): New function.
2446         (signal): Redefine it.
2447         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
2448         * modules/sigprocmask (Depends-on): Add msvc-inval.
2449         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
2450
2451 2011-09-23  Bruno Haible  <bruno@clisp.org>
2452
2453         Tests for module 'raise'.
2454         * modules/raise-tests: New file.
2455         * tests/test-raise.c: New file.
2456
2457         raise: Support for MSVC.
2458         * lib/signal.in.h (raise): New declaration.
2459         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
2460         for native Windows platforms.
2461         * m4/raise.m4: New file.
2462         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2463         HAVE_RAISE, REPLACE_RAISE.
2464         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2465         REPLACE_RAISE.
2466         * modules/raise (Status, Notice): Remove fields.
2467         (Files): Add m4/raise.m4.
2468         (Depends-on): Add signal, msvc-inval.
2469         (configure.ac): Use the common idioms.
2470         (Maintainer): Add me.
2471         * tests/test-signal-c++.cc: Check the signature of raise.
2472         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2473
2474 2011-09-23  Bruno Haible  <bruno@clisp.org>
2475
2476         pipe2: Fix compilation on pre-C99 compilers.
2477         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2478
2479 2011-09-23  Bruno Haible  <bruno@clisp.org>
2480
2481         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2482         * lib/msvc-nothrow.h: New file.
2483         * lib/msvc-nothrow.c: New file.
2484         * m4/msvc-nothrow.m4: New file.
2485         * modules/msvc-nothrow: New file.
2486         * lib/dup2.c: Include msvc-nothrow.h.
2487         (rpl_dup2): No need to protect _get_osfhandle call here.
2488         * lib/accept4.c: Include msvc-nothrow.h.
2489         * lib/error.c: Likewise.
2490         * lib/fcntl.c: Likewise.
2491         * lib/lseek.c: Likewise.
2492         * lib/nonblocking.c: Likewise.
2493         * lib/poll.c: Likewise.
2494         * lib/read.c: Likewise.
2495         * lib/select.c: Likewise.
2496         * lib/sockets.h: Likewise.
2497         * lib/sockets.c: Likewise.
2498         * lib/stdio-read.c: Likewise.
2499         * lib/stdio-write.c: Likewise.
2500         * lib/write.c: Likewise.
2501         * lib/w32sock.h: Likewise.
2502         * lib/w32spawn.h: Likewise.
2503         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2504         * lib/fsync.c: Likewise.
2505         * lib/isapipe.c: Likewise.
2506         * modules/dup2 (Depends-on): Add msvc-nothrow.
2507         * modules/accept4 (Depends-on): Likewise.
2508         * modules/error (Depends-on): Likewise.
2509         * modules/fcntl (Depends-on): Likewise.
2510         * modules/lseek (Depends-on): Likewise.
2511         * modules/nonblocking (Depends-on): Likewise.
2512         * modules/poll (Depends-on): Likewise.
2513         * modules/read (Depends-on): Likewise.
2514         * modules/select (Depends-on): Likewise.
2515         * modules/sockets (Depends-on): Likewise.
2516         * modules/sigpipe (Depends-on): Likewise.
2517         * modules/write (Depends-on): Likewise.
2518         * modules/accept (Depends-on): Likewise.
2519         * modules/bind (Depends-on): Likewise.
2520         * modules/connect (Depends-on): Likewise.
2521         * modules/gethostname (Depends-on): Likewise.
2522         * modules/getpeername (Depends-on): Likewise.
2523         * modules/getsockname (Depends-on): Likewise.
2524         * modules/getsockopt (Depends-on): Likewise.
2525         * modules/ioctl (Depends-on): Likewise.
2526         * modules/listen (Depends-on): Likewise.
2527         * modules/recv (Depends-on): Likewise.
2528         * modules/recvfrom (Depends-on): Likewise.
2529         * modules/send (Depends-on): Likewise.
2530         * modules/sendto (Depends-on): Likewise.
2531         * modules/setsockopt (Depends-on): Likewise.
2532         * modules/shutdown (Depends-on): Likewise.
2533         * modules/socket (Depends-on): Likewise.
2534         * modules/execute (Depends-on): Likewise.
2535         * modules/spawn-pipe (Depends-on): Likewise.
2536         * modules/flock (Depends-on): Likewise.
2537         * modules/fsync (Depends-on): Likewise.
2538         * modules/isapipe (Depends-on): Likewise.
2539         * tests/test-cloexec.c: Include msvc-nothrow.h.
2540         * tests/test-dup-safer.c: Likewise.
2541         * tests/test-dup2.c: Likewise.
2542         * tests/test-dup3.c: Likewise.
2543         * tests/test-fcntl.c: Likewise.
2544         * tests/test-pipe.c: Likewise.
2545         * tests/test-pipe2.c: Likewise.
2546         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
2547         * modules/unistd-safer-tests (Depends-on): Likewise.
2548         * modules/dup2-tests (Depends-on): Likewise.
2549         * modules/dup3-tests (Depends-on): Likewise.
2550         * modules/fcntl-tests (Depends-on): Likewise.
2551         * modules/pipe-posix-tests (Depends-on): Likewise.
2552         * modules/pipe2-tests (Depends-on): Likewise.
2553
2554 2011-09-23  Bruno Haible  <bruno@clisp.org>
2555
2556         dup2: Make code more maintainable.
2557         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
2558         (rpl_dup2): Use it.
2559         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
2560         * modules/dup2 (configure.ac): Invoke it.
2561         Reported by Paul Eggert.
2562
2563 2011-09-23  Bruno Haible  <bruno@clisp.org>
2564
2565         msvc-inval: Fix compilation error.
2566         * lib/msvc-inval.h: Include <excpt.h>.
2567
2568 2011-09-23  Bruno Haible  <bruno@clisp.org>
2569
2570         mkdir: Tweak for MSVC 9.
2571         * lib/sys_stat.in.h: Update comments.
2572         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2573
2574         Tests for module 'chdir'.
2575         * modules/chdir-tests: New file.
2576         * tests/test-chdir.c: New file.
2577
2578         New module 'chdir'.
2579         * modules/chdir: New file.
2580         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
2581         (chdir): New declaration.
2582         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
2583         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
2584         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
2585         * tests/test-unistd-c++.cc: Check signature of chdir.
2586         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
2587         * modules/chdir-long (Depends-on): Add chdir.
2588         * modules/fchdir (Depends-on): Likewise.
2589         * modules/rename (Depends-on): Likewise.
2590         * modules/savewd (Depends-on): Likewise.
2591
2592         rmdir: Support for mingw, MSVC 9.
2593         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
2594         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2595
2596         getcwd: Tweak for MSVC 9.
2597         * lib/unistd.in.h: Update comments.
2598         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2599
2600 2011-09-22  Bruno Haible  <bruno@clisp.org>
2601
2602         strerror_r-posix: Avoid a link error on MSVC.
2603         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
2604         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
2605
2606 2011-09-22  Bruno Haible  <bruno@clisp.org>
2607
2608         select: Avoid link errors on MSVC.
2609         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
2610         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
2611         * modules/pselect (Link): Likewise.
2612         * NEWS: Mention the change.
2613         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
2614         test-select-stdin against $(LIB_SELECT).
2615         * modules/pselect-tests (Makefile.am): Link test-pselect against
2616         $(LIB_SELECT).
2617
2618 2011-09-22  Bruno Haible  <bruno@clisp.org>
2619
2620         select: Avoid compilation error on MSVC.
2621         * lib/select.c: Don't include <stdbool.h>.
2622
2623 2011-09-21  Bruno Haible  <bruno@clisp.org>
2624
2625         Consolidate all uses of PATH_MAX in *.m4 files.
2626         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
2627         macros.
2628         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
2629         and gl_PATHMAX_SNIPPET.
2630         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2631         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2632         * modules/chdir-long (Files): Add m4/pathmax.m4.
2633         * modules/getcwd (Files): Likewise.
2634
2635 2011-09-21  Bruno Haible  <bruno@clisp.org>
2636
2637         ftruncate: Un-deprecate, concentrate on Win32 support.
2638         * modules/ftruncate (Status, Notice): Remove sections.
2639         (Depends-on): Add largefile.
2640         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
2641         non-mingw platforms.
2642         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
2643         include <io.h>.
2644         * modules/perror-tests (Depends-on): Add ftruncate.
2645         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
2646         'ftruncate' module.
2647
2648 2011-09-21  Bruno Haible  <bruno@clisp.org>
2649
2650         Add dependencies to new dirent related modules.
2651         * modules/opendir (Depends-on): Add closedir.
2652         * modules/getcwd (Depends-on): Add opendir, closedir.
2653         * modules/dirent-safer-tests (Depends-on): Likewise.
2654         * modules/fdopendir-tests (Depends-on): Likewise.
2655         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
2656         * modules/renameat-tests (Depends-on): Likewise.
2657
2658 2011-09-21  Bruno Haible  <bruno@clisp.org>
2659
2660         opendir: Avoid compilation error on mingw.
2661         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
2662         * modules/opendir (Depends-on): Add unistd.
2663
2664 2011-09-21  Bruno Haible  <bruno@clisp.org>
2665
2666         ftruncate tests: Avoid a test failure on mingw.
2667         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
2668
2669 2011-09-21  Bruno Haible  <bruno@clisp.org>
2670
2671         select tests: Avoid test failures on OSF/1 5.1 and mingw.
2672         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
2673         native Windows.
2674
2675 2011-09-21  Bruno Haible  <bruno@clisp.org>
2676
2677         New module 'fdopen'.
2678         * lib/stdio.in.h (fdopen): New declaration.
2679         * lib/fdopen.c: New file.
2680         * m4/fdopen.m4: New file.
2681         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
2682         REPLACE_FDOPEN.
2683         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
2684         REPLACE_FDOPEN.
2685         * modules/fdopen: New file.
2686         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
2687         * tests/test-stdio-c++.cc: Check signature of fdopen.
2688         * doc/posix-functions/fdopen.texi: Mention the new module.
2689
2690 2011-09-21  Bruno Haible  <bruno@clisp.org>
2691
2692         unlockpt tests: Avoid test failure on NetBSD 5.1.
2693         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
2694         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2695
2696 2011-09-21  Bruno Haible  <bruno@clisp.org>
2697
2698         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
2699         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
2700         * tests/test-getlogin_r.c (main): Likewise.
2701
2702 2011-09-20  Bruno Haible  <bruno@clisp.org>
2703
2704         time tests: Don't require pid_t.
2705         * doc/posix-headers/time.texi: Revert last change.
2706         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
2707         * tests/test-time.c: Comment out the check for pid_t.
2708
2709 2011-09-20  Bruno Haible  <bruno@clisp.org>
2710
2711         fsync tests: Avoid a test failure on mingw.
2712         * tests/test-fsync.c (main): Allow a failure with EIO.
2713
2714 2011-09-20  Bruno Haible  <bruno@clisp.org>
2715
2716         euidaccess: Update comments.
2717         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
2718
2719 2011-09-20  Bruno Haible  <bruno@clisp.org>
2720
2721         Ensure EBADF returns for socket functions on mingw.
2722         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
2723         descriptor is invalid.
2724         * lib/bind.c (rpl_bind): Likewise.
2725         * lib/connect.c (rpl_connect): Likewise.
2726         * lib/getpeername.c (rpl_getpeername): Likewise.
2727         * lib/getsockname.c (rpl_getsockname): Likewise.
2728         * lib/getsockopt.c (rpl_getsockopt): Likewise.
2729         * lib/listen.c (rpl_listen): Likewise.
2730         * lib/recv.c (rpl_recv): Likewise.
2731         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2732         * lib/send.c (rpl_send): Likewise.
2733         * lib/sendto.c (rpl_sendto): Likewise.
2734         * lib/setsockopt.c (rpl_setsockopt): Likewise.
2735         * lib/shutdown.c (rpl_shutdown): Likewise.
2736
2737 2011-09-20  Bruno Haible  <bruno@clisp.org>
2738
2739         select tests: EBADF tests.
2740         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
2741         test_bad_fd): New functions.
2742         (test_function): Invoke also test_bad_fd.
2743
2744 2011-09-20  Bruno Haible  <bruno@clisp.org>
2745
2746         Tests for module 'posix_spawn_file_actions_addopen.
2747         * modules/posix_spawn_file_actions_addopen-tests: New file.
2748         * tests/test-posix_spawn_file_actions_addopen.c: New file.
2749
2750         Tests for module 'posix_spawn_file_actions_adddup2'.
2751         * modules/posix_spawn_file_actions_adddup2-tests: New file.
2752         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
2753
2754         Tests for module 'posix_spawn_file_actions_addclose'.
2755         * modules/posix_spawn_file_actions_addclose-tests: New file.
2756         * tests/test-posix_spawn_file_actions_addclose.c: New file.
2757
2758 2011-09-20  Bruno Haible  <bruno@clisp.org>
2759
2760         Tests for module 'unlockpt'.
2761         * modules/unlockpt-tests: New file.
2762         * tests/test-unlockpt.c: New file.
2763         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
2764
2765         Tests for module 'grantpt'.
2766         * modules/grantpt-tests: New file.
2767         * tests/test-grantpt.c: New file.
2768         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
2769
2770 2011-09-20  Bruno Haible  <bruno@clisp.org>
2771
2772         freopen tests: EBADF tests.
2773         * tests/test-freopen.c: Include errno.h, unistd.h.
2774         (main): Add tests for EBADF, commented out for the moment.
2775
2776         fclose tests: EBADF tests.
2777         * tests/test-fclose.c (main): Add tests for EBADF.
2778
2779         fflush tests: EBADF tests.
2780         * tests/test-fflush.c: Include errno.h, macros.h.
2781         (main): Add tests for EBADF.
2782
2783         ftello tests: EBADF tests.
2784         * tests/test-ftello4.sh: New file.
2785         * tests/test-ftello4.c: New file.
2786         * modules/ftello-tests (Files): Add them.
2787         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
2788
2789         fseeko tests: EBADF tests.
2790         * tests/test-fseeko4.sh: New file.
2791         * tests/test-fseeko4.c: New file.
2792         * modules/fseeko-tests (Files): Add them.
2793         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
2794
2795         Tests for function fputc().
2796         * modules/fputc-tests: New file.
2797         * tests/test-fputc.c: New file.
2798         * modules/stdio-tests (Depends-on): Add fputc-tests.
2799
2800         Tests for function fgetc().
2801         * modules/fgetc-tests: New file.
2802         * tests/test-fgetc.c: New file.
2803         * modules/stdio-tests (Depends-on): Add fgetc-tests.
2804
2805         Tests for function fdopen().
2806         * modules/fdopen-tests: New file.
2807         * tests/test-fdopen.c: New file.
2808         * modules/stdio-tests (Depends-on): Add fdopen-tests.
2809
2810         Tests for module 'vdprintf'.
2811         * modules/vdprintf-tests: New file.
2812         * tests/test-vdprintf.c: New file.
2813
2814         Tests for module 'dprintf'.
2815         * modules/dprintf-tests: New file.
2816         * tests/test-dprintf.c: New file.
2817
2818 2011-09-20  Bruno Haible  <bruno@clisp.org>
2819
2820         Tests for module 'ioctl'.
2821         * modules/ioctl-tests: New file.
2822         * tests/test-ioctl.c: New file.
2823
2824 2011-09-20  Bruno Haible  <bruno@clisp.org>
2825
2826         fcntl tests: EBADF tests.
2827         * tests/test-fcntl.c (main): Add more tests for EBADF.
2828
2829 2011-09-20  Bruno Haible  <bruno@clisp.org>
2830
2831         utimensat tests: EBADF tests.
2832         * tests/test-utimensat.c (main): Add tests for EBADF.
2833
2834         renameat tests: EBADF tests.
2835         * tests/test-renameat.c (main): Add tests for EBADF.
2836
2837         mkfifoat tests: EBADF tests.
2838         * tests/test-mkfifoat.c (main): Add tests for EBADF.
2839
2840         readlinkat tests: EBADF tests.
2841         * tests/test-readlinkat.c (main): Add tests for EBADF.
2842
2843         symlinkat tests: EBADF tests.
2844         * tests/test-symlinkat.c (main): Add tests for EBADF.
2845
2846         linkat tests: EBADF tests.
2847         * tests/test-linkat.c (main): Add tests for EBADF.
2848
2849         Tests for module 'faccessat'.
2850         * modules/faccessat-tests: New file.
2851         * tests/test-faccessat.c: New file.
2852
2853         fdopendir tests: EBADF tests.
2854         * tests/test-fdopendir.c (main): Add more tests for EBADF.
2855
2856         openat tests: EBADF tests.
2857         * tests/test-fchownat.c (main): Add tests for EBADF.
2858         * tests/test-fstatat.c (main): Likewise.
2859         * tests/test-mkdirat.c (main): Likewise.
2860         * tests/test-openat.c (main): Likewise.
2861         * tests/test-unlinkat.c (main): Likewise.
2862         * tests/test-fchmodat.c: New file.
2863         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
2864         (Makefile.am): Also run 'test-fchmodat'.
2865
2866 2011-09-20  Bruno Haible  <bruno@clisp.org>
2867
2868         utimens, futimens, fdutimensat tests: EBADF tests.
2869         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
2870
2871         Tests for function fstat().
2872         * modules/fstat-tests: New file.
2873         * tests/test-fstat.c: New file.
2874         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
2875
2876 2011-09-20  Bruno Haible  <bruno@clisp.org>
2877
2878         test-ttyname_r tests: EBADF tests.
2879         * tests/test-ttyname_r.c (main): Add tests for EBADF.
2880
2881         Tests for module 'isatty'.
2882         * modules/isatty-tests: New file.
2883         * tests/test-isatty.c: New file.
2884
2885         Tests for module 'write'.
2886         * modules/write-tests: New file.
2887         * tests/test-write.c: New file.
2888
2889         Tests for module 'read'.
2890         * modules/read-tests: New file.
2891         * tests/test-read.c: New file.
2892
2893         pwrite tests: EBADF tests.
2894         * tests/test-pwrite.c (main): Add tests for EBADF.
2895
2896         pread tests: EBADF tests.
2897         * tests/test-pread.c (main): Add tests for EBADF.
2898
2899         lseek tests: EBADF tests.
2900         * tests/test-lseek.c (main): Add more tests for EBADF.
2901
2902         Tests for module 'ftruncate'.
2903         * modules/ftruncate-tests: New file.
2904         * tests/test-ftruncate.sh: New file.
2905         * tests/test-ftruncate.c: New file.
2906
2907         fsync tests: EBADF tests.
2908         * tests/test-fsync.c (main): Add more tests for EBADF.
2909
2910         fdatasync tests: EBADF tests.
2911         * tests/test-fdatasync.c (main): Add more tests for EBADF.
2912
2913         Tests for module 'fchown'.
2914         * modules/fchown-tests: New file.
2915         * tests/test-fchown.c: New file.
2916
2917         Tests for module 'fchmod'.
2918         * modules/fchmod-tests: New file.
2919         * tests/test-fchmod.c: New file.
2920
2921         fchdir tests: EBADF tests.
2922         * tests/test-fchdir.c (main): Add more tests for EBADF.
2923
2924         dup2 tests: EBADF tests.
2925         * tests/test-dup2.c (main): Add more tests for EBADF.
2926
2927         Tests for module 'dup'.
2928         * modules/dup-tests: New file.
2929         * tests/test-dup.c: New file.
2930
2931         Tests for module 'close'.
2932         * modules/close-tests: New file.
2933         * tests/test-close.c: New file.
2934
2935 2011-09-20  Bruno Haible  <bruno@clisp.org>
2936
2937         Tests for module 'shutdown'.
2938         * modules/shutdown-tests: New file.
2939         * tests/test-shutdown.c: New file.
2940
2941         Tests for module 'setsockopt'.
2942         * modules/setsockopt-tests: New file.
2943         * tests/test-setsockopt.c: New file.
2944
2945         Tests for module 'sendto'.
2946         * modules/sendto-tests: New file.
2947         * tests/test-sendto.c: New file.
2948
2949         Tests for module 'send'.
2950         * modules/send-tests: New file.
2951         * tests/test-send.c: New file.
2952
2953         Tests for module 'recvfrom'.
2954         * modules/recvfrom-tests: New file.
2955         * tests/test-recvfrom.c: New file.
2956
2957         Tests for module 'recv'.
2958         * modules/recv-tests: New file.
2959         * tests/test-recv.c: New file.
2960
2961         Tests for module 'listen'.
2962         * modules/listen-tests: New file.
2963         * tests/test-listen.c: New file.
2964
2965         Tests for module 'getsockopt'.
2966         * modules/getsockopt-tests: New file.
2967         * tests/test-getsockopt.c: New file.
2968
2969         Tests for module 'getsockname'.
2970         * modules/getsockname-tests: New file.
2971         * tests/test-getsockname.c: New file.
2972
2973         Tests for module 'getpeername'.
2974         * modules/getpeername-tests: New file.
2975         * tests/test-getpeername.c: New file.
2976
2977         Tests for module 'connect'.
2978         * modules/connect-tests: New file.
2979         * tests/test-connect.c: New file.
2980
2981         Tests for module 'bind'.
2982         * modules/bind-tests: New file.
2983         * tests/test-bind.c: New file.
2984
2985         accept4 tests: Fix for native Windows.
2986         * tests/test-accept4.c: Include sockets.h.
2987         (main): Invoke gl_sockets_startup.
2988         * modules/accept4-tests (Depends-on): Add sockets.
2989
2990         accept tests: Fix for native Windows.
2991         * tests/test-accept.c: Include sockets.h.
2992         (main): Invoke gl_sockets_startup.
2993         * modules/accept-tests (Depends-on): Add sockets.
2994
2995 2011-09-19  Bruno Haible  <bruno@clisp.org>
2996
2997         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
2998         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
2999         do...while(0).
3000         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
3001         Suggested by Paul Eggert.
3002
3003 2011-09-19  Bruno Haible  <bruno@clisp.org>
3004
3005         sched: Ensure pid_t is defined.
3006         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
3007         not define pid_t.
3008         * lib/sched.in.h: Include <sys/types.h>.
3009         * doc/posix-headers/sched.texi: Mention the pid_t problem.
3010         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3011
3012 2011-09-19  Bruno Haible  <bruno@clisp.org>
3013
3014         msvc-inval: Ensure the entire expansion is a single statement.
3015         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
3016         of braces.
3017
3018 2011-09-19  Jim Meyering  <meyering@redhat.com>
3019
3020         tests: use printf, not echo in init.sh's warn_ function
3021         * tests/init.sh (warn_): Use printf, not echo.  The latter would
3022         misbehave when given strings containing a backslash or starting
3023         with e.g., -n.  James Youngman suggested setting IFS.
3024
3025 2011-09-19  Eric Blake  <eblake@redhat.com>
3026
3027         futimens: enhance test
3028         * tests/test-futimens.h (test_futimens): Also check for EBADF on
3029         closed non-negative fd.
3030
3031         date: accept 'hence' as opposite of 'ago'
3032         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
3033         * tests/test-parse-datetime.c (main): Enhance test.
3034         Suggested by Jesse Wilson.
3035
3036 2011-09-19  Jim Meyering  <meyering@redhat.com>
3037
3038         getcwd: don't fail in a deep directory on a system without openat
3039         Before this change, getcwd would fail when called from a directory
3040         of depth PATH_MAX / 3 or greater.  That was due to the fact that
3041         the non-openat implementation used "..", "../..", "../../..", etc.
3042         to access ancestor directories.  With too many, that string would
3043         be longer than PATH_MAX.
3044         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
3045         using gnulib's openat replacement.
3046         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
3047         we're using the replacement function.
3048
3049 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
3050
3051         maint.mk: avoid warnings from perl about missing files
3052         * top/maint.mk (def_sym_regex): Ignore files listed in
3053         $(gl_other_headers_) that do not exist, say because a project
3054         does not use a corresponding module.
3055
3056 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3057
3058         stat: use pathmax.h only if needed
3059         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
3060         This is better for Emacs, which does not have a mingw port and
3061         therefore can avoid the pathmax module.
3062
3063         utimens: remove dependency on dup2
3064         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
3065         to work around the Linux kernel bug.
3066         * modules/utimens (Depends-on): Remove dup2.
3067
3068 2011-09-18  Bruno Haible  <bruno@clisp.org>
3069
3070         inet_ntop, inet_pton: Look for it also in libresolv.
3071         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
3072         libnsl, search for it in libresolv.
3073         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3074         Needed on Solaris 7.
3075
3076 2011-09-18  Bruno Haible  <bruno@clisp.org>
3077
3078         accept, accept4 tests: Avoid link error on Solaris.
3079         * modules/accept-tests (Makefile.am): Link test-accept against
3080         $(LIBSOCKET).
3081         * modules/accept4-tests (Makefile.am): Link test-accept4 against
3082         $(LIBSOCKET).
3083
3084         accept4: Avoid link error on Solaris.
3085         * modules/accept4 (Link): New section.
3086
3087         socket functions: Avoid link errors on Solaris.
3088         * modules/accept (Depends-on): Add socketlib.
3089         (Link): New section.
3090         * modules/bind (Depends-on): Add socketlib.
3091         (Link): New section.
3092         * modules/connect (Depends-on): Add socketlib.
3093         (Link): New section.
3094         * modules/getpeername (Depends-on): Add socketlib.
3095         (Link): New section.
3096         * modules/getsockname (Depends-on): Add socketlib.
3097         (Link): New section.
3098         * modules/getsockopt (Depends-on): Add socketlib.
3099         (Link): New section.
3100         * modules/listen (Depends-on): Add socketlib.
3101         (Link): New section.
3102         * modules/recv (Depends-on): Add socketlib.
3103         (Link): New section.
3104         * modules/recvfrom (Depends-on): Add socketlib.
3105         (Link): New section.
3106         * modules/send (Depends-on): Add socketlib.
3107         (Link): New section.
3108         * modules/sendto (Depends-on): Add socketlib.
3109         (Link): New section.
3110         * modules/setsockopt (Depends-on): Add socketlib.
3111         (Link): New section.
3112         * modules/shutdown (Depends-on): Add socketlib.
3113         (Link): New section.
3114         * modules/socket (Depends-on): Add socketlib.
3115         (Link): New section.
3116
3117 2011-09-18  Bruno Haible  <bruno@clisp.org>
3118
3119         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
3120         * tests/test-ptsname.c (main): Terminate the test if it takes longer
3121         than 5 seconds.
3122         * modules/ptsname-tests (configure.ac): Test for alarm.
3123
3124 2011-09-18  Bruno Haible  <bruno@clisp.org>
3125
3126         posix_spawn_file_actions_add*: Fix module dependencies.
3127         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
3128         posix_spawn_file_actions_init.
3129         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
3130         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
3131
3132 2011-09-18  Bruno Haible  <bruno@clisp.org>
3133
3134         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
3135         * tests/test-rename.h (test_rename): Allow error code EEXIST.
3136         * tests/test-renameat.c (main): Likewise.
3137
3138 2011-09-18  Bruno Haible  <bruno@clisp.org>
3139
3140         Tests for module 'accept4'.
3141         * modules/accept4-tests: New file.
3142         * tests/test-accept4.c: New file.
3143
3144 2011-09-18  Bruno Haible  <bruno@clisp.org>
3145
3146         Tests for module 'accept'.
3147         * modules/accept-tests: New file.
3148         * tests/test-accept.c: New file.
3149
3150 2011-09-18  Bruno Haible  <bruno@clisp.org>
3151
3152         dup2: Support for MSVC.
3153         * lib/dup2.c: Include msvc-inval.h.
3154         (rpl_dup2): Handle invalid parameter notifications during dup2 and
3155         _get_osfhandle calls.
3156         * modules/dup2 (Depends-on): Add msvc-inval.
3157         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
3158
3159         New module 'msvc-inval'.
3160         * lib/msvc-inval.h: New file.
3161         * lib/msvc-inval.c: New file.
3162         * m4/msvc-inval.m4: New file.
3163         * modules/msvc-inval: New file.
3164
3165 2011-09-17  Bruno Haible  <bruno@clisp.org>
3166
3167         Tests for module 'pclose'.
3168         * modules/pclose-tests: New file.
3169
3170         New module 'pclose'.
3171         * lib/stdio.in.h (pclose): New declaration.
3172         * lib/pclose.c: New file.
3173         * m4/pclose.m4: New file.
3174         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
3175         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
3176         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
3177         * modules/pclose: New file.
3178         * modules/popen-tests (Depends-on): Add pclose.
3179         * modules/popen-safer-tests (Depends-on): Likewise.
3180         * doc/posix-functions/pclose.texi: Mention the new module.
3181
3182 2011-09-17  Bruno Haible  <bruno@clisp.org>
3183
3184         popen: Support for MSVC.
3185         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
3186         * lib/popen.c (popen): Provide alternate definition for native Windows.
3187         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
3188         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
3189         * modules/popen (Depends-on, configure.ac): Update condition.
3190         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
3191         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
3192         fixed.
3193
3194 2011-09-17  Bruno Haible  <bruno@clisp.org>
3195
3196         isnanl, isnand, isnanf: Work around MSVC bug.
3197         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
3198
3199 2011-09-17  Bruno Haible  <bruno@clisp.org>
3200
3201         sys_socket tests: Fix recent mistake.
3202         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
3203
3204 2011-09-17  Bruno Haible  <bruno@clisp.org>
3205
3206         putenv: Support for MSVC.
3207         * modules/putenv (Depends-on): Add environ.
3208         * lib/putenv.c (environ): Disable declaration.
3209         * lib/unistd.in.h: Update comment.
3210
3211 2011-09-17  Bruno Haible  <bruno@clisp.org>
3212
3213         math: Avoid macro redefinition warnings on MSVC.
3214         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
3215         Undefine before redefining.
3216
3217 2011-09-17  Bruno Haible  <bruno@clisp.org>
3218
3219         doc: Mention functions which are declared as macros.
3220         * doc/posix-functions/*[fl].texi: Mention that some functions are
3221         defined as macros with arguments only.
3222
3223 2011-09-17  Bruno Haible  <bruno@clisp.org>
3224
3225         Add dependencies to new dirent related modules.
3226         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
3227         * modules/fts (Depends-on): Likewise.
3228         * modules/glob (Depends-on): Likewise.
3229         * modules/savedir (Depends-on): Likewise.
3230         * modules/scandir (Depends-on): Likewise.
3231         * modules/dirent-safer (Depends-on): Add opendir, closedir.
3232         * modules/fdopendir (Depends-on): Add opendir.
3233
3234 2011-09-17  Bruno Haible  <bruno@clisp.org>
3235
3236         inet_pton: Support for MSVC on Windows Vista or newer.
3237         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
3238         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
3239         HAVE_DECL_INET_PTON is defined.
3240         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3241         On platforms with <winsock2.h>, test whether inet_pton is declared in
3242         <ws2tcpip.h>. If so, arrange to replace it.
3243         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3244         REPLACE_INET_PTON.
3245         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
3246         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
3247         (Depends-on, configure.ac): Update condition.
3248         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
3249
3250 2011-09-17  Bruno Haible  <bruno@clisp.org>
3251
3252         inet_ntop: Support for MSVC on Windows Vista or newer.
3253         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
3254         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
3255         HAVE_DECL_INET_NTOP is defined.
3256         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3257         On platforms with <winsock2.h>, test whether inet_ntop is declared in
3258         <ws2tcpip.h>. If so, arrange to replace it.
3259         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3260         REPLACE_INET_NTOP.
3261         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
3262         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
3263         (Depends-on, configure.ac): Update condition.
3264         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
3265
3266 2011-09-16  Eric Blake  <eblake@redhat.com>
3267
3268         test-fsync: yet another enhancement
3269         * tests/test-fsync.c (main): Also test behavior on read-only text
3270         file.
3271
3272 2011-09-16  Bruno Haible  <bruno@clisp.org>
3273
3274         Enhance fsync, fdatasync tests.
3275         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
3276         * tests/test-fdatasync.c (main): Likewise.
3277
3278 2011-09-16  Bruno Haible  <bruno@clisp.org>
3279
3280         Support for MSVC compiler: Ensure mode_t gets defined.
3281         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
3282         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3283         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3284         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
3285         * tests/test-fcntl-h.c: Check that mode_t is defined.
3286         * tests/test-sys_stat.c: Likewise.
3287         * tests/test-sys_types.c: Likewise.
3288         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
3289         * doc/posix-headers/sys_stat.texi: Likewise.
3290         * doc/posix-headers/sys_types.texi: Likewise.
3291
3292 2011-09-16  Bruno Haible  <bruno@clisp.org>
3293
3294         sys_stat: Support for MSVC.
3295         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
3296         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
3297         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
3298         MSVC.
3299
3300 2011-09-16  Bruno Haible  <bruno@clisp.org>
3301
3302         Support for MSVC compiler: Ensure off_t gets defined.
3303         * lib/unistd.in.h: Include <sys/types.h>.
3304         * tests/test-fcntl-h.c: Check that off_t is defined.
3305         * tests/test-sys_stat.c: Likewise.
3306         * tests/test-sys_types.c: Likewise.
3307
3308 2011-09-16  Eric Blake  <eblake@redhat.com>
3309
3310         fdatasync: port to Solaris
3311         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
3312         * modules/fdatasync (Link): Document it.
3313         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
3314
3315         fdatasync: port to MacOS X 10.7
3316         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
3317         declared.
3318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
3319         * modules/unistd (Makefile.am): Substitute it.
3320         * lib/unistd.in.h (fdatasync): Declare on MacOS.
3321         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
3322
3323         fdatasync: minor improvements
3324         * modules/fdatasync (Depends-on): Add condition for fsync.
3325         * lib/fdatasync.c (fdatasync): Add comment.
3326         * tests/test-unistd-c++.cc: Test fdatasync.
3327
3328         unistd: update refs to newer POSIX
3329         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
3330         Suggested by Bruno Haible.
3331
3332         fdatasync: new module
3333         * modules/fsync (Description): Document difference to fdatasync.
3334         * modules/fdatasync: New module.
3335         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
3336         * lib/fdatasync.c (fdatasync): Likewise.
3337         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
3338         defaults.
3339         * modules/unistd (Makefile.am): Set witnesses.
3340         * lib/unistd.in.h (fdatasync): Declare.
3341         * MODULES.html.sh: Document it.
3342         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
3343         * modules/fdatasync-tests: New test.
3344         * tests/test-fdatasync.c: Likewise.
3345
3346 2011-09-16  Eric Blake  <eblake@redhat.com>
3347
3348         test-fsync: enhance tests
3349         * modules/fsync-tests (Depends-on): Add errno, for mingw.
3350         * tests/test-fsync.c (main): Enhance test.
3351
3352 2011-09-15  Bruno Haible  <bruno@clisp.org>
3353
3354         Support for MSVC compiler: Ensure ssize_t gets defined.
3355         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
3356         * doc/posix-headers/stdio.texi: Likewise.
3357         * modules/stdio (Depends-on): Add ssize_t.
3358         * modules/sys_socket (Depends-on): Likewise.
3359         * modules/sys_types (Depends-on): Likewise.
3360         * modules/sys_uio (Depends-on): Likewise.
3361         * modules/unistd (Depends-on): Likewise.
3362         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
3363         * tests/test-sys_types.c: Check that ssize_t is defined.
3364
3365 2011-09-14  Bruno Haible  <bruno@clisp.org>
3366
3367         Avoid using #, the m4 comment starter character, near brackets.
3368         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
3369         delimiter character in sed expressions.
3370         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3371         Suggested by Eric Blake.
3372
3373         Properly quote AC_CHECK_DECLS' 4th argument.
3374         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
3375         argument.
3376         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3377         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3378         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3379         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3380         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3381         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
3382         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
3383         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
3384         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
3385         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3386         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
3387         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3388         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3389         * m4/isinf.m4 (gl_ISINF): Likewise.
3390         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3391         * m4/readutmp.m4 (gl_READUTMP): Likewise.
3392         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3393         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3394         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3395         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3396         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3397         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3398         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
3399         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3400         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3401         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3402         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
3403         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3404         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3405         Reported by Eric Blake.
3406
3407         Properly quote AC_CHECK_DECL's 4th argument.
3408         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
3409         argument.
3410         * m4/argp.m4 (gl_ARGP): Likewise.
3411         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3412         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3413         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3414         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3415         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
3416         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3417         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3418         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3419         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3420         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3421         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3422         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3423         Reported by Eric Blake.
3424
3425 2011-09-14  Eric Blake  <eblake@redhat.com>
3426
3427         opendir: avoid compile warning
3428         * lib/opendir.c (includes): Always include errno.h.
3429         Reported by Tatsuro MATSUOKA.
3430
3431 2011-09-14  Jim Meyering  <meyering@redhat.com>
3432
3433         maint.mk: sc_tight_scope: propagate failure from sub-make
3434         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
3435         Reported by Martin von Gagern.
3436
3437 2011-09-13  Bruno Haible  <bruno@clisp.org>
3438
3439         tempname: Support for MSVC.
3440         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
3441         MSVC.
3442         * modules/tempname (Depends-on): Add fcntl-h.
3443
3444 2011-09-13  Bruno Haible  <bruno@clisp.org>
3445
3446         sys_time: Support for MSVC.
3447         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
3448         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
3449         include <winsock2.h>.
3450         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
3451         function declarations that collide with POSIX.
3452         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
3453         (Makefile.am): Substitute HAVE_WINSOCK2_H.
3454
3455 2011-09-13  Bruno Haible  <bruno@clisp.org>
3456
3457         stat: Support for MSVC.
3458         * lib/stat.c: Include pathmax.h.
3459         * modules/stat (Depends-on): Add pathmax.
3460
3461         pathmax: Support for native Windows.
3462         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3463
3464 2011-09-12  Bruno Haible  <bruno@clisp.org>
3465
3466         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3467         * lib/dirent.in.h (struct dirent): New type.
3468         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3469         DT_WHT): New macros.
3470         (DIR): New type.
3471         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3472         (readdir, rewinddir): New declarations.
3473         * lib/dirent-private.h: New file.
3474         * lib/opendir.c: New file.
3475         * lib/readdir.c: New file.
3476         * lib/rewinddir.c: New file.
3477         * lib/closedir.c: New file.
3478         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3479         * m4/opendir.m4: New file.
3480         * m4/readdir.m4: New file.
3481         * m4/rewinddir.m4: New file.
3482         * m4/closedir.m4: New file.
3483         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3484         REPLACE_CLOSEDIR here.
3485         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3486         readdir, rewinddir are declared.
3487         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3488         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3489         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3490         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3491         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3492         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3493         * modules/opendir: New file.
3494         * modules/readdir: New file.
3495         * modules/rewinddir: New file.
3496         * modules/closedir: New file.
3497         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3498         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3499         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3500         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3501         * NEWS: Mention the 'fchdir' change.
3502
3503 2011-09-11  Bruno Haible  <bruno@clisp.org>
3504
3505         asm-underscore.m4: Support for MSVC.
3506         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3507         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3508
3509 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3510
3511         Doc about crypt functions.
3512         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3513         needing for _GNU_SOURCE to get crypt.
3514         * doc/posix-functions/encrypt.texi: Likewise.
3515         * doc/posix-functions/setkey.texi: Likewise.
3516
3517 2011-09-11  Bruno Haible  <bruno@clisp.org>
3518
3519         doc: Update regarding MSVC 9.
3520         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3521         tested".
3522         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3523         * doc/posix-headers/*.texi: Likewise.
3524         * doc/pastposix-functions/*.texi: Likewise.
3525         * doc/glibc-functions/*.texi: Likewise.
3526         * doc/glibc-headers/*.texi: Likewise.
3527
3528 2011-09-11  Bruno Haible  <bruno@clisp.org>
3529
3530         unistd et al.: Don't assume <unistd.h> exists.
3531         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
3532         does not exist.
3533         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
3534         exist. But include <stdlib.h>.
3535         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
3536         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
3537         symlink() does not exist.
3538         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
3539         include <io.h> instead.
3540         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
3541         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
3542         include <direct.h> instead.
3543         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3544         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3545         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
3546         <io.h> instead.
3547         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
3548         correctly if the system does not have hard links.
3549         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
3550         <direct.h> instead.
3551         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
3552         it when looking for function declarations.
3553         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
3554         <direct.h> and <io.h> instead.
3555         * doc/posix-headers/unistd.texi: More details about MSVC problem.
3556
3557 2011-09-11  Bruno Haible  <bruno@clisp.org>
3558
3559         strcase: Support for MSVC.
3560         * modules/strcase (Status, Notice): Remove obsoletion mark.
3561         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
3562         * doc/posix-functions/strncasecmp.texi: Likewise.
3563
3564         strings: Don't assume <strings.h> exists.
3565         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
3566         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
3567         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
3568         * doc/posix-headers/strings.texi: Mention the MSVC problem.
3569
3570 2011-09-11  Bruno Haible  <bruno@clisp.org>
3571
3572         dirent: Don't assume <dirent.h> exists.
3573         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
3574         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
3575         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
3576         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
3577
3578 2011-09-11  Bruno Haible  <bruno@clisp.org>
3579
3580         Fix wint_t on MSVC.
3581         * lib/wchar.in.h (wint_t): On MSVC, override it.
3582         * lib/wctype.in.h (wint_t): Likewise.
3583         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
3584         MSVC.
3585         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
3586         * doc/posix-headers/wctype.texi: Likewise.
3587
3588 2011-09-11  Bruno Haible  <bruno@clisp.org>
3589
3590         sys_types: Fix typo.
3591         * lib/sys_types.in.h: Fix typo in comment.
3592         Reported by Paul Eggert.
3593
3594         Support for MSVC compiler: Ensure size_t gets defined.
3595         * modules/strings (Depends-on): Add 'sys_types'.
3596         * modules/sys_uio (Depends-on): Likewise.
3597         * lib/sys_uio.in.h: Update comment.
3598
3599         C++ tests for module 'sys_types'.
3600         * modules/sys_types-c++-tests: New file.
3601         * tests/test-sys_types-c++.cc: New file.
3602
3603         Tests for module 'sys_types'.
3604         * modules/sys_types-tests: New file.
3605         * tests/test-sys_types.c: New file.
3606
3607         New module 'sys_types'.
3608         * lib/sys_types.in.h: New file.
3609         * m4/sys_types_h.m4: New file.
3610         * modules/sys_types: New file.
3611         * doc/posix-headers/sys_types.texi: Mention the new module and the
3612         size_t problem on MSVC 9.
3613
3614 2011-09-11  Bruno Haible  <bruno@clisp.org>
3615
3616         Support for MSVC compiler: Avoid division by a literal 0.
3617         * lib/math.in.h (NAN): Define through a function call also on MSVC.
3618         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
3619         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
3620         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
3621         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
3622         * tests/infinity.h: New file.
3623         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
3624         on MSVC.
3625         * tests/test-ceilf1.c: Include infinity.h.
3626         (main): Use Infinityf.
3627         * tests/test-ceil1.c: Include infinity.h.
3628         (main): Use Infinityd.
3629         * tests/test-ceill.c: Include infinity.h.
3630         (main): Use Infinityl.
3631         * tests/test-dprintf-posix.c: Include infinity.h.
3632         (test_function): Use Infinityd.
3633         * tests/test-floorf1.c: Include infinity.h.
3634         (main): Use Infinityf.
3635         * tests/test-floor1.c: Include infinity.h.
3636         (main): Use Infinityd.
3637         * tests/test-floorl.c: Include infinity.h.
3638         (main): Use Infinityl.
3639         * tests/test-fprintf-posix.c: Include infinity.h.
3640         (test_function): Use Infinityd.
3641         * tests/test-frexp.c: Include infinity.h.
3642         (main): Use Infinityd.
3643         * tests/test-frexpl.c: Include infinity.h.
3644         (main): Use Infinityl.
3645         * tests/test-isfinite.c: Include infinity.h.
3646         (test_isfinitef): Use Infinityf.
3647         (test_isfinited): Use Infinityd.
3648         (test_isfinitel): Use Infinityl.
3649         * tests/test-isinf.c: Include infinity.h.
3650         (test_isinff): Use Infinityf.
3651         (test_isinfd): Use Infinityd.
3652         (test_isinfl): Use Infinityl.
3653         * tests/test-isnan.c: Include infinity.h.
3654         (test_float): Use Infinityf.
3655         (test_double): Use Infinityd.
3656         (test_long_double): Use Infinityl.
3657         * tests/test-isnanf.h: Include infinity.h.
3658         (main): Use Infinityf.
3659         * tests/test-isnand.h: Include infinity.h.
3660         (main): Use Infinityd.
3661         * tests/test-isnanl.h: Include infinity.h.
3662         (main): Use Infinityl.
3663         * tests/test-ldexpl.c: Include infinity.h.
3664         (main): Use Infinityl.
3665         * tests/test-printf-posix.h: Include infinity.h.
3666         (test_function): Use Infinityd.
3667         * tests/test-roundf1.c: Include infinity.h.
3668         (main): Use Infinityf.
3669         * tests/test-round1.c: Include infinity.h.
3670         (main): Use Infinityd.
3671         * tests/test-roundl.c: Include infinity.h.
3672         (main): Use Infinityl.
3673         * tests/test-signbit.c: Include infinity.h.
3674         (test_signbitf): Use Infinityf.
3675         (test_signbitd): Use Infinityd.
3676         (test_signbitl): Use Infinityl.
3677         * tests/test-snprintf-posix.h: Include infinity.h.
3678         (test_function): Use Infinityd, Infinityl.
3679         * tests/test-sprintf-posix.h: Include infinity.h.
3680         (test_function): Use Infinityd, Infinityl.
3681         * tests/test-truncf1.c: Include infinity.h.
3682         (main): Use Infinityf.
3683         * tests/test-trunc1.c: Include infinity.h.
3684         (main): Use Infinityd.
3685         * tests/test-truncl.c: Include infinity.h.
3686         (main): Use Infinityl.
3687         * tests/test-vasnprintf-posix.c: Include infinity.h.
3688         (test_function): Use Infinityd, Infinityl.
3689         * tests/test-vasprintf-posix.c: Include infinity.h.
3690         (test_function): Use Infinityd, Infinityl.
3691         * modules/ceilf-tests (Files): Add tests/infinity.h.
3692         * modules/ceil-tests (Files): Likewise.
3693         * modules/ceill-tests (Files): Likewise.
3694         * modules/dprintf-posix-tests (Files): Likewise.
3695         * modules/floorf-tests (Files): Likewise.
3696         * modules/floor-tests (Files): Likewise.
3697         * modules/floorl-tests (Files): Likewise.
3698         * modules/fprintf-posix-tests (Files): Likewise.
3699         * modules/frexp-tests (Files): Likewise.
3700         * modules/frexp-nolibm-tests (Files): Likewise.
3701         * modules/frexpl-tests (Files): Likewise.
3702         * modules/frexpl-nolibm-tests (Files): Likewise.
3703         * modules/isfinite-tests (Files): Likewise.
3704         * modules/isinf-tests (Files): Likewise.
3705         * modules/isnan-tests (Files): Likewise.
3706         * modules/isnanf-tests (Files): Likewise.
3707         * modules/isnanf-nolibm-tests (Files): Likewise.
3708         * modules/isnand-tests (Files): Likewise.
3709         * modules/isnand-nolibm-tests (Files): Likewise.
3710         * modules/isnanl-tests (Files): Likewise.
3711         * modules/isnanl-nolibm-tests (Files): Likewise.
3712         * modules/ldexpl-tests (Files): Likewise.
3713         * modules/printf-posix-tests (Files): Likewise.
3714         * modules/roundf-tests (Files): Likewise.
3715         * modules/round-tests (Files): Likewise.
3716         * modules/roundl-tests (Files): Likewise.
3717         * modules/signbit-tests (Files): Likewise.
3718         * modules/snprintf-posix-tests (Files): Likewise.
3719         * modules/sprintf-posix-tests (Files): Likewise.
3720         * modules/truncf-tests (Files): Likewise.
3721         * modules/trunc-tests (Files): Likewise.
3722         * modules/truncl-tests (Files): Likewise.
3723         * modules/vasnprintf-posix-tests (Files): Likewise.
3724         * modules/vasprintf-posix-tests (Files): Likewise.
3725         * modules/vdprintf-posix-tests (Files): Likewise.
3726         * modules/vfprintf-posix-tests (Files): Likewise.
3727         * modules/vprintf-posix-tests (Files): Likewise.
3728         * modules/vsnprintf-posix-tests (Files): Likewise.
3729         * modules/vsprintf-posix-tests (Files): Likewise.
3730         * modules/xprintf-posix-tests (Files): Likewise.
3731
3732 2011-09-11  Bruno Haible  <bruno@clisp.org>
3733
3734         Ensure pid_t gets defined.
3735         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
3736         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3737         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3738         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3739         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
3740         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3741         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3742         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3743         * tests/test-fcntl-h.c: Check that pid_t is defined.
3744         * tests/test-sched.c: Likewise.
3745         * tests/test-termios.c: Likewise.
3746         * tests/test-time.c: Likewise.
3747         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
3748         * doc/posix-headers/signal.texi: Likewise.
3749         * doc/posix-headers/sys_types.texi: Likewise.
3750         * doc/posix-headers/time.texi: Likewise.
3751
3752 2011-09-11  Bruno Haible  <bruno@clisp.org>
3753
3754         acl: Fix compilation on Solaris 10 (older version).
3755         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
3756         of ACE_EVERYONE.
3757         * lib/set-mode-acl.c (qset_acl): Likewise.
3758         Reported by Christian Jullien <eligis@orange.fr>.
3759
3760 2011-09-10  Bruno Haible  <bruno@clisp.org>
3761
3762         iconv, unsetenv: Add support for MSVC compiler.
3763         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
3764         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
3765
3766 2011-09-10  Bruno Haible  <bruno@clisp.org>
3767
3768         *printf: Add support for MSVC compiler.
3769         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
3770         handles the exception caused by the %n directive. When cross-compiling,
3771         guess no on native Windows.
3772         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
3773         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
3774         emulate it through vsnprintf.
3775         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
3776         * doc/posix-functions/dprintf.texi: Update documentation regarding
3777         MSVC 9.
3778         * doc/posix-functions/fprintf.texi: Likewise.
3779         * doc/posix-functions/printf.texi: Likewise.
3780         * doc/posix-functions/snprintf.texi: Likewise.
3781         * doc/posix-functions/sprintf.texi: Likewise.
3782         * doc/posix-functions/swprintf.texi: Likewise.
3783         * doc/posix-functions/vdprintf.texi: Likewise.
3784         * doc/posix-functions/vfprintf.texi: Likewise.
3785         * doc/posix-functions/vprintf.texi: Likewise.
3786         * doc/posix-functions/vsnprintf.texi: Likewise.
3787         * doc/posix-functions/vsprintf.texi: Likewise.
3788         * doc/glibc-functions/asprintf.texi: Likewise.
3789         * doc/glibc-functions/obstack_printf.texi: Likewise.
3790         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3791         * doc/glibc-functions/vasprintf.texi: Likewise.
3792
3793 2011-09-10  Bruno Haible  <bruno@clisp.org>
3794
3795         nocrash: Add support for native Windows.
3796         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
3797
3798 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
3799             Bruno Haible  <bruno@clisp.org>
3800
3801         absolute-header, include-next: Add support for MSVC compiler.
3802         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
3803         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
3804         directory separator in #line directives.
3805         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
3806         recognize also backslash as directory separator in #line directives.
3807
3808 2011-09-08  Jim Meyering  <meyering@redhat.com>
3809
3810         maint.mk: mark the post-release commit log with "maint: " prefix
3811         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
3812         one-line commit-log summary.
3813
3814 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
3815             Bruno Haible  <bruno@clisp.org>
3816
3817         Doc about crypt functions.
3818         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
3819         systems.
3820         * doc/posix-functions/encrypt.texi: Likewise.
3821         * doc/posix-functions/setkey.texi: Likewise.
3822
3823 2011-09-08  Simon Josefsson  <simon@josefsson.org>
3824
3825         * lib/gc.h: Fix copyright header.
3826
3827 2011-09-07  Bruno Haible  <bruno@clisp.org>
3828
3829         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
3830         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
3831         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
3832
3833 2011-09-07  Bruno Haible  <bruno@clisp.org>
3834
3835         openat: Work around compilation error with OSF/1 5.1 DTK cc.
3836         * lib/fopen.c: Use different syntax for include of <stdio.h>.
3837         * lib/freopen.c: Likewise.
3838         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
3839         * lib/lstat.c: Likewise.
3840         * lib/stat.c: Likewise.
3841         * lib/open.c: Use different syntax for include of <fcntl.h>.
3842         * lib/openat.c: Include fcntl.h again, explicitly.
3843
3844 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
3845
3846         parse-datetime: document the newly accepted format
3847         * doc/parse-datetime.texi (Combined date and time of day items):
3848         New section.
3849
3850 2011-09-06  Bruno Haible  <bruno@clisp.org>
3851
3852         acl: Fix a test failure on newer Solaris 10 with ZFS.
3853         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
3854         ENOSYS as no ACL.
3855         Reported by Jim Meyering.
3856
3857 2011-09-06  Bruno Haible  <bruno@clisp.org>
3858
3859         acl: Update for AIX >= 5.3 with NFS.
3860         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
3861         ENOSYS as no ACL.
3862
3863         acl: Fix a test failure on AIX >= 5.3 with NFS.
3864         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
3865         as no ACL.
3866
3867 2011-09-06  Bruno Haible  <bruno@clisp.org>
3868
3869         acl: Fix a test failure on IRIX 6.5 with NFS.
3870         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
3871         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
3872         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
3873         * lib/copy-acl.c (qcopy_acl): Likewise.
3874
3875 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3876
3877         openat: port to AIX 7.1 with large files
3878         AIX 7.1 does a "#define openat open64at" if large files are in use,
3879         so we can't simply #undef openat.  Use the orig_openat trick (similar
3880         to orig_open in lib/open.c) to work around the problem.  Problem
3881         reported by Kevin Brott for GNU tar, in the thread containing
3882         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
3883         * lib/openat.c (__need_system_fcntl_h): Define first.
3884         Include <fcntl.h> and <sys/types.h> before undefining.
3885         (orig_openat) [HAVE_OPENAT]: New inline function.
3886         (openat) [HAVE_OPENAT]: Do not undef.
3887         (rpl_openat): Use orig_openat, not openat.
3888
3889 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
3890             Bruno Haible  <bruno@clisp.org>
3891
3892         acl: Avoid errors on NonStop Kernel.
3893         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
3894         ENOTSUP errors.
3895
3896 2011-09-05  Bruno Haible  <bruno@clisp.org>
3897
3898         acl: Clean up Solaris code.
3899         * lib/acl-internal.h: Remove no-op #if.
3900         * lib/file-has-acl.c: Likewise.
3901         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
3902         * lib/copy-acl.c (qcopy_acl): Likewise.
3903
3904 2011-09-05  Bruno Haible  <bruno@clisp.org>
3905
3906         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
3907         binaries built on the original Solaris 10.
3908         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
3909         trivial.
3910
3911 2011-09-05  Bruno Haible  <bruno@clisp.org>
3912
3913         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3914         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
3915         10.
3916         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
3917         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
3918         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
3919         instead of acl_get, facl_get, acl_set, facl_set.
3920
3921 2011-09-05  Bruno Haible  <bruno@clisp.org>
3922
3923         copy-file: Try unit tests on more file systems.
3924         * tests/test-copy-file-1.sh: New file.
3925         * tests/test-copy-file-2.sh: New file.
3926         * modules/copy-file-tests (Files): Add them.
3927         (Makefile.am): Add them to TESTS.
3928
3929         acl: Try unit tests on more file systems.
3930         * tests/test-file-has-acl-1.sh: New file.
3931         * tests/test-file-has-acl-2.sh: New file.
3932         * tests/test-set-mode-acl-1.sh: New file.
3933         * tests/test-set-mode-acl-2.sh: New file.
3934         * tests/test-copy-acl-1.sh: New file.
3935         * tests/test-copy-acl-2.sh: New file.
3936         * modules/acl-tests (Files): Add them.
3937         (Makefile.am): Add them to TESTS.
3938
3939 2011-09-04  Bruno Haible  <bruno@clisp.org>
3940
3941         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3942         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
3943         10.
3944         (OLD_ALLOW, OLD_DENY): New macros.
3945         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
3946         ACE_ACCESS_ALLOWED_ACE_TYPE.
3947         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
3948         ACE_ACCESS_DENIED_ACE_TYPE.
3949         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
3950         (NEW_ACE_EXECUTE): Fix value.
3951         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
3952         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
3953         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
3954         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
3955         NEW_ACE_SYNCHRONIZE): New macros.
3956         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
3957         instead of acl_fromtext, acl_set, facl_set.
3958         Fixes a coreutils/tests/cp/perm failure.
3959
3960 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
3961
3962         openat: test for fstatat (..., 0) bug
3963         Further testing with tar suggests that fstatat (..., 0)
3964         does not work in general, on AIX 7.1; see
3965         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
3966         So, give up entirely on AIX 7.1's fstatat, and fall back on our
3967         replacement fstatat (which is what older AIX releases were using
3968         anyway).
3969         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
3970         use is now changed to orig_fstatat.  This was probably the right
3971         thing to do anyway.
3972         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
3973         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
3974         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
3975         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
3976         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
3977         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
3978         if the bug is found.
3979
3980         openat: test for fstatat (AT_FDCWD, ..., 0) bug
3981         This tests for another fstatat bug on AIX 7.1:
3982         fstatat (AT_FDCWD, ..., 0) does not work.  See
3983         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
3984         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
3985         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
3986         (rpl_fstatat): Adjust so that it works around either (or both)
3987         bugs if present.
3988         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
3989
3990 2011-09-03  Karl Berry  <karl@gnu.org>
3991
3992         * doc/regex.texi (Character Class Operators): Avoid literal ":"
3993         in index entries.
3994
3995 2011-09-02  Bruno Haible  <bruno@clisp.org>
3996
3997         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
3998         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
3999         values of AR, ARFLAGS, RANLIB.
4000         Reported by John W. Eaton <jwe@gnu.org> for Octave.
4001
4002 2011-09-02  Bruno Haible  <bruno@clisp.org>
4003
4004         Find 'ar' program that fits with --host argument.
4005         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
4006
4007 2011-09-02  Bruno Haible  <bruno@clisp.org>
4008
4009         tests: init.sh: Support any non-GNU diff.
4010         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
4011         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
4012         Solaris 8.
4013
4014 2011-09-02  Bruno Haible  <bruno@clisp.org>
4015
4016         tests: init.sh: work also with any non-GNU diff that supports -u
4017         * tests/init.sh: Relax check for diff -u support.
4018         Rather than checking for GNU diff via --version, simply check
4019         for support for -u itself.  Useful at least on OpenBSD 4.9,
4020         AIX 7.1, IRIX 6.5, and Solaris 10.
4021
4022 2011-09-01  Bruno Haible  <bruno@clisp.org>
4023
4024         strtoimax, strtoumax: Document problem on HP-UX 11.
4025         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
4026         * doc/posix-functions/strtoumax.texi: Likewise.
4027
4028 2011-09-01  Bruno Haible  <bruno@clisp.org>
4029
4030         strtoumax: Avoid link error on OSF/1 with DTK cc.
4031         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
4032         defined as a function.
4033         * modules/strtoumax (Depends-on, configure.ac): Test only whether
4034         strtoumax is defined, not whether it is declared.
4035
4036 2011-09-01  Bruno Haible  <bruno@clisp.org>
4037
4038         strtoimax: Avoid link error on OSF/1 with DTK cc.
4039         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
4040         defined as a function.
4041         * modules/strtoimax (Depends-on, configure.ac): Test only whether
4042         strtoimax is defined, not whether it is declared.
4043
4044 2011-09-01  Bruno Haible  <bruno@clisp.org>
4045
4046         imaxdiv: Avoid link error on OSF/1 with DTK cc.
4047         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
4048         as a function.
4049         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
4050         whether it is declared.
4051
4052 2011-09-01  Bruno Haible  <bruno@clisp.org>
4053
4054         imaxabs: Avoid link error on OSF/1 with DTK cc.
4055         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
4056         as a function.
4057         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
4058         whether it is declared.
4059
4060 2011-09-01  Bruno Haible  <bruno@clisp.org>
4061
4062         Tests for module 'strtoumax'.
4063         * modules/strtoumax-tests: New file.
4064         * tests/test-strtoumax.c: New file.
4065
4066         Tests for module 'strtoimax'.
4067         * modules/strtoimax-tests: New file.
4068         * tests/test-strtoimax.c: New file.
4069
4070         Tests for module 'imaxdiv'.
4071         * modules/imaxdiv-tests: New file.
4072         * tests/test-imaxdiv.c: New file.
4073
4074         Tests for module 'imaxabs'.
4075         * modules/imaxabs-tests: New file.
4076         * tests/test-imaxabs.c: New file.
4077
4078 2011-09-01  Bruno Haible  <bruno@clisp.org>
4079
4080         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
4081         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
4082         pthread_create.
4083
4084 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4085
4086         openat: work around AIX 7.1 fstatat issue
4087         This should fix the problem that was not properly fixed
4088         in the previous change, dated 2011-08-30.
4089         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
4090         __need_system_stat_h defined.
4091         (orig_fstatat) [HAVE_FSTATAT]: New function.
4092         (rpl_fstatat): Go back to the old way of doing things,
4093         except call orig_fstatat instead of fstatat.
4094         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
4095         Remove unnecessary check whether fstatat fills in st_size etc.
4096
4097 2011-09-01  Bruno Haible  <bruno@clisp.org>
4098
4099         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
4100         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
4101         just include the system's header.
4102
4103 2011-08-31  Jim Meyering  <meyering@redhat.com>
4104
4105         tests: avoid spurious assertion failure in test-float.c on ppc64
4106         * tests/test-float.c (test_long_double): Comment out an assertion,
4107         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
4108         with gcc-4.4.4.
4109
4110         maint: indent with spaces, not TABs
4111         I need to get in the habit of running gnulib's "make check".
4112         Both of these would have been caught.
4113         * m4/largefile.m4: Indent with spaces, not TABs.
4114         * lib/parse-datetime.y (iso_8601_time): Likewise.
4115         Spotted by Pádraig Brady.
4116
4117         test-parse-datetime.c: accommodate a relatively strict gcc warning
4118         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
4119         to avoid a warning from gcc's -Werror=missing-declarations.
4120         Insert a few spaces-before-funcall-parenthesis.
4121
4122 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
4123
4124         parse-datetime: accept ISO 8601 date and time rep with "T" separator
4125         The parser now accepts ISO 8601 date-time strings with "T" as the
4126         separator.  It has long parsed dates like "2004-02-29 16:21:42"
4127         with a space between the date and time strings.  Now it also parses
4128         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
4129         variants like "2004-02-29T16:21:42.333-07:00"
4130         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
4131         of day representation using the 'T' separator character.
4132         * doc/parse-datetime.texi (General date syntax): replace use of
4133         deprecated --iso-8601 option with --rfc-3339 in example of date
4134         command output formats that can be parsed.
4135         * tests/test-parse-datetime.c (tm_diff): New function, taken from
4136         lib/parse-datetime.y.
4137         (gmt_offset): New function.
4138         (main): Add additional test cases to validate ISO8601 extended
4139         date and time of day parsing.
4140
4141 2011-08-31  Bruno Haible  <bruno@clisp.org>
4142
4143         freopen: Documentation.
4144         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
4145         name.
4146         Reported by Claudio Bley <claudio.bley@gmail.com>.
4147
4148 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
4149
4150         freopen: Don't crash if the filename argument is NULL.
4151         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
4152         NULL.
4153
4154 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4155
4156         openat: work around AIX 7.1 fstatat bug
4157         Problem reported by Kevin Brott for GNU tar, in the thread containing
4158         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
4159         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
4160         FSTATAT_ST_SIZE_ETC_BROKEN.
4161         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
4162         rpl_fstatat.
4163         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
4164         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
4165         AC_CHECK_FUNCS_ONCE for fstatat.
4166         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
4167         fchmodat, mkdirat, openat and unlinkat.
4168
4169 2011-08-30  Bruno Haible  <bruno@clisp.org>
4170
4171         Avoid endless recursions if config.h includes some header files.
4172         * lib/fopen.c (__need_FILE): Define already before including config.h.
4173         * lib/freopen.c (__need_FILE): Likewise.
4174         * lib/open.c (__need_system_fcntl_h): Likewise.
4175         * lib/stat.c (__need_system_sys_stat_h): Likewise.
4176         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
4177         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4178
4179 2011-08-25  Karl Berry  <karl@gnu.org>
4180
4181         * config/srclist.txt (ylwrap): new try.
4182         * build-aux/ylwrap: new file.
4183
4184 2011-08-23  Bruno Haible  <bruno@clisp.org>
4185
4186         tmpdir: Use a good default directory on native Windows.
4187         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
4188         (P_tmpdir): Default to _P_tmpdir on native Windows.
4189         (path_search): On native Windows, try the value returned by GetTempPath
4190         before trying P_tmpdir.
4191         * modules/tmpdir (Depends-on): Add pathmax.
4192         Suggested by John Darrington <john@darrington.wattle.id.au>.
4193
4194 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
4195
4196         doc: fix typo in README-release
4197         * top/README-release: Capitalize first word of a sentence.
4198
4199 2011-08-19  Jim Meyering  <meyering@redhat.com>
4200
4201         fts: do not exhaust memory when processing million-entry directories
4202         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
4203         directory would require about 256*N bytes of memory.  Thus, it was
4204         easy to construct a directory too large to be processed by any of
4205         those tools.  With this change, fts' maximum memory utilization is
4206         now limited to around 30MB.
4207         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
4208         (fts_read): When we've processed the final entry (i.e., when
4209         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
4210         using the parent entry to read any remaining entries.  Dispatch
4211         depending on what fts_build returns:
4212         - NULL+stop, aka failure: stop
4213         - NULL otherwise: move up in the dir hierarchy
4214         - non-NULL: handle this new entry
4215         (fts_build): Declare and use new local, continue_readdir.
4216         Prepare to be called from fts_read, when the entries
4217         from a partially-read directory have just been exhausted.
4218         In that case, we'll skip the opendir and instead use the parent's
4219         fts_dirp and derive dir_fd from that.
4220         Finally, in the readdir loop, if we read max_entries entries,
4221         exit the loop ensuring *not* to call closedir.  This is required
4222         so that fts_dirp can be reused on a subsequent call.
4223         Prompted by Ben England's report of memory exhaustion in find
4224         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
4225
4226         maint: fts: move decl of `dp' down into while loop; split a long line
4227         * lib/fts.c (fts_build): No semantic change.
4228
4229         fts: add/use new struct member, fts_dirp
4230         We are about to use this to manage any directory with
4231         too many entries to read all of them into memory at once.
4232         To do that, we'll need to save the DIR* pointer in each
4233         affected FTSENT struct.
4234         * lib/fts_.h: Include <dirent.h>.
4235         (struct FTSENT) [fts_dirp]: New member.
4236         * lib/fts.c (closedir_and_clear): Define.
4237         Use it in place of closedir so that we are sure to
4238         clear the new fts_dirp member when done with it.
4239         (fts_alloc): Initialize the new member.
4240         (fts_lfree): Free, if needed.
4241
4242         maint: fts: give __opendir2 a new parameter and rename
4243         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
4244         than surreptitiously using sole caller's "dir_fd".
4245         (fts_opendir): Rename from __opendir2.
4246
4247         maint: fts.c: remove __opendir2's now-unused parameter, oflag
4248         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
4249
4250         maint: fts.c: correct off-by-one indentation
4251         * lib/fts.c (fts_build): Correct indentation, change style
4252         of a couple of block comments, and bracing style.
4253
4254         maint: fts.c: move __opendir2 #define "up" out of function body
4255         * lib/fts.c (__opendir2): Move "up".  No semantic change.
4256
4257         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
4258         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
4259         out for a long time and besides was useful only on BSD systems.
4260
4261 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4262
4263         regex: port to Stratus OpenVOS
4264         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
4265         define to empty, rather than attempting nonportable optimizations.
4266         Problem reported by Paul Green in:
4267         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
4268         and fix suggested by Eric Blake in:
4269         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
4270
4271 2011-08-17  Eric Blake  <eblake@redhat.com>
4272
4273         getcwd: fix test failures on mingw
4274         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
4275         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
4276         test if long directory cannot be created, and allow mingw errno.
4277
4278         getcwd-lgpl: fix m4 to match relaxed test for BSD
4279         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
4280         (gl_FUNC_GETCWD_SIGNATURE): New macro.
4281         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
4282         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
4283         signature problem.
4284
4285         getcwd: fix compilation on mingw64
4286         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
4287         getcwd.
4288         Reported by Marc-André Lureau.
4289
4290         pipe2: silence compiler warning
4291         * lib/pipe2.c (pipe2): Hide label if it is not used.
4292
4293 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
4294
4295         relocatable-prog: fix link error
4296         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
4297         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
4298         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
4299         into modules/relocatable-lib without noticing that
4300         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
4301         also needs to build relocatable.c.
4302
4303 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4304
4305         getaddrinfo: fix sh typo in gai_strerrorA decl checking
4306         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
4307         shell code: it contained a 'break' that was not in a loop.
4308         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
4309         via a shell-language loop; this may have been true in old Autoconf
4310         versions, but it's not true in Autoconf 2.68.  I found this bug
4311         when testing coreutils git on Solaris 8, whose shell complains
4312         about the syntax error.
4313
4314 2011-08-12  Simon Josefsson  <simon@josefsson.org>
4315
4316         * lib/base64.c: Fix comment to reference RFC 4648.
4317         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
4318         <gvtulder@gmail.com>.
4319
4320 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4321
4322         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
4323
4324         po/Makefile.in.in: fix make -q problem
4325         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
4326         rule, since there's no file named 'check-macro-version' and its
4327         use as a file breaks make -q.
4328         (all): Don't depend on check-macro-version.
4329         (CHECK_MACRO_VERSION): New macro.
4330         (stamp-po): Use it.
4331
4332         configmake: fix make -q problem
4333         * modules/configmake (configmake.h): Update configmake.h's time stamp
4334         even if the file does not change.  Otherwise, 'make -q' fails.
4335         Problem reported by Simon Josefsson in
4336         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
4337
4338 2011-08-11  Jim Meyering  <meyering@redhat.com>
4339
4340         git-version-gen: correct the advice in a comment
4341         * build-aux/git-version-gen: Correct comment.
4342         Don't recommend to list .tarball-version in .gitignore.
4343
4344 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4345
4346         base64: fix off-by-one buffer size bug
4347         Problem and (trivial) fix reported by Gijs van Tulder in
4348         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
4349         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
4350         * tests/test-base64.c (main): Catch the bug.
4351
4352 2011-08-10  Eric Blake  <eblake@redhat.com>
4353
4354         closein: correct comments
4355         * lib/closein.c (close_stdin): Improve comments.
4356
4357 2011-08-09  Bruno Haible  <bruno@clisp.org>
4358
4359         More tests for 'fseeko'.
4360         * tests/test-fseeko3.c: New file, from Eric Blake.
4361         * tests/test-fseeko3.sh: New file.
4362         * modules/fseeko-tests (Files): Add them.
4363         (TESTS): Add test-fseeko3.sh.
4364         (check_PROGRAMS): Add test-fseeko3.
4365
4366 2011-08-09  Eric Blake  <eblake@redhat.com>
4367
4368         fseeko: remove unneeded hack
4369         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
4370
4371         fseeko: fix bug on glibc
4372         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
4373         Reported by John W. Eaton.
4374
4375 2011-08-08  Bruno Haible  <bruno@clisp.org>
4376
4377         unictype/base: Fix interoperability with preinstalled libunistring.
4378         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
4379         Reported by Simon Josefsson.
4380
4381 2011-08-08  Bruno Haible  <bruno@clisp.org>
4382
4383         iswblank: Detect declaration correctly.
4384         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
4385         AC_CHECK_DECLS invocation.
4386
4387 2011-08-08  Bruno Haible  <bruno@clisp.org>
4388
4389         tcgetsid: Detect declaration correctly.
4390         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
4391         AC_CHECK_DECLS invocation.
4392         Reported by Simon Josefsson.
4393
4394 2011-08-08  Eric Blake  <eblake@redhat.com>
4395
4396         largefile: fix typo that regressed large file support
4397         * modules/largefile (configure.ac-early): Fix section name.
4398
4399 2011-08-06  Karl Berry  <karl@gnu.org>
4400
4401         * MODULES.html.sh (func_all_files): _Noreturn is no longer
4402         a separate module.
4403
4404 2011-08-05  Simon Josefsson  <simon@josefsson.org>
4405
4406         openat: Fix warnings and commens when building unlinkat.c on Hurd.
4407         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
4408         get prototype for free.
4409
4410 2011-08-04  Bruno Haible  <bruno@clisp.org>
4411
4412         Tests for module 'pathmax'.
4413         * modules/pathmax-tests: New file.
4414         * tests/test-pathmax.c: New file.
4415
4416         canonicalize-lgpl: Support larger filenames on the Hurd.
4417         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
4418         Reported by Paul Eggert.
4419
4420         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
4421         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
4422         * lib/chdir-long.h: Include pathmax.h.
4423         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
4424         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
4425         (PATH_MAX): Remove code that is done by pathmax.h.
4426         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
4427         * lib/tmpfile.c: Add a comment.
4428         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
4429         * modules/chdir-long (Depends-on): Add pathmax.
4430         * modules/getcwd (Depends-on): Add pathmax.
4431         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
4432         is not defined.
4433         * doc/posix-headers/limits.texi: Mention the pathmax module.
4434         * NEWS: Mention the change.
4435
4436 2011-08-02  Bruno Haible  <bruno@clisp.org>
4437
4438         pthread_sigmask: Actually use results of gl_THREADLIB.
4439         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
4440         gl_THREADLIB, not gl_[]THREADLIB.
4441         Reported by Eric Blake.
4442
4443 2011-08-02  Jim Meyering  <meyering@redhat.com>
4444
4445         maint.mk: relax the default _gl_TS_function_match regexp
4446         * top/maint.mk (_gl_TS_function_match): Don't require at least one
4447         space between function name and "(" in an "extern" declaration.
4448         That would fail to match a decl with no space there: extern void foo();
4449
4450 2011-07-31  Iain Nicol  <iain@thenicols.net>
4451
4452         git-version-gen: document that EXTRA_DIST must include .version
4453         * build-aux/git-version-gen: In the how-to-use comment, document
4454         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
4455         will fail when run from an unpacked distribution tarball.
4456
4457 2011-08-01  Bruno Haible  <bruno@clisp.org>
4458
4459         wctype-h: Fix last change.
4460         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
4461         REPLACE_TOWLOWER to 0.
4462         Reported by Sam Steingold <sds@gnu.org>.
4463
4464 2011-07-31  Bruno Haible  <bruno@clisp.org>
4465
4466         frexpl: Update autoconf test.
4467         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4468         according to changes of 2011-06-20.
4469
4470 2011-07-31  Bruno Haible  <bruno@clisp.org>
4471
4472         sys_utsname: Add support for Minix.
4473         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4474         <sys/utsname.h>.
4475         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4476         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4477
4478 2011-07-31  Bruno Haible  <bruno@clisp.org>
4479
4480         strings: Add support for Minix.
4481         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4482         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4483         * doc/posix-headers/strings.texi: Document the Minix problem.
4484
4485 2011-07-31  Bruno Haible  <bruno@clisp.org>
4486
4487         wctype-h: Add support for Minix.
4488         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4489         REPLACE_TOWLOWER.
4490         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4491         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4492         REPLACE_ISWCNTRL.
4493
4494 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4495
4496         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4497         This is a performance improvement for 64-bit hosts: it causes the
4498         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4499
4500 2011-07-31  Bruno Haible  <bruno@clisp.org>
4501
4502         stdioext: Add support for Minix.
4503         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4504         * lib/fpurge.c (fpurge): Likewise.
4505         * lib/freadahead.c (freadahead): Likewise.
4506         * lib/freadable.c (freadable): Likewise.
4507         * lib/freading.c (freading): Likewise.
4508         * lib/freadptr.c (freadptr): Likewise.
4509         * lib/freadseek.c (freadptrinc): Likewise.
4510         * lib/fseeko.c (rpl_fseeko): Likewise.
4511         * lib/fseterr.c (fseterr): Likewise.
4512         * lib/fwritable.c (fwritable): Likewise.
4513         * lib/fwriting.c (fwriting): Likewise.
4514         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4515         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4516
4517 2011-07-31  Bruno Haible  <bruno@clisp.org>
4518
4519         errno: Port to Minix.
4520         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4521         ECONNABORTED are defined.
4522         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4523         GNULIB_defined_ECONNABORTED): New macros.
4524         * lib/strerror-override.h (strerror_override): Test also
4525         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
4526         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
4527         ECONNABORTED.
4528         * doc/posix-headers/errno.texi: Mention the Minix problem.
4529
4530 2011-07-31  Bruno Haible  <bruno@clisp.org>
4531
4532         Work around declaration collisions on Minix.
4533         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
4534         defined, set REPLACE_MBSINIT.
4535         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
4536         defined, set REPLACE_MBRTOWC.
4537         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
4538         set REPLACE_MBRLEN.
4539         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
4540         defined, set REPLACE_MBSRTOWCS.
4541         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
4542         defined, set REPLACE_WCRTOMB.
4543         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
4544         defined, set REPLACE_WCSRTOMBS.
4545
4546 2011-07-31  Bruno Haible  <bruno@clisp.org>
4547
4548         Add support for Minix with ACK compiler.
4549         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
4550         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
4551         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
4552
4553 2011-07-31  Bruno Haible  <bruno@clisp.org>
4554
4555         Documentation about Minix.
4556         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
4557         * doc/glibc-headers/*.texi: Likewise.
4558         * doc/posix-functions/*.texi: Likewise.
4559         * doc/glibc-functions/*.texi: Likewise.
4560
4561 2011-07-31  Bruno Haible  <bruno@clisp.org>
4562
4563         snippet/warn-on-use: Fix indentation.
4564         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
4565
4566 2011-07-25  Jim Meyering  <meyering@redhat.com>
4567
4568         tests: test-update-copyright.sh: remove unnecessary "rm" commands
4569         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
4570         commands.
4571
4572 2011-07-27  Jim Meyering  <meyering@redhat.com>
4573
4574         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4575         * top/maint.mk (gl_extract_significant_defines_): Now that
4576         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
4577         gnulib/lib/signal.in.h, and now that we recommend to
4578         define-if-undefined those two symbols in application code,
4579         we must filter them out of the "significant" list.
4580         This avoids a "make syntax-check" failure in coreutils.
4581
4582 2011-07-26  Eric Blake  <eblake@redhat.com>
4583
4584         warnings: add comments about previous patch
4585         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
4586         * m4/include_next.m4: Likewise.
4587         * m4/warn-on-use.m4: Likewise.
4588         * m4/warnings.m4: Likewise, and simplify use.
4589         Suggested by Stefano Lattarini.
4590
4591         include-next, warnings: support older autoconf
4592         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
4593         AS_VAR_PUSHDEF in a way that works with older autoconf.
4594         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
4595         Reported by Daniel P. Berrange.
4596
4597 2011-07-25  Bruno Haible  <bruno@clisp.org>
4598
4599         fseek, ftell: Fix doc.
4600         * doc/posix-functions/fseek.texi: Reword statement about
4601         AC_SYS_LARGEFILE.
4602         * doc/posix-functions/ftell.texi: Likewise.
4603
4604 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4605             Bruno Haible  <bruno@clisp.org>
4606
4607         Add dependencies to the 'largefile' module.
4608         * modules/fopen (Depends-on): Add 'largefile'.
4609         * modules/freopen (Depends-on): Likewise.
4610         * modules/fseeko (Depends-on): Likewise.
4611         * modules/ftello (Depends-on): Likewise.
4612         * modules/glob (Depends-on): Likewise.
4613         * modules/lseek (Depends-on): Likewise.
4614         * modules/lstat (Depends-on): Likewise.
4615         * modules/mkostemp (Depends-on): Likewise.
4616         * modules/mkostemps (Depends-on): Likewise.
4617         * modules/mkstemp (Depends-on): Likewise.
4618         * modules/mkstemps (Depends-on): Likewise.
4619         * modules/open (Depends-on): Likewise.
4620         * modules/openat (Depends-on): Likewise.
4621         * modules/pread (Depends-on): Likewise.
4622         * modules/pwrite (Depends-on): Likewise.
4623         * modules/scandir (Depends-on): Likewise.
4624         * modules/stat (Depends-on): Likewise.
4625         * modules/tmpfile (Depends-on): Likewise.
4626         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
4627         since the containing module now depends on the largefile module.
4628         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
4629         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
4630         off_t is fixed by gnulib.
4631         * doc/posix-functions/freopen.texi: Likewise.
4632         * doc/posix-functions/fseeko.texi: Likewise.
4633         * doc/posix-functions/fstatat.texi: Likewise.
4634         * doc/posix-functions/ftello.texi: Likewise.
4635         * doc/posix-functions/glob.texi: Likewise.
4636         * doc/posix-functions/lseek.texi: Likewise.
4637         * doc/posix-functions/lstat.texi: Likewise.
4638         * doc/posix-functions/mkstemp.texi: Likewise.
4639         * doc/posix-functions/open.texi: Likewise.
4640         * doc/posix-functions/openat.texi: Likewise.
4641         * doc/posix-functions/pread.texi: Likewise.
4642         * doc/posix-functions/pwrite.texi: Likewise.
4643         * doc/posix-functions/scandir.texi: Likewise.
4644         * doc/posix-functions/stat.texi: Likewise.
4645         * doc/posix-functions/tmpfile.texi: Likewise.
4646         * doc/glibc-functions/mkostemp.texi: Likewise.
4647         * doc/glibc-functions/mkostemps.texi: Likewise.
4648         * doc/glibc-functions/mkstemps.texi: Likewise.
4649
4650 2011-07-25  Bruno Haible  <bruno@clisp.org>
4651
4652         fcntl: Move AC_LIBOBJ invocation to module description.
4653         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
4654         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
4655
4656         fcntl: Remove call-in from fchdir.m4.
4657         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
4658         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
4659
4660         dup3: Remove potential call-in from fchdir.m4.
4661         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
4662         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
4663
4664         dup2: Move AC_LIBOBJ invocation to module description.
4665         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
4666         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
4667         Don't invoke AC_LIBOBJ.
4668         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
4669
4670         dup2: Remove call-in from fchdir.m4.
4671         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
4672         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
4673
4674         fclose: Move AC_LIBOBJ invocation to module description.
4675         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
4676         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
4677         to 1.
4678         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
4679
4680         fclose: Remove call-in from close.m4.
4681         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
4682         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
4683
4684         close: Move AC_LIBOBJ invocation to module description.
4685         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
4686         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
4687         1.
4688         * modules/close (configure.ac): Invoke AC_LIBOBJ.
4689
4690         close: Remove call-in from fchdir.m4.
4691         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
4692         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
4693
4694         open: Move AC_LIBOBJ invocation to module description.
4695         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
4696         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
4697         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
4698
4699         open: Remove call-in from fchdir.m4.
4700         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
4701         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
4702
4703         fchdir: Start to remove gl_REPLACE_* idiom.
4704         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
4705         (gl_FUNC_FCHDIR): Invoke it.
4706
4707 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4708
4709         * lib/ftell.c (ftell): Comment out cast.
4710
4711         close: use gl_REPLACE_FCLOSE only if defined
4712         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
4713         is defined.  The close module doesn't depend on the fclose module
4714         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
4715         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
4716         I reproduced the problem with "./gnulib-tool --test close sys_socket".
4717
4718 2011-07-24  Jim Meyering  <meyering@redhat.com>
4719
4720         test-select.h: avoid warning when using gcc's -Wmissing-declarations
4721         * tests/test-select.h (test_function): Declare as "static".
4722
4723 2011-07-24  Bruno Haible  <bruno@clisp.org>
4724
4725         doc: Mention the effects of AC_SYS_LARGEFILE.
4726         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
4727         on this function.
4728         * doc/posix-functions/aio_error.texi: Likewise.
4729         * doc/posix-functions/aio_fsync.texi: Likewise.
4730         * doc/posix-functions/aio_read.texi: Likewise.
4731         * doc/posix-functions/aio_return.texi: Likewise.
4732         * doc/posix-functions/aio_suspend.texi: Likewise.
4733         * doc/posix-functions/aio_write.texi: Likewise.
4734         * doc/posix-functions/fgetpos.texi: Likewise.
4735         * doc/posix-functions/fopen.texi: Likewise.
4736         * doc/posix-functions/freopen.texi: Likewise.
4737         * doc/posix-functions/fsetpos.texi: Likewise.
4738         * doc/posix-functions/fstatvfs.texi: Likewise.
4739         * doc/posix-functions/ftruncate.texi: Likewise.
4740         * doc/posix-functions/ftw.texi: Likewise.
4741         * doc/posix-functions/getrlimit.texi: Likewise.
4742         * doc/posix-functions/glob.texi: Likewise.
4743         * doc/posix-functions/lio_listio.texi: Likewise.
4744         * doc/posix-functions/lockf.texi: Likewise.
4745         * doc/posix-functions/mkstemp.texi: Likewise.
4746         * doc/posix-functions/mmap.texi: Likewise.
4747         * doc/posix-functions/nftw.texi: Likewise.
4748         * doc/posix-functions/openat.texi: Likewise.
4749         * doc/posix-functions/opendir.texi: Likewise.
4750         * doc/posix-functions/posix_fadvise.texi: Likewise.
4751         * doc/posix-functions/posix_fallocate.texi: Likewise.
4752         * doc/posix-functions/pread.texi: Likewise.
4753         * doc/posix-functions/pwrite.texi: Likewise.
4754         * doc/posix-functions/readdir.texi: Likewise.
4755         * doc/posix-functions/readdir_r.texi: Likewise.
4756         * doc/posix-functions/rewinddir.texi: Likewise.
4757         * doc/posix-functions/scandir.texi: Likewise.
4758         * doc/posix-functions/seekdir.texi: Likewise.
4759         * doc/posix-functions/setrlimit.texi: Likewise.
4760         * doc/posix-functions/statvfs.texi: Likewise.
4761         * doc/posix-functions/telldir.texi: Likewise.
4762         * doc/posix-functions/tmpfile.texi: Likewise.
4763         * doc/posix-functions/truncate.texi: Likewise.
4764         * doc/glibc-functions/fallocate.texi: Likewise.
4765         * doc/glibc-functions/fstatfs.texi: Likewise.
4766         * doc/glibc-functions/fts_children.texi: Likewise.
4767         * doc/glibc-functions/fts_read.texi: Likewise.
4768         * doc/glibc-functions/getdirentries.texi: Likewise.
4769         * doc/glibc-functions/mkostemp.texi: Likewise.
4770         * doc/glibc-functions/mkostemps.texi: Likewise.
4771         * doc/glibc-functions/mkstemps.texi: Likewise.
4772         * doc/glibc-functions/preadv.texi: Likewise.
4773         * doc/glibc-functions/pwritev.texi: Likewise.
4774         * doc/glibc-functions/sendfile.texi: Likewise.
4775         * doc/glibc-functions/statfs.texi: Likewise.
4776
4777 2011-07-24  Bruno Haible  <bruno@clisp.org>
4778
4779         doc: Fix typo.
4780         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
4781
4782 2011-07-24  Bruno Haible  <bruno@clisp.org>
4783
4784         doc: Mention fsusage.
4785         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
4786
4787 2011-07-24  Bruno Haible  <bruno@clisp.org>
4788
4789         doc: Mention new glibc headers and functions.
4790         * doc/glibc-headers/gshadow.texi: New file.
4791         * doc/glibc-functions/endsgent.texi: New file.
4792         * doc/glibc-functions/fgetsgent.texi: New file.
4793         * doc/glibc-functions/fgetsgent_r.texi: New file.
4794         * doc/glibc-functions/getsgent.texi: New file.
4795         * doc/glibc-functions/getsgent_r.texi: New file.
4796         * doc/glibc-functions/getsgnam.texi: New file.
4797         * doc/glibc-functions/getsgnam_r.texi: New file.
4798         * doc/glibc-functions/putsgent.texi: New file.
4799         * doc/glibc-functions/setsgent.texi: New file.
4800         * doc/glibc-functions/sgetsgent.texi: New file.
4801         * doc/glibc-functions/sgetsgent_r.texi: New file.
4802         * doc/glibc-functions/malloc_info.texi: New file.
4803         * doc/glibc-functions/preadv.texi: New file.
4804         * doc/glibc-functions/pwritev.texi: New file.
4805         * doc/glibc-functions/register_printf_modifier.texi: New file.
4806         * doc/glibc-functions/register_printf_specifier.texi: New file.
4807         * doc/glibc-functions/register_printf_type.texi: New file.
4808         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
4809         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
4810         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
4811         * doc/glibc-functions/pthread_getname_np.texi: New file.
4812         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
4813         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
4814         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
4815         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
4816         * doc/glibc-functions/pthread_setname_np.texi: New file.
4817         * doc/glibc-functions/pthread_sigqueue.texi: New file.
4818         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
4819         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
4820         * doc/glibc-functions/qsort_r.texi: New file.
4821         * doc/glibc-functions/quick_exit.texi: New file.
4822         * doc/glibc-functions/syncfs.texi: New file.
4823         * doc/gnulib.texi: Include them.
4824         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
4825         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
4826         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
4827         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
4828         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
4829         * doc/glibc-functions/execvpe.texi: Likewise.
4830
4831 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4832
4833         ftell: don't include <unistd.h>
4834         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
4835         guaranteed to define off_t, and the ftell module depends on the
4836         stdio module.
4837
4838         ftell: do not assume wraparound signed arithmetic
4839         * lib/ftell.c: Include <limits.h>.
4840         (ftell): Don't assume wraparound signed arithmetic.
4841
4842 2011-07-24  Bruno Haible  <bruno@clisp.org>
4843
4844         close: No longer depend on module 'fclose'.
4845         * modules/close (Depends-on): Remove fclose.
4846         * NEWS: Mention the change.
4847         Suggested by Sam Steingold <sds@gnu.org>.
4848
4849 2011-07-24  Bruno Haible  <bruno@clisp.org>
4850
4851         fsusage: Enable large volume support on AIX >= 5.2.
4852         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
4853         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
4854         instead of STAT_STATVFS.
4855         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
4856
4857         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
4858         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
4859         f_blocks field only on MacOS X.
4860
4861         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
4862         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
4863         * modules/fsusage (Depends-on): Add largefile.
4864
4865 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4866
4867         * README: Modernize discussion of signed integers.
4868         Assuming overflow wraparound is no longer safe.
4869         Mention ones' complement and signed magnitude.
4870
4871 2011-07-22  Bruno Haible  <bruno@clisp.org>
4872
4873         select tests, pselect tests: Refactor.
4874         * tests/test-select.h: New file, extracted from tests/test-select.c.
4875         (select_fn): New type.
4876         (test, do_select, do_select_nowait, do_select_wait, test_tty,
4877         test_connect_first, test_accept_first, test_pair, test_socket_pair,
4878         test_pipe): Add my_select argument.
4879         (test_function): Renamed from main. Add my_select argument.
4880         * tests/test-select.c: Move most code to tests/test-select.h. Include
4881         test-select.h.
4882         * modules/select-tests (Files): Add tests/test-select.h.
4883         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
4884         (my_select, main): New functions.
4885         * modules/pselect-tests (Files): Add tests/test-select.h,
4886         tests/macros.h, tests/signature.h.
4887         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
4888         (configure.ac): Check for <sys/wait.h>.
4889
4890 2011-07-22  Bruno Haible  <bruno@clisp.org>
4891
4892         sys_select tests: Check the signature of FD_*.
4893         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
4894         signature tests from here...
4895         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
4896         here.
4897         * modules/sys_select-tests (Files): Add tests/signature.h.
4898
4899 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4900
4901         largefile: new module, replacing large-inode
4902         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
4903         * MODULES.html.sh: Add largefile, remove large-inode.
4904         * modules/largefile, m4/largefile.m4: New files.
4905         * modules/large-inode, m4/large-inode.m4: Remove.
4906
4907         fsusage: port to MacOS X 10.7 with 4 TiB file systems
4908         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
4909         implementations that use only 32 bits to count blocks.
4910         On typical hosts with 1024-byte blocks, this fails with file
4911         systems as small as 4 TiB.  Problem reported by Herb Wartens
4912         <http://debbugs.gnu.org/9140> and this should also fix a similar
4913         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
4914
4915         large-inode: New module
4916         * MODULES.html.sh: Add it.
4917         * modules/large-inode, m4/large-inode.m4: New files.
4918
4919         extensions: Enable extensions on MacOS X 10.5 and later.
4920         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
4921
4922 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
4923
4924         file-has-acl: use acl_extended_file_nofollow if available
4925         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
4926         (acl_extended_file): New macro.
4927         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
4928         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
4929
4930 2011-07-21  Bruno Haible  <bruno@clisp.org>
4931
4932         Declare system functions in a way that works with C++.
4933         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
4934         declare fdopendir as extern "C".
4935         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
4936         declare frexpl as extern "C".
4937         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
4938         declare gai_strerror as extern "C".
4939         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
4940         programs, declare gai_strerror as extern "C".
4941         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
4942         declare getlogin_r as extern "C".
4943         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
4944         as extern "C".
4945         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
4946         declare ldexpl as extern "C".
4947         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
4948         as extern "C".
4949         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
4950         program, declare getmntinfo as extern "C".
4951         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
4952         stpncpy as extern "C".
4953         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
4954         program, declare __xpg_strerror_r as extern "C".
4955         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
4956         strndup as extern "C".
4957         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
4958         declare memset and bzero as extern "C".
4959         Reported by Sam Steingold <sds@gnu.org>.
4960
4961 2011-07-12  Jim Meyering  <meyering@redhat.com>
4962
4963         maint.mk: prohibit inclusion of "verify.h" without use
4964         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
4965
4966 2011-07-19  Pádraig Brady  <P@draigBrady.com>
4967
4968         timer-time: A new module to check for timer_settime()
4969         * m4/timer_time.m4: Check for the posix function.
4970         * modules/timer-time: Add the new module.
4971         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
4972         Mention it.
4973
4974 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
4975             Bruno Haible  <bruno@clisp.org>
4976
4977         pthread_sigmask: assume POSIX threads if --avoid=threadlib
4978         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
4979         not defined, assume POSIX threads and look for pthread_sigmask in
4980         $LIBS, without changing $CPPFLAGS.
4981
4982 2011-07-19  Bruno Haible  <bruno@clisp.org>
4983
4984         strstr: Update cross-compilation guess.
4985         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
4986         CPUs, guess no, in view of glibc
4987         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
4988         Suggested by Eric Blake. Reported by Reuben Thomas.
4989
4990 2011-07-19  Pádraig Brady  <P@draigBrady.com>
4991
4992         getopt-gnu: suppress core dumps from detection code
4993         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
4994         to suppress core dumps that may well occur on glibc systems.
4995         * modules/getopt-gnu: Depend on nocrash.
4996
4997 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4998
4999         pthread_sigmask: ensure usleep is declared
5000         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
5001         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
5002
5003 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5004
5005         doc: Document NonStop portability issues.
5006         * doc/posix-functions/sigaction.texi (sigaction):
5007         * doc/posix-headers/signal.texi (signal.h):
5008         Document NonStop.  See Joachim Schmitz in
5009         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
5010
5011 2011-07-15  Bruno Haible  <bruno@clisp.org>
5012
5013         ffsl, ffsll: Avoid unportable behaviour.
5014         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
5015
5016 2011-07-15  Bruno Haible  <bruno@clisp.org>
5017
5018         ffs: More tests.
5019         * tests/test-ffs.c (NBITS): New macro.
5020         (main): Add more tests.
5021         * tests/test-ffsl.c (NBITS): New macro.
5022         (main): Add more tests.
5023         * tests/test-ffsll.c (NBITS): New macro.
5024         (main): Add more tests.
5025
5026 2011-07-15  Eric Blake  <eblake@redhat.com>
5027
5028         ffsl, ffsll: new modules
5029         * modules/ffsl: New file.
5030         * modules/ffsll: Likewise.
5031         * m4/ffsl.m4: Likewise.
5032         * m4/ffsll.m4: Likewise.
5033         * lib/ffsl.c: Likewise.
5034         * lib/ffsl.h: Likewise.
5035         * lib/ffsll.c: Likewise.
5036         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
5037         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
5038         * modules/string (Makefile.am): Substitute witnesses.
5039         * lib/strings.in.h (ffsl, ffsll): Declare.
5040         * modules/ffsl-tests: New test file.
5041         * modules/ffsll-tests: Likewise.
5042         * tests/test-ffsl.c: Likewise.
5043         * tests/test-ffsll.c: Likewise.
5044         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5045         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
5046         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
5047
5048         ffs: fix m4 prerequisite
5049         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
5050
5051         ffs: avoid undefined behavior
5052         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
5053         * tests/test-ffs.c (naive, main): Avoid signed shifts.
5054         Reported by Bruno Haible.
5055
5056 2011-07-12  Bruno Haible  <bruno@clisp.org>
5057
5058         pthread_sigmask: Rely on module 'threadlib'.
5059         * modules/pthread_sigmask (Depends-on): Add threadlib.
5060         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
5061         is defined.
5062
5063 2011-07-12  Bruno Haible  <bruno@clisp.org>
5064
5065         regex: Depend on module 'strcase'.
5066         * modules/regex (Depends-on): Add strcase, for strcasecmp().
5067
5068 2011-07-12  Jim Meyering  <meyering@redhat.com>
5069
5070         warn-on-use: fix typo in file name
5071         * modules/snippet/warn-on-use (Files): Correct file name:
5072         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
5073
5074 2011-07-12  Bruno Haible  <bruno@clisp.org>
5075
5076         strings: Document module.
5077         * doc/posix-headers/strings.texi: Mention module 'strings'.
5078
5079 2011-07-12  Bruno Haible  <bruno@clisp.org>
5080
5081         Rename module '_Noreturn' to 'snippet/_Noreturn'.
5082         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
5083         (Files, Makefile.am): Update.
5084         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
5085         * modules/stdlib (Depends-on): Update.
5086
5087 2011-07-12  Bruno Haible  <bruno@clisp.org>
5088
5089         * NEWS: Mention the changes.
5090
5091         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
5092         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
5093         (Files, Makefile.am): Update.
5094         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
5095         * modules/arpa_inet (Depends-on): Update.
5096         * modules/ctype (Depends-on): Update.
5097         * modules/dirent (Depends-on): Update.
5098         * modules/fcntl-h (Depends-on): Update.
5099         * modules/glob (Depends-on): Update.
5100         * modules/iconv-h (Depends-on): Update.
5101         * modules/inttypes-incomplete (Depends-on): Update.
5102         * modules/langinfo (Depends-on): Update.
5103         * modules/locale (Depends-on): Update.
5104         * modules/math (Depends-on): Update.
5105         * modules/netdb (Depends-on): Update.
5106         * modules/poll-h (Depends-on): Update.
5107         * modules/pty (Depends-on): Update.
5108         * modules/search (Depends-on): Update.
5109         * modules/signal (Depends-on): Update.
5110         * modules/spawn (Depends-on): Update.
5111         * modules/stdio (Depends-on): Update.
5112         * modules/stdlib (Depends-on): Update.
5113         * modules/string (Depends-on): Update.
5114         * modules/strings (Depends-on): Update.
5115         * modules/sys_file (Depends-on): Update.
5116         * modules/sys_ioctl (Depends-on): Update.
5117         * modules/sys_select (Depends-on): Update.
5118         * modules/sys_socket (Depends-on): Update.
5119         * modules/sys_stat (Depends-on): Update.
5120         * modules/sys_time (Depends-on): Update.
5121         * modules/sys_times (Depends-on): Update.
5122         * modules/sys_utsname (Depends-on): Update.
5123         * modules/sys_wait (Depends-on): Update.
5124         * modules/termios (Depends-on): Update.
5125         * modules/time (Depends-on): Update.
5126         * modules/unistd (Depends-on): Update.
5127         * modules/wchar (Depends-on): Update.
5128         * modules/wctype-h (Depends-on): Update.
5129         * MODULES.html.sh (Support for building libraries and executables):
5130         Update.
5131
5132         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
5133         * modules/snippet/unused-parameter: Renamed from
5134         modules/unused-parameter.
5135         (Files, Makefile.am): Update.
5136         * build-aux/snippet/unused-parameter.h: Renamed from
5137         build-aux/unused-parameter.h.
5138         * modules/selinux-h (Depends-on): Update.
5139         * modules/unistr/base (Depends-on): Update.
5140         * MODULES.html.sh (Core language properties): Update.
5141
5142         Rename module 'link-warning' to 'snippet/link-warning'.
5143         * modules/snippet/link-warning: Renamed from modules/link-warning.
5144         (Files, Makefile.am): Update.
5145         * build-aux/snippet/link-warning.h: Renamed from
5146         build-aux/link-warning.h.
5147         * MODULES.html.sh (Support for building libraries and executables):
5148         Update.
5149
5150         Rename module 'c++defs' to 'snippet/c++defs'.
5151         * modules/snippet/c++defs: Renamed from modules/c++defs.
5152         (Files, Makefile.am): Update.
5153         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
5154         * modules/arpa_inet (Depends-on): Update.
5155         * modules/ctype (Depends-on): Update.
5156         * modules/dirent (Depends-on): Update.
5157         * modules/fcntl-h (Depends-on): Update.
5158         * modules/glob (Depends-on): Update.
5159         * modules/iconv-h (Depends-on): Update.
5160         * modules/langinfo (Depends-on): Update.
5161         * modules/locale (Depends-on): Update.
5162         * modules/math (Depends-on): Update.
5163         * modules/netdb (Depends-on): Update.
5164         * modules/poll-h (Depends-on): Update.
5165         * modules/pty (Depends-on): Update.
5166         * modules/search (Depends-on): Update.
5167         * modules/signal (Depends-on): Update.
5168         * modules/spawn (Depends-on): Update.
5169         * modules/stdio (Depends-on): Update.
5170         * modules/stdlib (Depends-on): Update.
5171         * modules/string (Depends-on): Update.
5172         * modules/strings (Depends-on): Update.
5173         * modules/sys_ioctl (Depends-on): Update.
5174         * modules/sys_select (Depends-on): Update.
5175         * modules/sys_socket (Depends-on): Update.
5176         * modules/sys_stat (Depends-on): Update.
5177         * modules/sys_time (Depends-on): Update.
5178         * modules/sys_wait (Depends-on): Update.
5179         * modules/termios (Depends-on): Update.
5180         * modules/time (Depends-on): Update.
5181         * modules/unistd (Depends-on): Update.
5182         * modules/wchar (Depends-on): Update.
5183         * modules/wctype-h (Depends-on): Update.
5184
5185         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
5186         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
5187         (Files, Makefile.am): Update.
5188         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
5189         * modules/argv-iter (Depends-on): Update.
5190         * modules/arpa_inet (Depends-on): Update.
5191         * modules/dirent (Depends-on): Update.
5192         * modules/fcntl-h (Depends-on): Update.
5193         * modules/fnmatch (Depends-on): Update.
5194         * modules/getopt-posix (Depends-on): Update.
5195         * modules/glob (Depends-on): Update.
5196         * modules/iconv-h (Depends-on): Update.
5197         * modules/inttypes-incomplete (Depends-on): Update.
5198         * modules/locale (Depends-on): Update.
5199         * modules/math (Depends-on): Update.
5200         * modules/netdb (Depends-on): Update.
5201         * modules/search (Depends-on): Update.
5202         * modules/signal (Depends-on): Update.
5203         * modules/spawn (Depends-on): Update.
5204         * modules/stdio (Depends-on): Update.
5205         * modules/stdlib (Depends-on): Update.
5206         * modules/string (Depends-on): Update.
5207         * modules/strings (Depends-on): Update.
5208         * modules/sys_socket (Depends-on): Update.
5209         * modules/sys_stat (Depends-on): Update.
5210         * modules/sys_time (Depends-on): Update.
5211         * modules/sys_times (Depends-on): Update.
5212         * modules/sys_utsname (Depends-on): Update.
5213         * modules/time (Depends-on): Update.
5214         * modules/unistd (Depends-on): Update.
5215         * modules/wchar (Depends-on): Update.
5216         * MODULES.html.sh (Support for building libraries and executables):
5217         Update.
5218
5219 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5220
5221         Improvements on _Noreturn and related modules.
5222
5223         modules/_Exit-tests: test _Noreturn too
5224         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
5225         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
5226         (main): Use them.
5227
5228         stdnoreturn, stdnoreturn-tests: remove modules
5229         They're not needed here and a bit premature for use elsewhere.  See
5230         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
5231         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5232         * tests/test-stdnoreturn.c: Remove files.
5233         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
5234         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
5235         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
5236         and using noreturn.
5237         * modules/openat, modules/sigpipe-die, modules/xalloc:
5238         * modules/xmemdup0, modules/xstrtol:
5239         Remove dependency on stdnoreturn.
5240
5241         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
5242         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
5243         Reparenthesize to avoid GCC warning.
5244         Support Microsoft's syntax.
5245         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
5246
5247         _Noreturn-tests: remove module
5248         * modules/_Noreturn-tests: Remove.
5249         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
5250         * tests/test-_Noreturn.c: Remove.
5251         * tests/test-stdnoreturn.c: Merge from the old
5252         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
5253
5254 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5255
5256         _Noreturn, stdnoreturn, and related modules.
5257
5258         * top/maint.mk: Adjust to new noreturn support.
5259         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
5260         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
5261
5262         xalloc: use stdnoreturn.h
5263         * lib/xalloc.h: Include <stdnoreturn.h>.
5264         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5265         * modules/xalloc (Depends-on): Add stdnoreturn.
5266
5267         xstrtol: use stdnoreturn.h
5268         * lib/xstrtol.h: Include <stdnoreturn.h>.
5269         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5270         * modules/xstrtol (Depends-on): Add stdnoreturn.
5271
5272         xmemdup0: use stdnoreturn.h
5273         * lib/xmemdup0.h: Include <stdnoreturn.h>.
5274         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5275         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
5276
5277         sigpipe-die: use stdnoreturn.h
5278         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
5279         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5280         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
5281
5282         openat: use stdnoreturn.h
5283         * lib/openat.h: Include <stdnoreturn.h>.
5284         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5285         * modules/openat (Depends-on): Add stdnoreturn.
5286
5287         * lib/openat-die.c (openat_save_fail): Modernize comment.
5288
5289         * lib/xalloc-die.c (xalloc_die): Modernize comment.
5290
5291         * lib/glthread/thread.h: Modernize comment.
5292
5293         obstack: use _Noreturn
5294         * lib/obstack.c (__attribute__): Remove macro.
5295         (print_and_abort): Use _Noreturn.
5296
5297         c-stack: use _Noreturn
5298         * lib/c-stack.c (die, overflow_handler, segv_handler):
5299         Use _Noreturn rather than __attribute__((noreturn)).
5300
5301         argmatch-tests, exclude_tests: use _Noreturn
5302         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
5303         Remove.
5304         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
5305
5306         stdlib: use _Noreturn
5307         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
5308         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
5309         * modules/stdlib (Depends-on): Add _Noreturn.
5310         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
5311
5312         stdnoreturn-tests: new module
5313         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
5314
5315         stdnoreturn: new module
5316         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
5317         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
5318
5319         _Noreturn-tests: new module
5320         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
5321
5322         _Noreturn: new module
5323         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
5324         New section, mentioning it.
5325         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
5326
5327         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
5328
5329 2011-07-11  Eric Blake  <eblake@redhat.com>
5330
5331         ffs: new module
5332         * modules/ffs: New file.
5333         * m4/ffs.m4: Likewise.
5334         * lib/ffs.c: Likewise.
5335         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
5336         * modules/strings (Makefile.am): Substitute witness.
5337         (Depends-on): Add c++defs.
5338         * lib/strings.in.h (ffs): Declare.
5339         * modules/ffs-tests: New test file.
5340         * tests/test-ffs.c: Test new module.
5341         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5342         * doc/posix-functions/ffs.texi (ffs): Likewise.
5343
5344         regex: avoid compiler warning
5345         * lib/regex.c (includes): Include <strings.h>, for use of
5346         strcasecmp in regcomp.c.
5347         Reported by Joachim Schmitz.
5348
5349 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5350
5351         stdint: respect system's intmax_t if INTMAX_MAX
5352         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
5353         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
5354         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
5355         long but int64_t is long long, and where we will clash with the
5356         system intmax_t if we override it.  See
5357         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
5358         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
5359         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
5360         similarly for UINTMAX_C.
5361
5362 2011-07-08  Bruno Haible  <bruno@clisp.org>
5363
5364         pthread_sigmask tests: Avoid a compiler warning.
5365         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
5366         non-zero.
5367
5368         sigprocmask tests: A better way to avoid a compiler warning.
5369         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
5370         (main): Complain if system() returns non-zero.
5371         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
5372
5373 2011-07-08  Bruno Haible  <bruno@clisp.org>
5374
5375         pthread_sigmask: Work around IRIX bug.
5376         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
5377         bug.
5378         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
5379         there may be unblocked pending signals.
5380         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
5381
5382 2011-07-08  Bruno Haible  <bruno@clisp.org>
5383
5384         pthread_sigmask: Work around Cygwin bug.
5385         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
5386         bug.
5387         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
5388         the system's pthread_sigmask function.
5389         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
5390
5391 2011-07-08  Bruno Haible  <bruno@clisp.org>
5392
5393         pthread_sigmask: Work around bug in single-threaded implementation.
5394         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
5395         FreeBSD, HP-UX, Solaris bug.
5396         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
5397         * lib/pthread_sigmask.c: Include <stddef.h>.
5398         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
5399         the system's pthread_sigmask function.
5400         * modules/pthread_sigmask (configure.ac): Invoke
5401         gl_PREREQ_PTHREAD_SIGMASK.
5402         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
5403         HP-UX, Solaris.
5404
5405 2011-07-08  Eric Blake  <eblake@redhat.com>
5406
5407         test-sigprocmask: avoid compiler warning
5408         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
5409         * tests/test-sigprocmask.c (main): Use it to silence warning.
5410         Reported by Jim Meyering.
5411
5412         test-snprintf: avoid compiler warning
5413         * tests/test-snprintf.c (main): Avoid shadowed declaration.
5414         * tests/test-vsnprintf.c (main): Likewise.
5415         Reported by Jim Meyering.
5416
5417 2011-07-08  Bruno Haible  <bruno@clisp.org>
5418
5419         Tests for module 'pthread_sigmask'.
5420         * modules/pthread_sigmask-tests: New file.
5421         * tests/test-pthread_sigmask1.c: New file, based on
5422         tests/test-sigprocmask.c.
5423         * tests/test-pthread_sigmask2.c: New file.
5424
5425 2011-07-08  Jim Meyering  <meyering@redhat.com>
5426
5427         test-getopt.h: avoid warning about an unused variable
5428         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
5429
5430 2011-07-07  Jim Meyering  <meyering@redhat.com>
5431
5432         maint: reduce list of files exempt from sc_prohibit_leading_TABs
5433         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
5434         now that it no longer contains leading TABs.
5435         Remove unused "url=FIXME" statement.
5436
5437 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5438
5439         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
5440         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5441         When gl_THREADLIB is not in use, assume that the POSIX sematics
5442         are desired.  This is better for Emacs, which uses POSIX semantics
5443         on GNUish and/or POSIXish platforms, and does not use threads at
5444         all otherwise.
5445
5446         pthread_sigmask: fix typo when testing for libraries
5447         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5448         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
5449
5450 2011-07-08  Eric Blake  <eblake@redhat.com>
5451
5452         fts: introduce FTS_NOATIME
5453         * lib/fts_.h (FTS_NOATIME): New bit flag.
5454         (FTS_OPTIONMASK): Adjust.
5455         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
5456         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
5457
5458 2011-07-08  Bruno Haible  <bruno@clisp.org>
5459
5460         Tests for module 'thread'.
5461         * modules/thread-tests: New file.
5462         * tests/test-thread_self.c: New file.
5463         * tests/test-thread_create.cc: New file.
5464
5465 2011-07-08  Bruno Haible  <bruno@clisp.org>
5466
5467         thread: Avoid gcc warnings when using gl_thread_self().
5468         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5469         'void *'.
5470         (gl_thread_self_pointer): Update.
5471
5472 2011-07-07  Bruno Haible  <bruno@clisp.org>
5473
5474         signal-c++-tests: Check declaration of pthread_sigmask.
5475         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5476         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5477         $(LIB_PTHREAD_SIGMASK).
5478
5479 2011-07-07  Bruno Haible  <bruno@clisp.org>
5480
5481         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5482         * lib/signal.in.h (pthread_sigmask): Override if
5483         REPLACE_PTHREAD_SIGMASK is 1.
5484         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5485         REPLACE_PTHREAD_SIGMASK.
5486         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5487         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5488         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5489         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5490         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5491
5492 2011-07-07  Bruno Haible  <bruno@clisp.org>
5493
5494         pthread_sigmask: Ensure declaration in <signal.h>.
5495         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5496         include <pthread.h>.
5497         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5498         problem.
5499
5500 2011-07-07  Bruno Haible  <bruno@clisp.org>
5501
5502         pthread_sigmask: Document the module.
5503         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5504
5505 2011-07-07  Bruno Haible  <bruno@clisp.org>
5506
5507         pthread_sigmask: Follow gnulib conventions.
5508         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5509         gl_PTHREAD_SIGMASK.
5510         * modules/pthread_sigmask (configure.ac): Update.
5511
5512 2011-07-07  Bruno Haible  <bruno@clisp.org>
5513
5514         pthread_sigmask: Make declaration C++ safe.
5515         * lib/signal.in.h: In two special conditions, just do an #include_next.
5516         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5517         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5518         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5519         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5520         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5521         not REPLACE_PTHREAD_MASK.
5522         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5523         not REPLACE_PTHREAD_MASK.
5524         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5525
5526 2011-07-07  Bruno Haible  <bruno@clisp.org>
5527
5528         pthread_sigmask: Fix return value.
5529         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
5530         * lib/pthread_sigmask.c: New file.
5531         * modules/pthread_sigmask (Files): Add it.
5532         (configure.ac): Invoke AC_LIBOBJ.
5533
5534 2011-07-07  Eric Blake  <eblake@redhat.com>
5535
5536         getopt: more portable argv creation
5537         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
5538         const, use char arrays rather than strings.
5539         Suggested by Paul Eggert.
5540
5541 2011-07-07  Bruno Haible  <bruno@clisp.org>
5542
5543         Tests for module 'sigprocmask'.
5544         * modules/sigprocmask-tests: New file.
5545         * tests/test-sigprocmask.c: New file.
5546
5547 2011-07-07  Bruno Haible  <bruno@clisp.org>
5548
5549         float tests: Tweak.
5550         * tests/test-float.c (main): Tweak skip message.
5551
5552 2011-07-07  Eric Blake  <eblake@redhat.com>
5553
5554         getopt: avoid compiler warning during configure
5555         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
5556         assigning string literals to non-const pointer.
5557
5558         getopt-gnu: avoid crash in glibc getopt
5559         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
5560         * tests/test-getopt.h (test_getopt): Enhance test.
5561         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5562         * doc/posix-functions/getopt.texi (getopt): Document it.
5563         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5564         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5565         Likewise.
5566
5567 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
5568
5569         getopt: handle W; without long options in getopt [BZ #12922]
5570         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
5571         but no long options are defined, just return 'W'.
5572
5573 2011-07-07  Bruno Haible  <bruno@clisp.org>
5574
5575         Avoid literal tabs.
5576         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
5577         variable containing a tab instead of a literal tab.
5578         Reported by Jim Meyering.
5579
5580 2011-07-07  Bruno Haible  <bruno@clisp.org>
5581
5582         Comments.
5583         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
5584
5585 2011-07-06  Bruno Haible  <bruno@clisp.org>
5586
5587         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
5588         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
5589         <winsock2.h>.
5590         (rpl_fd_isset, FD_ISSET): New definitions, copied from
5591         lib/sys_socket.in.h.
5592         (close, gethostname): Hide declarations from <winsock2.h>.
5593         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5594         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
5595         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
5596         (select): Don't override if gnulib's <sys/select.h> was already
5597         included.
5598         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
5599         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
5600         setsockopt, shutdown, select): Tweak indentation.
5601
5602 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5603
5604         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
5605         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
5606         in an application that does not use the sys_select module.
5607
5608 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
5609
5610         poll: do not return 0 on timeout=-1
5611         * lib/poll.c: Loop with yield if no events occured
5612
5613 2011-07-06  Eric Blake  <eblake@redhat.com>
5614
5615         pthread_sigmask: always replace when not using pthread
5616         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
5617         replacement when using some threading other than pthread.  Fix
5618         logic bug.
5619
5620 2011-07-06  Bruno Haible  <bruno@clisp.org>
5621
5622         Comments.
5623         * m4/printf.m4: Update comments about mingw.
5624
5625 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5626
5627         sys_select: define sigset_t more portably
5628         * lib/sys_select.in.h: Always include <sys/types.h>, since
5629         we now need sigset_t and mingw defines it there.
5630         Include <signal.h> before split inclusion guard, to avoid
5631         mishaps on Solaris, whose <signal.h> eventually includes us.
5632         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
5633         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
5634         which come from ...
5635         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
5636         gl_CHECK_TYPE_SIGSET_T.
5637         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
5638         does the real work.
5639         * modules/sys_select (Depends-on): Add 'signal'.
5640
5641         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
5642         Suggested by Bruno Haible.
5643
5644         pselect: Use pthread_sigmask, not sigprocmask.
5645         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
5646         multithreaded apps better than sigprocmask does.
5647         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
5648         sigprocmask directly.
5649
5650 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5651
5652         * lib/pselect.c (pselect): Use plain name, without "rpl_".
5653         Don't #undef,  since we don't need any underlying pselect.
5654         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
5655         (Depends-on): Add select.
5656         (Link): Add $(LIBSOCKET).
5657         These changes suggested by Bruno Haible.
5658
5659         pselect: document better
5660         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5661         * doc/posix-functions/pselect.texi (pselect): Document new module.
5662
5663         pthread_sigmask: new module
5664         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5665         * doc/posix-functions/pthread_sigmask.texi: Document new module.
5666         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
5667         This is done only as a macro; I don't know how well that'll
5668         work for C++.  Move <sys/types.h> include before the include_next,
5669         to avoid mishap on Solaris.
5670         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
5671         * modules/signal (Makefile.am): Substitute the check's results.
5672         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
5673
5674         test-pselect: new module
5675         * modules/pselect-tests, tests/test-pselect.c: New files.
5676         * tests/test-select.c, tests/test-sys_select-c++.cc:
5677         If TEST_PSELECT is defined, test pselect instead of testing select.
5678
5679         * tests/test-sys_select.c (sigset_t): Test for it, too.
5680         Suggested by Bruno Haible.
5681
5682 2011-07-05  Eric Blake  <eblake@redhat.com>
5683
5684         snprintf: guarantee %1$d, for libintl
5685         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
5686         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
5687         * doc/posix-functions/snprintf.texi (snprintf): Update.
5688         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5689         * tests/test-snprintf.c (main): Enhance test.
5690         * tests/test-vsnprintf.c (main): Likewise.
5691
5692 2011-07-05  Jim Meyering  <meyering@redhat.com>
5693
5694         maint: exempt stdio-read.c and stdio-write.c from the cppi check
5695         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
5696         per Bruno's request, to accommodate this idiom (no space after "#")
5697         even when the function is inside an #if block:
5698         char *
5699         gets (char *s)
5700         #undef gets
5701         {
5702           ...
5703         }
5704
5705 2011-07-04  Jim Meyering  <meyering@redhat.com>
5706
5707         maint: indent with spaces, not TABs, and add a rule to check this
5708         * tests/test-userspec.c: Indent with spaces, not TABs.
5709         * tests/test-argp.c: Likewise.
5710         * tests/test-c-stack2.sh: Likewise.
5711         * tests/test-parse-duration.sh: Likewise
5712         * m4/strtod.m4: Likewise.
5713         * m4/alloca.m4: Likewise.
5714         * m4/pselect.m4: Likewise.
5715         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
5716
5717 2011-07-03  Jim Meyering  <meyering@redhat.com>
5718
5719         maint.mk: correct omissions in prohibit_argmatch_without_use check
5720         This rule would mistakenly report that argmatch.h is included without
5721         use even when both the argmatch and invalid_arg macro were used.
5722         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
5723         of argmatch and invalid_arg.
5724
5725 2011-07-03  Bruno Haible  <bruno@clisp.org>
5726
5727         Comments about EINTR.
5728         * lib/safe-read.h: Explain the purpose of this module.
5729         * lib/safe-write.h: Likewise.
5730         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
5731         module.
5732         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
5733         module.
5734         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5735
5736 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5737
5738         xnanosleep: Rewrite to use new dtotimespec module.
5739         It has the conversion code that used to be in xnanosleep.
5740         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
5741         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
5742         (TIME_T_MAX): Remove.
5743         (xnanosleep): Rewrite in terms of dtotimespec.
5744         * modules/xnanosleep (Depends-on): Add dtotimespec.
5745         Remove intprops, stdbool.
5746
5747         timespec-add, timespec-sub: new modules
5748         * lib/timespec.h (timespec_add, timespec_sub): New decls.
5749         * lib/timespec-add.c, lib/timespec-sub.c:
5750         * modules/timespec-add, modules/timespec-sub: New files.
5751
5752         dtotimespec: new module
5753         * lib/timespec.h (dtotimespec): New decl.
5754         * lib/dtotimespec.c, modules/dtotimespec: New files.
5755
5756         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
5757
5758         pselect: new module
5759         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
5760         (pselect): New decls.
5761         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
5762         since the standard pselect decl uses 'restrict'.
5763         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
5764         HAVE_PSELECT, REPLACE_PSELECT.
5765         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
5766         HAVE_PSELECT, REPLACE_PSELECT.
5767         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
5768
5769         sys_select: don't depend on sys_socket
5770         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
5771         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
5772         This fix works on GNU and GNU-like platforms, but has not been tested
5773         on native Windows.
5774         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
5775         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
5776         gl_HEADER_SYS_SOCKET.
5777         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
5778         gl_PREREQ_SYS_H_WINSOCK2.
5779
5780 2011-06-29  Eric Blake  <eblake@redhat.com>
5781
5782         pipe2: fix C89 compile problem
5783         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
5784         Reported by Bruno Haible.
5785
5786         pipe, pipe2: don't corrupt fd on error
5787         * lib/pipe.c (pipe): Leave fd unchanged on error.
5788         * lib/pipe2.c (pipe2): Likewise.
5789         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
5790         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
5791
5792 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
5793
5794         mmap-anon: do not use regular expressions inadvertently
5795         * m4/mmap-anon.m4: Remove trailing period from strings sought
5796         in the output.
5797
5798 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5799
5800         nanosleep: fix integer overflow problem
5801         * lib/nanosleep.c (my_usleep): Don't assume signed integer
5802         arithmetic wraps around on overflow.
5803
5804         nanosleep: simplify carrying
5805         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
5806         first call to the underyling nanosleep, not for the last one.
5807         This doesn't fix any bugs, but it simplifies the computation of
5808         the remaining delay.  Found while auditing integer overflow issues.
5809
5810         dup2: remove test for existence of fcntl
5811         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
5812         "#if HAVE_FCNTL", in the configure-time test program.
5813         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
5814         and therefore speeds up "configure" a bit.  Found while
5815         adding the dup2 module to Emacs.
5816
5817 2011-06-24  Eric Blake  <eblake@redhat.com>
5818
5819         maint.mk: enhance useless header checks
5820         * top/maint.mk (_sc_header_without_use): Check both include
5821         styles.
5822         (sc_prohibit_assert_without_use)
5823         (sc_prohibit_close_stream_without_use)
5824         (sc_prohibit_getopt_without_use)
5825         (sc_prohibit_quotearg_without_use)
5826         (sc_prohibit_quote_without_use)
5827         (sc_prohibit_long_options_without_use)
5828         (sc_prohibit_inttostr_without_use)
5829         (sc_prohibit_ignore_value_without_use)
5830         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
5831         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
5832         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
5833         (sc_prohibit_hash_pjw_without_use)
5834         (sc_prohibit_safe_read_without_use)
5835         (sc_prohibit_argmatch_without_use)
5836         (sc_prohibit_canonicalize_without_use)
5837         (sc_prohibit_root_dev_ino_without_use)
5838         (sc_prohibit_openat_without_use)
5839         (sc_prohibit_c_ctype_without_use)
5840         (sc_prohibit_signal_without_use)
5841         (sc_prohibit_stdio--_without_use)
5842         (sc_prohibit_stdio-safer_without_use)
5843         (sc_prohibit_strings_without_use)
5844         (sc_prohibit_intprops_without_use)
5845         (sc_prohibit_stddef_without_use)
5846         (sc_prohibit_xfreopen_without_use): Update clients.
5847
5848 2011-06-24  Jim Meyering  <meyering@redhat.com>
5849
5850         syntax-check: keep one maint.mk rule in sync with its header
5851         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
5852         of the bug Eric has just fixed, with today's commit 25e4c2ec.
5853         I prefer to avoid temporary files here, so use <(...), but that
5854         is not supported by /bin/sh, so...
5855         (SHELL): Define to /bin/bash.
5856
5857 2011-06-24  Eric Blake  <eblake@redhat.com>
5858
5859         maint.mk: update sc_prohibit_intprops_without_use
5860         * top/maint.mk (_intprops_names): Match recent changes.
5861
5862 2011-06-24  Bruno Haible  <bruno@clisp.org>
5863
5864         strerror-override: No-op tweak.
5865         * lib/strerror-override.h (strerror_override): Reorder conditions,
5866         for consistency with lib/strerror-override.c.
5867
5868 2011-06-23  Eric Blake  <eblake@redhat.com>
5869
5870         maint.mk: test further PATH_MAX issues
5871         * top/maint.mk (sc_prohibit_path_max_array): Rename...
5872         (sc_prohibit_path_max_allocation): ...and also test alloca.
5873         Suggested by Jim Meyering.
5874
5875 2011-06-22  Eric Blake  <eblake@redhat.com>
5876
5877         maint.mk: add syntax-check to avoid char[PATH_MAX]
5878         * top/maint.mk (sc_prohibit_path_max_array): New rule.
5879
5880         stat: be robust to PATH_MAX definition
5881         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
5882         * modules/stat (Depends-on): Add verify.
5883
5884         link: work around IRIX bug
5885         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
5886         * lib/link.c (rpl_link): Work around it.
5887         * tests/test-link.h (test_link): Enhance test.
5888         * doc/posix-functions/link.texi (link): Document the bug.
5889
5890         getopt: silence clang warning
5891         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
5892         dereference.
5893         Reported by Gustavo Martin Domato.
5894
5895 2011-06-22  Jim Meyering  <meyering@redhat.com>
5896
5897         bootstrap: do not insert a blank line into each .gitignore file
5898         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
5899
5900 2011-06-21  Eric Blake  <eblake@redhat.com>
5901
5902         perror: test for output mismatch
5903         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
5904         perror on IRIX.
5905
5906         strerror_r: fix OpenBSD behavior on out-of-range
5907         * lib/strerror_r.c (strerror_r): Always use maximal string.
5908         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5909
5910         strerror_r: fix OpenBSD behavior on 0
5911         * lib/strerror-override.c (strerror_override): Also override 0
5912         when needed.
5913         * lib/strerror-override.h (strerror_override): Likewise.
5914         * lib/strerror.c (strerror): Simplify, now that 0 override is done
5915         earlier.
5916         * lib/strerror_r.c (strerror_r): Likewise.
5917         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
5918         behavior...
5919         (gl_FUNC_STRERROR_0): ...into new macro.
5920         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
5921         is overridden.
5922         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
5923         * modules/strerror-override (Files): Add strerror.m4.
5924         (configure.ac): Also provide override for 0 when needed.
5925         * doc/posix-functions/strerror.texi (strerror): Document this.
5926         * doc/posix-functions/perror.texi (perror): Likewise.
5927
5928         perror: adjust array size
5929         * modules/perror (Depends-on): Add strerror-override.
5930         * lib/perror.c (perror): Use it to avoid magic number.
5931
5932         strerror-override: reduce size
5933         * lib/strerror-override.c (strerror_override): Use fewer lines.
5934
5935 2011-06-20  Bruno Haible  <bruno@clisp.org>
5936
5937         pathmax: Ensure correct value for PATH_MAX on HP-UX.
5938         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
5939
5940 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5941
5942         alloca: port to compilers that can optimize like GCC 4.6.0
5943         * lib/alloca.c (find_stack_direction): New signature, taken from
5944         Autoconf git.  This works with GCC 4.6.0.  This code should never
5945         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
5946         be used with other compilers that optimize as well as GCC 4.6.0 does.
5947         (alloca): Adjust to new signature.
5948         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
5949         New macro, which patches Autoconf in a similar way.
5950
5951         c-stack: stop worrying about stack direction
5952         * lib/c-stack.c (find_stack_direction): Remove.
5953         (segv_handler): Don't worry about stack direction growth, as it's
5954         too much of a pain to configure this correctly, given how compilers
5955         are optimizing-away our stack-growth detection code.  Instead, assume
5956         that any access to just before or just after the stack is OK.
5957         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
5958         Don't require AC_FUNC_ALLOCA; no longer needed.
5959
5960 2011-06-20  Eric Blake  <eblake@redhat.com>
5961
5962         test-stat: don't allocate PATH_MAX bytes
5963         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
5964         PATH_MAX-sized buffer.
5965         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
5966         * modules/stat-tests (Depends-on): Likewise.
5967         * tests/test-fstatat.c (includes): Drop pathmax.h.
5968         * tests/test-stat.c (includes): Likewise.
5969         Reported by Bruno Haible.
5970
5971 2011-06-20  Bruno Haible  <bruno@clisp.org>
5972
5973         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
5974         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
5975         * lib/float.c: New file.
5976         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
5977         REPLACE_FLOAT_LDBL.
5978         * modules/float (Files): Add lib/float.c.
5979         (configure.ac): Invoke AC_LIBOBJ.
5980         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
5981
5982 2011-06-20  Bruno Haible  <bruno@clisp.org>
5983
5984         Tests for module 'float'.
5985         * modules/float-tests: New file.
5986         * tests/test-float.c: New file.
5987
5988 2011-06-19  Bruno Haible  <bruno@clisp.org>
5989
5990         isinf: Coding style.
5991         * lib/isinf.c: Use GNU coding style.
5992
5993 2011-06-19  Bruno Haible  <bruno@clisp.org>
5994
5995         linkat test: Avoid test failure on AIX 7.1.
5996         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
5997         * tests/test-link.h (test_link): Likewise.
5998
5999 2011-06-19  Bruno Haible  <bruno@clisp.org>
6000
6001         pread test: Avoid test failure on OpenBSD 4.9.
6002         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
6003
6004 2011-06-19  Bruno Haible  <bruno@clisp.org>
6005
6006         sprintf-posix: Fix test failure on AIX 7.1.
6007         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
6008         * doc/posix-functions/dprintf.texi: Mention limited precision problem
6009         on AIX.
6010         * doc/posix-functions/fprintf.texi: Likewise.
6011         * doc/posix-functions/printf.texi: Likewise.
6012         * doc/posix-functions/snprintf.texi: Likewise.
6013         * doc/posix-functions/sprintf.texi: Likewise.
6014         * doc/posix-functions/vdprintf.texi: Likewise.
6015         * doc/posix-functions/vfprintf.texi: Likewise.
6016         * doc/posix-functions/vprintf.texi: Likewise.
6017         * doc/posix-functions/vsnprintf.texi: Likewise.
6018         * doc/posix-functions/vsprintf.texi: Likewise.
6019
6020 2011-06-19  Bruno Haible  <bruno@clisp.org>
6021
6022         roundl-ieee: Fix test failure on AIX 7.1.
6023         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
6024         * doc/posix-functions/roundl.texi: Mention problem with negative
6025         arguments.
6026
6027 2011-06-19  Bruno Haible  <bruno@clisp.org>
6028
6029         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6030         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
6031         * doc/posix-functions/round.texi: Mention problem with negative
6032         arguments.
6033         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
6034
6035 2011-06-19  Bruno Haible  <bruno@clisp.org>
6036
6037         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6038         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
6039         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
6040         * doc/posix-functions/roundf.texi: Mention problem with negative
6041         arguments.
6042         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
6043
6044 2011-06-19  Bruno Haible  <bruno@clisp.org>
6045
6046         ceilf-ieee: Work around bug on MacOS X 10.5.
6047         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
6048
6049         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
6050         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
6051         IEEE compliant, avoid compiler optimizations.
6052         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6053         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6054         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6055         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6056         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6057         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6058         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6059         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6060         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6061         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6062
6063 2011-06-19  Bruno Haible  <bruno@clisp.org>
6064
6065         ceilf-ieee: Work around bug on AIX 7.1.
6066         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
6067         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
6068
6069 2011-06-19  Bruno Haible  <bruno@clisp.org>
6070
6071         ceil-ieee: Work around bug on AIX 7.1.
6072         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
6073         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
6074
6075 2011-06-18  Bruno Haible  <bruno@clisp.org>
6076
6077         fsync test: Avoid test failure on MacOS X and AIX.
6078         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
6079         EINVAL.
6080
6081 2011-06-18  Bruno Haible  <bruno@clisp.org>
6082
6083         openat, fdopendir tests: Fix link errors.
6084         * modules/openat-tests (Depends-on): Add progname.
6085         * modules/fdopendir-tests (Depends-on): Likewise.
6086         * tests/test-fchownat.c: Include progname.h.
6087         (main): Call set_program_name.
6088         * tests/test-fstatat.c: Include progname.h.
6089         (main): Call set_program_name.
6090         * tests/test-mkdirat.c: Include progname.h.
6091         (main): Call set_program_name.
6092         * tests/test-openat.c: Include progname.h.
6093         (main): Call set_program_name.
6094         * tests/test-unlinkat.c: Include progname.h.
6095         (main): Call set_program_name.
6096         * tests/test-fdopendir.c: Include progname.h.
6097         (main): Call set_program_name.
6098
6099 2011-06-18  Bruno Haible  <bruno@clisp.org>
6100
6101         Doc update.
6102         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
6103         HP-UX.
6104         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
6105
6106 2011-06-18  Bruno Haible  <bruno@clisp.org>
6107
6108         getcwd tests: Avoid compilation error on HP-UX 11.31.
6109         * modules/getcwd-tests (Depends-on): Add pathmax.
6110         * tests/test-getcwd.c: Include pathmax.h.
6111
6112 2011-06-18  Bruno Haible  <bruno@clisp.org>
6113
6114         isfinite, isinf: Fix link error on AIX 6 and 7.
6115         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
6116         needed, also test the macro with a 'float' argument.
6117         * m4/isinf.m4 (gl_ISINF): Likewise.
6118
6119 2011-06-18  Bruno Haible  <bruno@clisp.org>
6120
6121         getloadavg: Don't clobber LIBS. Regression from previous commit.
6122         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
6123         AC_CHECK_LIB from here...
6124         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
6125         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
6126         gl_func_getloadavg_done.
6127         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6128
6129 2011-06-18  Bruno Haible  <bruno@clisp.org>
6130
6131         clean-temp: Improve documentation.
6132         * lib/clean-temp.h: Explain better how to use this module.
6133         Reported by John Darrington <john@darrington.wattle.id.au>.
6134
6135 2011-06-17  Bruno Haible  <bruno@clisp.org>
6136
6137         pread, pwrite: Avoid cc warning on AIX.
6138         * lib/unistd.in.h (pread): Undefine before defining as a macro.
6139         (pwrite): Likewise.
6140
6141 2011-06-17  Bruno Haible  <bruno@clisp.org>
6142
6143         spawn-pipe tests: Fix link error.
6144         * tests/test-spawn-pipe-child.c: Undefine fprintf.
6145         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6146
6147 2011-06-17  Bruno Haible  <bruno@clisp.org>
6148
6149         Tests: Remove unnecessary dependency.
6150         * modules/canonicalize-tests (Depends-on): Remove progname.
6151         * modules/chown-tests (Depends-on): Likewise.
6152         * modules/dirname-tests (Depends-on): Likewise.
6153         * modules/fdopendir-tests (Depends-on): Likewise.
6154         * modules/fdutimensat-tests (Depends-on): Likewise.
6155         * modules/hash-tests (Depends-on): Likewise.
6156         * modules/lchown-tests (Depends-on): Likewise.
6157         * modules/linkat-tests (Depends-on): Likewise.
6158         * modules/renameat-tests (Depends-on): Likewise.
6159         * modules/spawn-pipe-tests (Depends-on): Likewise.
6160         * modules/utimensat-tests (Depends-on): Likewise.
6161
6162 2011-06-17  Bruno Haible  <bruno@clisp.org>
6163
6164         spawn-pipe tests: Fix link error.
6165         * tests/test-spawn-pipe-child.c: Undefine fflush.
6166
6167 2011-06-17  Bruno Haible  <bruno@clisp.org>
6168
6169         Fix tests link errors.
6170         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
6171         * modules/chown-tests (Makefile.am): Don't link test-chown with
6172         LIBINTL.
6173         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
6174         LIBINTL.
6175         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
6176         LIBINTL.
6177         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
6178         LIBINTL.
6179
6180 2011-06-16  Bruno Haible  <bruno@clisp.org>
6181
6182         crypto/gc-sha1: Fix recent regression.
6183         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
6184         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
6185
6186         crypto/gc-md5: Fix recent regression.
6187         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
6188
6189         crypto/gc-md4: Fix recent regression.
6190         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
6191         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
6192
6193         crypto/gc-arctwo: Fix recent regression.
6194         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
6195         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
6196
6197         crypto/gc-rijndael: Fix recent regression.
6198         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
6199         (configure.ac): Invoke AC_LIBOBJ here.
6200         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
6201         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6202
6203         crypto/gc-hmac-sha1: Fix recent regression.
6204         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
6205         (configure.ac): Invoke AC_LIBOBJ here.
6206         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
6207         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6208
6209         crypto/gc-hmac-md5: Fix recent regression.
6210         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
6211         (configure.ac): Invoke AC_LIBOBJ here.
6212         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
6213         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6214
6215         crypto/gc-des: Fix recent regression.
6216         * modules/crypto/gc-des (Files): Remove m4/des.m4.
6217         (configure.ac): Invoke AC_LIBOBJ here.
6218         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
6219         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6220
6221         crypto/gc-arcfour: Fix recent regression.
6222         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
6223         (configure.ac): Invoke AC_LIBOBJ here.
6224         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
6225         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6226
6227 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
6228
6229         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
6230         After the 2011-05-21 change, this macro requires
6231         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
6232         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6233
6234 2011-06-16  Bruno Haible  <bruno@clisp.org>
6235
6236         fprintftime: Move AC_LIBOBJ invocations to module description.
6237         * m4/fprintftime.m4: Remove file.
6238         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
6239         (configure.ac): Remove gl_FPRINTFTIME call.
6240         (Makefile.am): Augment lib_SOURCES.
6241         Reported by Jim Meyering.
6242
6243 2011-06-16  Bruno Haible  <bruno@clisp.org>
6244
6245         tmpfile-safer: Finish 2011-05-23 commit.
6246         * m4/stdio-safer.m4: Really remove file.
6247         Reported by Jim Meyering.
6248
6249 2011-06-16  Bruno Haible  <bruno@clisp.org>
6250
6251         syntax-check: Fix typo.
6252         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
6253         printf-posix.m4.
6254         Reported by Jim Meyering.
6255
6256 2011-06-13  Jim Meyering  <meyering@redhat.com>
6257
6258         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
6259         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
6260
6261 2011-05-23  Bruno Haible  <bruno@clisp.org>
6262
6263         yesno: Move AC_LIBOBJ invocations to module description.
6264         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
6265         * modules/yesno (Makefile.am): Augment lib_SOURCES.
6266
6267 2011-05-23  Bruno Haible  <bruno@clisp.org>
6268
6269         xstrtol: Move AC_LIBOBJ invocations to module description.
6270         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
6271         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
6272
6273 2011-05-23  Bruno Haible  <bruno@clisp.org>
6274
6275         xstrtold: Move AC_LIBOBJ invocations to module description.
6276         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
6277         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
6278
6279 2011-05-23  Bruno Haible  <bruno@clisp.org>
6280
6281         xstrtod: Move AC_LIBOBJ invocations to module description.
6282         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
6283         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
6284
6285 2011-05-23  Bruno Haible  <bruno@clisp.org>
6286
6287         xnanosleep: Move AC_LIBOBJ invocations to module description.
6288         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
6289         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
6290
6291 2011-05-23  Bruno Haible  <bruno@clisp.org>
6292
6293         xgetcwd: Move AC_LIBOBJ invocations to module description.
6294         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
6295         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
6296
6297 2011-05-23  Bruno Haible  <bruno@clisp.org>
6298
6299         xalloc: Move AC_LIBOBJ invocations to module description.
6300         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
6301         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
6302
6303 2011-05-23  Bruno Haible  <bruno@clisp.org>
6304
6305         write-any-file: Move AC_LIBOBJ invocations to module description.
6306         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
6307         invocation.
6308         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
6309
6310 2011-05-23  Bruno Haible  <bruno@clisp.org>
6311
6312         utimens: Move AC_LIBOBJ invocations to module description.
6313         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
6314         * modules/utimens (Makefile.am): Augment lib_SOURCES.
6315
6316 2011-05-23  Bruno Haible  <bruno@clisp.org>
6317
6318         utimecmp: Move AC_LIBOBJ invocations to module description.
6319         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
6320         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
6321
6322 2011-05-23  Bruno Haible  <bruno@clisp.org>
6323
6324         userspec: Move AC_LIBOBJ invocations to module description.
6325         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
6326         * modules/userspec (Makefile.am): Augment lib_SOURCES.
6327
6328 2011-05-23  Bruno Haible  <bruno@clisp.org>
6329
6330         unlinkdir: Move AC_LIBOBJ invocations to module description.
6331         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
6332         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
6333
6334 2011-05-23  Bruno Haible  <bruno@clisp.org>
6335
6336         unistd-safer: Move AC_LIBOBJ invocations to module description.
6337         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
6338         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
6339
6340 2011-05-23  Bruno Haible  <bruno@clisp.org>
6341
6342         tempname: Move AC_LIBOBJ invocations to module description.
6343         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
6344         * modules/tempname (Makefile.am): Augment lib_SOURCES.
6345
6346 2011-05-23  Bruno Haible  <bruno@clisp.org>
6347
6348         strftime: Move AC_LIBOBJ invocations to module description.
6349         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
6350         * modules/strftime (Makefile.am): Augment lib_SOURCES.
6351
6352 2011-05-23  Bruno Haible  <bruno@clisp.org>
6353
6354         stdlib-safer: Move AC_LIBOBJ invocations to module description.
6355         * m4/stdlib-safer.m4: Remove file.
6356         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
6357         (configure.ac): Remove gl_STDLIB_SAFER call.
6358         (Makefile.am): Augment lib_SOURCES.
6359
6360 2011-05-23  Bruno Haible  <bruno@clisp.org>
6361
6362         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
6363         * m4/stdio-safer.m4: Remove file.
6364         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
6365         (configure.ac): Remove gl_TMPFILE_SAFER call.
6366         (Makefile.am): Augment lib_SOURCES.
6367
6368 2011-05-23  Bruno Haible  <bruno@clisp.org>
6369
6370         popen-safer: Move AC_LIBOBJ invocations to module description.
6371         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
6372         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
6373         (configure.ac): Remove gl_POPEN_SAFER call.
6374         (Makefile.am): Augment lib_SOURCES.
6375
6376 2011-05-23  Bruno Haible  <bruno@clisp.org>
6377
6378         freopen-safer: Move AC_LIBOBJ invocations to module description.
6379         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
6380         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
6381         (configure.ac): Remove gl_FREOPEN_SAFER call.
6382         (Makefile.am): Augment lib_SOURCES.
6383
6384 2011-05-23  Bruno Haible  <bruno@clisp.org>
6385
6386         fopen-safer: Move AC_LIBOBJ invocations to module description.
6387         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
6388         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
6389         (configure.ac): Remove gl_FOPEN_SAFER call.
6390         (Makefile.am): Augment lib_SOURCES.
6391
6392 2011-05-23  Bruno Haible  <bruno@clisp.org>
6393
6394         crypto/sha512: Move AC_LIBOBJ invocations to module description.
6395         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
6396         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
6397
6398 2011-05-23  Bruno Haible  <bruno@clisp.org>
6399
6400         crypto/sha256: Move AC_LIBOBJ invocations to module description.
6401         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
6402         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
6403
6404 2011-05-23  Bruno Haible  <bruno@clisp.org>
6405
6406         crypto/sha1: Move AC_LIBOBJ invocations to module description.
6407         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
6408         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
6409
6410 2011-05-23  Bruno Haible  <bruno@clisp.org>
6411
6412         settime: Move AC_LIBOBJ invocations to module description.
6413         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
6414         * modules/settime (Makefile.am): Augment lib_SOURCES.
6415
6416 2011-05-23  Bruno Haible  <bruno@clisp.org>
6417
6418         savedir: Move AC_LIBOBJ invocations to module description.
6419         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
6420         * modules/savedir (Makefile.am): Augment lib_SOURCES.
6421
6422 2011-05-23  Bruno Haible  <bruno@clisp.org>
6423
6424         save-cwd: Move AC_LIBOBJ invocations to module description.
6425         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
6426         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
6427
6428 2011-05-23  Bruno Haible  <bruno@clisp.org>
6429
6430         same: Move AC_LIBOBJ invocations to module description.
6431         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
6432         * modules/same (Makefile.am): Augment lib_SOURCES.
6433
6434 2011-05-23  Bruno Haible  <bruno@clisp.org>
6435
6436         safe-write: Move AC_LIBOBJ invocations to module description.
6437         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
6438         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
6439         instead of gl_SAFE_WRITE.
6440         (Makefile.am): Augment lib_SOURCES.
6441
6442 2011-05-23  Bruno Haible  <bruno@clisp.org>
6443
6444         safe-read: Move AC_LIBOBJ invocations to module description.
6445         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
6446         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
6447         of gl_SAFE_READ.
6448         (Makefile.am): Augment lib_SOURCES.
6449
6450 2011-05-23  Bruno Haible  <bruno@clisp.org>
6451
6452         safe-alloc: Move AC_LIBOBJ invocations to module description.
6453         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
6454         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
6455
6456 2011-05-23  Bruno Haible  <bruno@clisp.org>
6457
6458         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
6459         * m4/rijndael.m4: Remove file.
6460         * modules/crypto/rijndael (Files): Remove it.
6461         (configure.ac): Remove gl_RIJNDAEL call.
6462         (Makefile.am): Augment lib_SOURCES.
6463
6464 2011-05-23  Bruno Haible  <bruno@clisp.org>
6465
6466         readtokens: Move AC_LIBOBJ invocations to module description.
6467         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6468         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6469
6470 2011-05-23  Bruno Haible  <bruno@clisp.org>
6471
6472         read-file: Move AC_LIBOBJ invocations to module description.
6473         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6474         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6475         of gl_FUNC_READ_FILE.
6476         (Makefile.am): Augment lib_SOURCES.
6477
6478 2011-05-23  Bruno Haible  <bruno@clisp.org>
6479
6480         quotearg: Move AC_LIBOBJ invocations to module description.
6481         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6482         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6483
6484 2011-05-23  Bruno Haible  <bruno@clisp.org>
6485
6486         quote: Move AC_LIBOBJ invocations to module description.
6487         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6488         * modules/quote (Makefile.am): Augment lib_SOURCES.
6489
6490 2011-05-23  Bruno Haible  <bruno@clisp.org>
6491
6492         posixver: Move AC_LIBOBJ invocations to module description.
6493         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6494         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6495
6496 2011-05-23  Bruno Haible  <bruno@clisp.org>
6497
6498         posixtm: Move AC_LIBOBJ invocations to module description.
6499         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6500         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6501
6502 2011-05-23  Bruno Haible  <bruno@clisp.org>
6503
6504         physmem: Move AC_LIBOBJ invocations to module description.
6505         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6506         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6507
6508 2011-05-23  Bruno Haible  <bruno@clisp.org>
6509
6510         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6511         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6512         invocation.
6513         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6514
6515 2011-05-23  Bruno Haible  <bruno@clisp.org>
6516
6517         mpsort: Move AC_LIBOBJ invocations to module description.
6518         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6519         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6520
6521 2011-05-23  Bruno Haible  <bruno@clisp.org>
6522
6523         modechange: Move AC_LIBOBJ invocations to module description.
6524         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
6525         * modules/modechange (Makefile.am): Augment lib_SOURCES.
6526
6527 2011-05-23  Bruno Haible  <bruno@clisp.org>
6528
6529         mkdir-p: Move AC_LIBOBJ invocations to module description.
6530         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
6531         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
6532
6533 2011-05-23  Bruno Haible  <bruno@clisp.org>
6534
6535         mkancesdirs: Move AC_LIBOBJ invocations to module description.
6536         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
6537         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
6538
6539 2011-05-23  Bruno Haible  <bruno@clisp.org>
6540
6541         mgetgroups: Move AC_LIBOBJ invocations to module description.
6542         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
6543         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
6544
6545 2011-05-23  Bruno Haible  <bruno@clisp.org>
6546
6547         memxor: Move AC_LIBOBJ invocations to module description.
6548         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
6549         * modules/memxor (Makefile.am): Augment lib_SOURCES.
6550
6551 2011-05-23  Bruno Haible  <bruno@clisp.org>
6552
6553         memcoll: Move AC_LIBOBJ invocations to module description.
6554         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
6555         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
6556
6557 2011-05-23  Bruno Haible  <bruno@clisp.org>
6558
6559         memcasecmp: Move AC_LIBOBJ invocations to module description.
6560         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
6561         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
6562
6563 2011-05-23  Bruno Haible  <bruno@clisp.org>
6564
6565         crypto/md5: Move AC_LIBOBJ invocations to module description.
6566         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
6567         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
6568
6569 2011-05-23  Bruno Haible  <bruno@clisp.org>
6570
6571         crypto/md4: Move AC_LIBOBJ invocations to module description.
6572         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
6573         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
6574
6575 2011-05-23  Bruno Haible  <bruno@clisp.org>
6576
6577         crypto/md2: Move AC_LIBOBJ invocations to module description.
6578         * m4/md2.m4: Remove file.
6579         * modules/crypto/md2 (Files): Remove it.
6580         (configure.ac): Remove gl_MD2 call.
6581         (Makefile.am): Augment lib_SOURCES.
6582
6583 2011-05-23  Bruno Haible  <bruno@clisp.org>
6584
6585         long-options: Move AC_LIBOBJ invocations to module description.
6586         * m4/long-options.m4: Remove file.
6587         * modules/long-options (Files): Remove it.
6588         (configure.ac): Remove gl_LONG_OPTIONS call.
6589         (Makefile.am): Augment lib_SOURCES.
6590
6591 2011-05-23  Bruno Haible  <bruno@clisp.org>
6592
6593         i-ring: Move AC_LIBOBJ invocations to module description.
6594         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
6595         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6596
6597 2011-05-23  Bruno Haible  <bruno@clisp.org>
6598
6599         idcache: Move AC_LIBOBJ invocations to module description.
6600         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
6601         * modules/idcache (Makefile.am): Augment lib_SOURCES.
6602
6603 2011-05-23  Bruno Haible  <bruno@clisp.org>
6604
6605         human: Move AC_LIBOBJ invocations to module description.
6606         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
6607         * modules/human (Makefile.am): Augment lib_SOURCES.
6608
6609 2011-05-23  Bruno Haible  <bruno@clisp.org>
6610
6611         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
6612         * m4/hmac-sha1.m4: Remove file.
6613         * modules/crypto/hmac-sha1 (Files): Remove it.
6614         (configure.ac): Remove gl_HMAC_SHA1 call.
6615         (Makefile.am): Augment lib_SOURCES.
6616
6617 2011-05-23  Bruno Haible  <bruno@clisp.org>
6618
6619         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
6620         * m4/hmac-md5.m4: Remove file.
6621         * modules/crypto/hmac-md5 (Files): Remove it.
6622         (configure.ac): Remove gl_HMAC_MD5 call.
6623         (Makefile.am): Augment lib_SOURCES.
6624
6625 2011-05-23  Bruno Haible  <bruno@clisp.org>
6626
6627         hash: Move AC_LIBOBJ invocations to module description.
6628         * m4/hash.m4: Remove file.
6629         * modules/hash (Files): Remove it.
6630         (configure.ac): Remove gl_HASH call.
6631         (Makefile.am): Augment lib_SOURCES.
6632
6633 2011-05-23  Bruno Haible  <bruno@clisp.org>
6634
6635         hard-locale: Move AC_LIBOBJ invocations to module description.
6636         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
6637         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
6638
6639 2011-05-23  Bruno Haible  <bruno@clisp.org>
6640
6641         getugroups: Move AC_LIBOBJ invocations to module description.
6642         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
6643         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
6644
6645 2011-05-23  Bruno Haible  <bruno@clisp.org>
6646
6647         gettime: Move AC_LIBOBJ invocations to module description.
6648         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
6649         * modules/gettime (Makefile.am): Augment lib_SOURCES.
6650
6651 2011-05-23  Bruno Haible  <bruno@clisp.org>
6652
6653         getndelim2: Move AC_LIBOBJ invocations to module description.
6654         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
6655         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
6656
6657 2011-05-23  Bruno Haible  <bruno@clisp.org>
6658
6659         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
6660         * m4/gc-pbkdf2-sha1.m4: Remove file.
6661         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
6662         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
6663         (Makefile.am): Augment lib_SOURCES.
6664
6665 2011-05-23  Bruno Haible  <bruno@clisp.org>
6666
6667         fts: Move AC_LIBOBJ invocations to module description.
6668         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
6669         * modules/fts (configure.ac): ... to here.
6670
6671 2011-05-23  Bruno Haible  <bruno@clisp.org>
6672
6673         file-type: Move AC_LIBOBJ invocations to module description.
6674         * m4/file-type.m4: Remove file.
6675         * modules/file-type (Files): Remove it.
6676         (configure.ac): Remove gl_FILE_TYPE call.
6677         (Makefile.am): Augment lib_SOURCES.
6678
6679 2011-05-23  Bruno Haible  <bruno@clisp.org>
6680
6681         filenamecat*: Respect rules for use of AC_LIBOBJ.
6682         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
6683         Remove AC_LIBOBJ invocation.
6684         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
6685         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
6686
6687 2011-05-23  Bruno Haible  <bruno@clisp.org>
6688
6689         filemode: Move AC_LIBOBJ invocations to module description.
6690         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
6691         * modules/filemode (Makefile.am): Augment lib_SOURCES.
6692
6693 2011-05-23  Bruno Haible  <bruno@clisp.org>
6694
6695         openat-safer: Move AC_LIBOBJ invocations to module description.
6696         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
6697         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
6698
6699 2011-05-23  Bruno Haible  <bruno@clisp.org>
6700
6701         fcntl-safer: Move AC_LIBOBJ invocations to module description.
6702         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
6703         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
6704
6705 2011-05-23  Bruno Haible  <bruno@clisp.org>
6706
6707         exclude: Move AC_LIBOBJ invocations to module description.
6708         * m4/exclude.m4: Remove file.
6709         * modules/exclude (Files): Remove it.
6710         (configure.ac): Remove gl_EXCLUDE call.
6711         (Makefile.am): Augment lib_SOURCES.
6712
6713 2011-05-23  Bruno Haible  <bruno@clisp.org>
6714
6715         dirname*: Respect rules for use of AC_LIBOBJ.
6716         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
6717         invocations.
6718         * modules/dirname (Makefile.am): Augment lib_SOURCES.
6719         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
6720
6721 2011-05-23  Bruno Haible  <bruno@clisp.org>
6722
6723         dirent-safer: Move AC_LIBOBJ invocations to module description.
6724         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
6725         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
6726
6727 2011-05-23  Bruno Haible  <bruno@clisp.org>
6728
6729         crypto/des: Move AC_LIBOBJ invocations to module description.
6730         * m4/des.m4: Remove file.
6731         * modules/crypto/des (Files): Remove it.
6732         (configure.ac): Remove gl_DES call.
6733         (Makefile.am): Augment lib_SOURCES.
6734
6735 2011-05-23  Bruno Haible  <bruno@clisp.org>
6736
6737         cycle-check: Move AC_LIBOBJ invocations to module description.
6738         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
6739         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
6740
6741 2011-05-23  Bruno Haible  <bruno@clisp.org>
6742
6743         c-strtold: Move AC_LIBOBJ invocations to module description.
6744         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
6745         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
6746
6747 2011-05-23  Bruno Haible  <bruno@clisp.org>
6748
6749         c-strtod: Move AC_LIBOBJ invocations to module description.
6750         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
6751         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
6752
6753 2011-05-23  Bruno Haible  <bruno@clisp.org>
6754
6755         crc: Move AC_LIBOBJ invocations to module description.
6756         * m4/crc.m4: Remove file.
6757         * modules/crc (Files): Remove it.
6758         (configure.ac): Remove gl_CRC call.
6759         (Makefile.am): Augment lib_SOURCES.
6760
6761 2011-05-23  Bruno Haible  <bruno@clisp.org>
6762
6763         close-stream: Move AC_LIBOBJ invocations to module description.
6764         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
6765         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
6766
6767 2011-05-23  Bruno Haible  <bruno@clisp.org>
6768
6769         closeout: Move AC_LIBOBJ invocations to module description.
6770         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
6771         * modules/closeout (Makefile.am): Augment lib_SOURCES.
6772
6773 2011-05-23  Bruno Haible  <bruno@clisp.org>
6774
6775         closein: Move AC_LIBOBJ invocations to module description.
6776         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
6777         * modules/closein (Makefile.am): Augment lib_SOURCES.
6778
6779 2011-05-23  Bruno Haible  <bruno@clisp.org>
6780
6781         cloexec: Move AC_LIBOBJ invocations to module description.
6782         * m4/cloexec.m4: Remove file.
6783         * modules/cloexec (Files): Remove it.
6784         (configure.ac): Remove gl_CLOEXEC call.
6785         (Makefile.am): Augment lib_SOURCES.
6786
6787 2011-05-23  Bruno Haible  <bruno@clisp.org>
6788
6789         check-version: Move AC_LIBOBJ invocations to module description.
6790         * m4/check-version.m4: Remove file.
6791         * modules/check-version (Files): Remove it.
6792         (configure.ac): Remove gl_CHECK_VERSION call.
6793         (Makefile.am): Augment lib_SOURCES.
6794
6795 2011-05-23  Bruno Haible  <bruno@clisp.org>
6796
6797         chdir-safer: Move AC_LIBOBJ invocations to module description.
6798         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
6799         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
6800
6801 2011-05-23  Bruno Haible  <bruno@clisp.org>
6802
6803         canonicalize: Move AC_LIBOBJ invocations to module description.
6804         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
6805         AC_LIBOBJ invocation.
6806         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
6807
6808 2011-05-23  Bruno Haible  <bruno@clisp.org>
6809
6810         canon-host: Move AC_LIBOBJ invocations to module description.
6811         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
6812         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
6813         instead of gl_CANON_HOST.
6814         (Makefile.am): Augment lib_SOURCES.
6815
6816 2011-05-23  Bruno Haible  <bruno@clisp.org>
6817
6818         backupfile: Move AC_LIBOBJ invocations to module description.
6819         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
6820         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
6821
6822 2011-05-23  Bruno Haible  <bruno@clisp.org>
6823
6824         argmatch: Move AC_LIBOBJ invocations to module description.
6825         * m4/argmatch.m4: Remove file.
6826         * modules/argmatch (Files): Remove it.
6827         (configure.ac): Remove gl_ARGMATCH call.
6828         (Makefile.am): Augment lib_SOURCES.
6829
6830 2011-05-23  Bruno Haible  <bruno@clisp.org>
6831
6832         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
6833         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
6834         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
6835
6836 2011-05-23  Bruno Haible  <bruno@clisp.org>
6837
6838         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
6839         * m4/arcfour.m4: Remove file.
6840         * modules/crypto/arcfour (Files): Remove it.
6841         (configure.ac): Remove gl_ARCFOUR call.
6842         (Makefile.am): Augment lib_SOURCES.
6843
6844 2011-05-22  Bruno Haible  <bruno@clisp.org>
6845
6846         write: Move AC_LIBOBJ invocations to module description.
6847         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
6848         * modules/write (configure.ac): ... to here.
6849
6850 2011-05-22  Bruno Haible  <bruno@clisp.org>
6851
6852         wmemset: Move AC_LIBOBJ invocations to module description.
6853         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
6854         here...
6855         * modules/wmemset (configure.ac): ... to here.
6856
6857 2011-05-22  Bruno Haible  <bruno@clisp.org>
6858
6859         wmemmove: Move AC_LIBOBJ invocations to module description.
6860         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
6861         here...
6862         * modules/wmemmove (configure.ac): ... to here.
6863
6864 2011-05-22  Bruno Haible  <bruno@clisp.org>
6865
6866         wmemcpy: Move AC_LIBOBJ invocations to module description.
6867         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
6868         here...
6869         * modules/wmemcpy (configure.ac): ... to here.
6870
6871 2011-05-22  Bruno Haible  <bruno@clisp.org>
6872
6873         wmemcmp: Move AC_LIBOBJ invocations to module description.
6874         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
6875         here...
6876         * modules/wmemcmp (configure.ac): ... to here.
6877
6878 2011-05-22  Bruno Haible  <bruno@clisp.org>
6879
6880         wmemchr: Move AC_LIBOBJ invocations to module description.
6881         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
6882         here...
6883         * modules/wmemchr (configure.ac): ... to here.
6884
6885 2011-05-22  Bruno Haible  <bruno@clisp.org>
6886
6887         wcswidth: Move AC_LIBOBJ invocations to module description.
6888         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
6889         here...
6890         * modules/wcswidth (configure.ac): ... to here.
6891
6892 2011-05-22  Bruno Haible  <bruno@clisp.org>
6893
6894         wcwidth: Respect rules for use of AC_LIBOBJ.
6895         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
6896         invocation from here...
6897         * modules/wcwidth (configure.ac): ... to here.
6898         (Depends-on): Update conditions.
6899
6900 2011-05-22  Bruno Haible  <bruno@clisp.org>
6901
6902         wctype: Move AC_LIBOBJ invocations to module description.
6903         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
6904         invocation from here...
6905         * modules/wctype (configure.ac): ... to here.
6906         (Depends-on): Update conditions.
6907
6908 2011-05-22  Bruno Haible  <bruno@clisp.org>
6909
6910         wctrans: Move AC_LIBOBJ invocations to module description.
6911         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
6912         invocation from here...
6913         * modules/wctrans (configure.ac): ... to here.
6914
6915 2011-05-22  Bruno Haible  <bruno@clisp.org>
6916
6917         wctomb: Move AC_LIBOBJ invocations to module description.
6918         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
6919         invocations from here...
6920         * modules/wctomb (configure.ac): ... to here.
6921
6922 2011-05-22  Bruno Haible  <bruno@clisp.org>
6923
6924         wctob: Move AC_LIBOBJ invocations to module description.
6925         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
6926         gl_PREREQ_WCTOB invocations from here...
6927         * modules/wctob (configure.ac): ... to here.
6928         (Depends-on): Update conditions.
6929
6930 2011-05-22  Bruno Haible  <bruno@clisp.org>
6931
6932         wcsxfrm: Move AC_LIBOBJ invocations to module description.
6933         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
6934         here...
6935         * modules/wcsxfrm (configure.ac): ... to here.
6936
6937 2011-05-22  Bruno Haible  <bruno@clisp.org>
6938
6939         wcstok: Move AC_LIBOBJ invocations to module description.
6940         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
6941         * modules/wcstok (configure.ac): ... to here.
6942
6943 2011-05-22  Bruno Haible  <bruno@clisp.org>
6944
6945         wcsstr: Move AC_LIBOBJ invocations to module description.
6946         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
6947         * modules/wcsstr (configure.ac): ... to here.
6948
6949 2011-05-22  Bruno Haible  <bruno@clisp.org>
6950
6951         wcsspn: Move AC_LIBOBJ invocations to module description.
6952         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
6953         * modules/wcsspn (configure.ac): ... to here.
6954
6955 2011-05-22  Bruno Haible  <bruno@clisp.org>
6956
6957         wcsrtombs: Move AC_LIBOBJ invocations to module description.
6958         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
6959         gl_PREREQ_WCSRTOMBS invocations from here...
6960         * modules/wcsrtombs (configure.ac): ... to here.
6961
6962 2011-05-22  Bruno Haible  <bruno@clisp.org>
6963
6964         wcsrchr: Move AC_LIBOBJ invocations to module description.
6965         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
6966         here...
6967         * modules/wcsrchr (configure.ac): ... to here.
6968
6969 2011-05-22  Bruno Haible  <bruno@clisp.org>
6970
6971         wcspbrk: Move AC_LIBOBJ invocations to module description.
6972         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
6973         here...
6974         * modules/wcspbrk (configure.ac): ... to here.
6975
6976 2011-05-22  Bruno Haible  <bruno@clisp.org>
6977
6978         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
6979         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
6980         gl_PREREQ_WCSNRTOMBS invocations from here...
6981         * modules/wcsnrtombs (configure.ac): ... to here.
6982
6983 2011-05-22  Bruno Haible  <bruno@clisp.org>
6984
6985         wcsnlen: Move AC_LIBOBJ invocations to module description.
6986         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
6987         here...
6988         * modules/wcsnlen (configure.ac): ... to here.
6989
6990 2011-05-22  Bruno Haible  <bruno@clisp.org>
6991
6992         wcsncpy: Move AC_LIBOBJ invocations to module description.
6993         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
6994         here...
6995         * modules/wcsncpy (configure.ac): ... to here.
6996
6997 2011-05-22  Bruno Haible  <bruno@clisp.org>
6998
6999         wcsncmp: Move AC_LIBOBJ invocations to module description.
7000         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
7001         here...
7002         * modules/wcsncmp (configure.ac): ... to here.
7003
7004 2011-05-22  Bruno Haible  <bruno@clisp.org>
7005
7006         wcsncat: Move AC_LIBOBJ invocations to module description.
7007         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
7008         here...
7009         * modules/wcsncat (configure.ac): ... to here.
7010
7011 2011-05-22  Bruno Haible  <bruno@clisp.org>
7012
7013         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
7014         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
7015         from here...
7016         * modules/wcsncasecmp (configure.ac): ... to here.
7017
7018 2011-05-22  Bruno Haible  <bruno@clisp.org>
7019
7020         wcslen: Move AC_LIBOBJ invocations to module description.
7021         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
7022         * modules/wcslen (configure.ac): ... to here.
7023
7024 2011-05-22  Bruno Haible  <bruno@clisp.org>
7025
7026         wcsdup: Move AC_LIBOBJ invocations to module description.
7027         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
7028         * modules/wcsdup (configure.ac): ... to here.
7029
7030 2011-05-22  Bruno Haible  <bruno@clisp.org>
7031
7032         wcscspn: Move AC_LIBOBJ invocations to module description.
7033         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
7034         here...
7035         * modules/wcscspn (configure.ac): ... to here.
7036
7037 2011-05-22  Bruno Haible  <bruno@clisp.org>
7038
7039         wcscpy: Move AC_LIBOBJ invocations to module description.
7040         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
7041         * modules/wcscpy (configure.ac): ... to here.
7042
7043 2011-05-22  Bruno Haible  <bruno@clisp.org>
7044
7045         wcscoll: Move AC_LIBOBJ invocations to module description.
7046         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
7047         here...
7048         * modules/wcscoll (configure.ac): ... to here.
7049
7050 2011-05-22  Bruno Haible  <bruno@clisp.org>
7051
7052         wcscmp: Move AC_LIBOBJ invocations to module description.
7053         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
7054         * modules/wcscmp (configure.ac): ... to here.
7055
7056 2011-05-22  Bruno Haible  <bruno@clisp.org>
7057
7058         wcschr: Move AC_LIBOBJ invocations to module description.
7059         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
7060         * modules/wcschr (configure.ac): ... to here.
7061
7062 2011-05-22  Bruno Haible  <bruno@clisp.org>
7063
7064         wcscat: Move AC_LIBOBJ invocations to module description.
7065         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
7066         * modules/wcscat (configure.ac): ... to here.
7067
7068 2011-05-22  Bruno Haible  <bruno@clisp.org>
7069
7070         wcscasecmp: Move AC_LIBOBJ invocations to module description.
7071         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
7072         here...
7073         * modules/wcscasecmp (configure.ac): ... to here.
7074
7075 2011-05-22  Bruno Haible  <bruno@clisp.org>
7076
7077         wcrtomb: Move AC_LIBOBJ invocations to module description.
7078         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
7079         invocations from here...
7080         * modules/wcrtomb (configure.ac): ... to here.
7081
7082 2011-05-22  Bruno Haible  <bruno@clisp.org>
7083
7084         wcpncpy: Move AC_LIBOBJ invocations to module description.
7085         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
7086         here...
7087         * modules/wcpncpy (configure.ac): ... to here.
7088
7089 2011-05-22  Bruno Haible  <bruno@clisp.org>
7090
7091         wcpcpy: Move AC_LIBOBJ invocations to module description.
7092         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
7093         * modules/wcpcpy (configure.ac): ... to here.
7094
7095 2011-05-22  Bruno Haible  <bruno@clisp.org>
7096
7097         waitpid: Move AC_LIBOBJ invocations to module description.
7098         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
7099         invocation from here...
7100         * modules/waitpid (configure.ac): ... to here.
7101
7102 2011-05-22  Bruno Haible  <bruno@clisp.org>
7103
7104         utimensat: Move AC_LIBOBJ invocations to module description.
7105         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
7106         here...
7107         * modules/utimensat (configure.ac): ... to here.
7108
7109 2011-05-22  Bruno Haible  <bruno@clisp.org>
7110
7111         usleep: Move AC_LIBOBJ invocations to module description.
7112         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
7113         here...
7114         * modules/usleep (configure.ac): ... to here.
7115
7116 2011-05-22  Bruno Haible  <bruno@clisp.org>
7117
7118         unlockpt: Move AC_LIBOBJ invocations to module description.
7119         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
7120         gl_PREREQ_UNLOCKPT invocations from here...
7121         * modules/unlockpt (configure.ac): ... to here.
7122
7123 2011-05-22  Bruno Haible  <bruno@clisp.org>
7124
7125         unlink: Respect rules for use of AC_LIBOBJ.
7126         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
7127         * modules/unlink (configure.ac): ... to here.
7128
7129 2011-05-22  Bruno Haible  <bruno@clisp.org>
7130
7131         uname: Move AC_LIBOBJ invocations to module description.
7132         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
7133         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
7134         here...
7135         * modules/uname (configure.ac): ... to here.
7136
7137 2011-05-22  Bruno Haible  <bruno@clisp.org>
7138
7139         ttyname_r: Move AC_LIBOBJ invocations to module description.
7140         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
7141         gl_PREREQ_TTYNAME_R invocations from here...
7142         * modules/ttyname_r (configure.ac): ... to here.
7143
7144 2011-05-22  Bruno Haible  <bruno@clisp.org>
7145
7146         tsearch: Move AC_LIBOBJ invocations to module description.
7147         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
7148         invocations from here...
7149         * modules/tsearch (configure.ac): ... to here.
7150
7151 2011-05-22  Bruno Haible  <bruno@clisp.org>
7152
7153         towctrans: Move AC_LIBOBJ invocations to module description.
7154         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
7155         AC_LIBOBJ invocation from here...
7156         * modules/towctrans (configure.ac): ... to here.
7157
7158 2011-05-22  Bruno Haible  <bruno@clisp.org>
7159
7160         tmpfile: Move AC_LIBOBJ invocations to module description.
7161         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
7162         invocations from here...
7163         * modules/tmpfile (configure.ac): ... to here.
7164
7165 2011-05-22  Bruno Haible  <bruno@clisp.org>
7166
7167         times: Move AC_LIBOBJ invocations to module description.
7168         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
7169         * modules/times (configure.ac): ... to here.
7170
7171 2011-05-22  Bruno Haible  <bruno@clisp.org>
7172
7173         time_r: Move AC_LIBOBJ invocations to module description.
7174         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
7175         invocations from here...
7176         * modules/time_r (configure.ac): ... to here.
7177
7178 2011-05-22  Bruno Haible  <bruno@clisp.org>
7179
7180         timegm: Move AC_LIBOBJ invocations to module description.
7181         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
7182         invocations from here...
7183         * modules/timegm (configure.ac): ... to here.
7184
7185 2011-05-22  Bruno Haible  <bruno@clisp.org>
7186
7187         tcgetsid: Move AC_LIBOBJ invocations to module description.
7188         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
7189         and gl_PREREQ_TCGETSID invocations from here...
7190         * modules/tcgetsid (configure.ac): ... to here.
7191         (Depends-on): Update conditions.
7192
7193 2011-05-22  Bruno Haible  <bruno@clisp.org>
7194
7195         symlinkat: Move AC_LIBOBJ invocations to module description.
7196         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
7197         here...
7198         * modules/symlinkat (configure.ac): ... to here.
7199
7200 2011-05-22  Bruno Haible  <bruno@clisp.org>
7201
7202         symlink: Move AC_LIBOBJ invocations to module description.
7203         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
7204         here...
7205         * modules/symlink (configure.ac): ... to here.
7206
7207 2011-05-22  Bruno Haible  <bruno@clisp.org>
7208
7209         strverscmp: Move AC_LIBOBJ invocations to module description.
7210         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
7211         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
7212         from here...
7213         * modules/strverscmp (configure.ac): ... to here.
7214
7215 2011-05-22  Bruno Haible  <bruno@clisp.org>
7216
7217         strtok_r: Move AC_LIBOBJ invocations to module description.
7218         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
7219         and gl_PREREQ_STRTOK_R invocations from here...
7220         * modules/strtok_r (configure.ac): ... to here.
7221         (Depends-on): Update conditions.
7222
7223 2011-05-22  Bruno Haible  <bruno@clisp.org>
7224
7225         strtoumax: Move AC_LIBOBJ invocations to module description.
7226         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
7227         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
7228         from here...
7229         * modules/strtoumax (configure.ac): ... to here.
7230
7231 2011-05-22  Bruno Haible  <bruno@clisp.org>
7232
7233         strtoimax: Move AC_LIBOBJ invocations to module description.
7234         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
7235         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
7236         from here...
7237         * modules/strtoimax (configure.ac): ... to here.
7238
7239 2011-05-22  Bruno Haible  <bruno@clisp.org>
7240
7241         strtoull: Move AC_LIBOBJ invocations to module description.
7242         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
7243         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
7244         from here...
7245         * modules/strtoull (configure.ac): ... to here.
7246
7247 2011-05-22  Bruno Haible  <bruno@clisp.org>
7248
7249         strtoll: Move AC_LIBOBJ invocations to module description.
7250         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
7251         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
7252         here...
7253         * modules/strtoll (configure.ac): ... to here.
7254
7255 2011-05-22  Bruno Haible  <bruno@clisp.org>
7256
7257         strtoul: Move AC_LIBOBJ invocations to module description.
7258         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
7259         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7260         * modules/strtoul (configure.ac): ... to here.
7261
7262 2011-05-22  Bruno Haible  <bruno@clisp.org>
7263
7264         strtol: Move AC_LIBOBJ invocations to module description.
7265         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
7266         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7267         * modules/strtol (configure.ac): ... to here.
7268
7269 2011-05-22  Bruno Haible  <bruno@clisp.org>
7270
7271         strtod: Move AC_LIBOBJ invocations to module description.
7272         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
7273         invocations from here...
7274         * modules/strtod (configure.ac): ... to here.
7275
7276 2011-05-22  Bruno Haible  <bruno@clisp.org>
7277
7278         strstr*: Move AC_LIBOBJ invocations to module description.
7279         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
7280         invocations from here...
7281         * modules/strstr-simple (configure.ac): ... to here.
7282         * modules/strstr (configure.ac): ... and here.
7283
7284 2011-05-22  Bruno Haible  <bruno@clisp.org>
7285
7286         strsignal: Move AC_LIBOBJ invocations to module description.
7287         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
7288         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
7289         * modules/strsignal (configure.ac): ... to here.
7290         (Depends-on): Update conditions.
7291
7292 2011-05-22  Bruno Haible  <bruno@clisp.org>
7293
7294         strsep: Move AC_LIBOBJ invocations to module description.
7295         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
7296         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
7297         here...
7298         * modules/strsep (configure.ac): ... to here.
7299
7300 2011-05-22  Bruno Haible  <bruno@clisp.org>
7301
7302         strptime: Move AC_LIBOBJ invocations to module description.
7303         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
7304         gl_PREREQ_STRPTIME invocations from here...
7305         * modules/strptime (configure.ac): ... to here.
7306
7307 2011-05-22  Bruno Haible  <bruno@clisp.org>
7308
7309         strpbrk: Move AC_LIBOBJ invocations to module description.
7310         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
7311         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
7312         here...
7313         * modules/strpbrk (configure.ac): ... to here.
7314
7315 2011-05-22  Bruno Haible  <bruno@clisp.org>
7316
7317         strnlen: Move AC_LIBOBJ invocations to module description.
7318         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
7319         invocations from here...
7320         * modules/strnlen (configure.ac): ... to here.
7321
7322 2011-05-22  Bruno Haible  <bruno@clisp.org>
7323
7324         strndup: Move AC_LIBOBJ invocations to module description.
7325         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
7326         invocations from here...
7327         * modules/strndup (configure.ac): ... to here.
7328         (Depends-on): Update conditions.
7329
7330 2011-05-22  Bruno Haible  <bruno@clisp.org>
7331
7332         strncat: Move AC_LIBOBJ invocations to module description.
7333         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
7334         invocations from here...
7335         * modules/strncat (configure.ac): ... to here.
7336
7337 2011-05-22  Bruno Haible  <bruno@clisp.org>
7338
7339         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
7340         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
7341         invocations from here...
7342         * modules/strdup (configure.ac): ... to here.
7343         * modules/strdup-posix (configure.ac): ... and here.
7344
7345 2011-05-22  Bruno Haible  <bruno@clisp.org>
7346
7347         strcspn: Move AC_LIBOBJ invocations to module description.
7348         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
7349         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
7350         here...
7351         * modules/strcspn (configure.ac): ... to here.
7352
7353 2011-05-22  Bruno Haible  <bruno@clisp.org>
7354
7355         strchrnul: Move AC_LIBOBJ invocations to module description.
7356         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
7357         gl_PREREQ_STRCHRNUL invocations from here...
7358         * modules/strchrnul (configure.ac): ... to here.
7359
7360 2011-05-22  Bruno Haible  <bruno@clisp.org>
7361
7362         strcasestr*: Move AC_LIBOBJ invocations to module description.
7363         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7364         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
7365         * modules/strcasestr-simple (configure.ac): ... to here.
7366         * modules/strcasestr (configure.ac): ... and here.
7367
7368 2011-05-22  Bruno Haible  <bruno@clisp.org>
7369
7370         strcase: Move AC_LIBOBJ invocations to module description.
7371         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
7372         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
7373         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
7374         gl_PREREQ_STRNCASECMP invocations from here...
7375         * modules/strcase (configure.ac): ... to here.
7376
7377 2011-05-22  Bruno Haible  <bruno@clisp.org>
7378
7379         stpncpy: Move AC_LIBOBJ invocations to module description.
7380         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
7381         here...
7382         * modules/stpncpy (configure.ac): ... to here.
7383
7384 2011-05-22  Bruno Haible  <bruno@clisp.org>
7385
7386         stpcpy: Move AC_LIBOBJ invocations to module description.
7387         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
7388         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
7389         here...
7390         * modules/stpcpy (configure.ac): ... to here.
7391
7392 2011-05-21  Bruno Haible  <bruno@clisp.org>
7393
7394         stat: Move AC_LIBOBJ invocations to module description.
7395         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
7396         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
7397         here...
7398         * modules/stat (configure.ac): ... to here.
7399
7400 2011-05-21  Bruno Haible  <bruno@clisp.org>
7401
7402         sleep: Move AC_LIBOBJ invocations to module description.
7403         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
7404         * modules/sleep (configure.ac): ... to here.
7405
7406 2011-05-21  Bruno Haible  <bruno@clisp.org>
7407
7408         signbit: Move AC_LIBOBJ invocations to module description.
7409         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
7410         * modules/signbit (configure.ac): ... to here.
7411
7412 2011-05-21  Bruno Haible  <bruno@clisp.org>
7413
7414         sigprocmask: Move AC_LIBOBJ invocations to module description.
7415         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
7416         gl_PREREQ_SIGPROMASK invocations from here...
7417         * modules/sigprocmask (configure.ac): ... to here.
7418
7419 2011-05-21  Bruno Haible  <bruno@clisp.org>
7420
7421         sigaction: Move AC_LIBOBJ invocations to module description.
7422         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
7423         gl_PREREQ_SIGACTION invocations from here...
7424         * modules/sigaction (configure.ac): ... to here.
7425
7426 2011-05-21  Bruno Haible  <bruno@clisp.org>
7427
7428         sig2str: Move AC_LIBOBJ invocations to module description.
7429         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
7430         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
7431         here...
7432         * modules/sig2str (configure.ac): ... to here.
7433
7434 2011-05-21  Bruno Haible  <bruno@clisp.org>
7435
7436         setlocale: Move AC_LIBOBJ invocations to module description.
7437         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
7438         gl_PREREQ_SETLOCALE invocations from here...
7439         * modules/setlocale (configure.ac): ... to here.
7440
7441 2011-05-21  Bruno Haible  <bruno@clisp.org>
7442
7443         unsetenv: Move AC_LIBOBJ invocations to module description.
7444         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
7445         and gl_PREREQ_UNSETENV invocations from here...
7446         * modules/unsetenv (configure.ac): ... to here.
7447         (Depends-on): Update.
7448
7449 2011-05-21  Bruno Haible  <bruno@clisp.org>
7450
7451         setenv: Move AC_LIBOBJ invocations to module description.
7452         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
7453         here...
7454         * modules/setenv (configure.ac): ... to here.
7455
7456 2011-05-21  Bruno Haible  <bruno@clisp.org>
7457
7458         selinux-h: Move AC_LIBOBJ invocations to module description.
7459         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
7460         AC_LIBOBJ invocation from here...
7461         * modules/selinux-h (configure.ac): ... to here.
7462
7463 2011-05-21  Bruno Haible  <bruno@clisp.org>
7464
7465         select: Respect rules for use of AC_LIBOBJ.
7466         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7467         here...
7468         * modules/select (configure.ac): ... to here.
7469
7470 2011-05-21  Bruno Haible  <bruno@clisp.org>
7471
7472         scandir: Move AC_LIBOBJ invocations to module description.
7473         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7474         invocations from here...
7475         * modules/scandir (configure.ac): ... to here.
7476
7477 2011-05-21  Bruno Haible  <bruno@clisp.org>
7478
7479         rpmatch: Move AC_LIBOBJ invocations to module description.
7480         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7481         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7482         here...
7483         * modules/rpmatch (configure.ac): ... to here.
7484
7485 2011-05-21  Bruno Haible  <bruno@clisp.org>
7486
7487         rmdir: Respect rules for use of AC_LIBOBJ.
7488         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7489         * modules/rmdir (configure.ac): ... to here.
7490
7491 2011-05-21  Bruno Haible  <bruno@clisp.org>
7492
7493         renameat: Move AC_LIBOBJ invocations to module description.
7494         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7495         here...
7496         * modules/renameat (configure.ac): ... to here.
7497
7498 2011-05-21  Bruno Haible  <bruno@clisp.org>
7499
7500         rename: Respect rules for use of AC_LIBOBJ.
7501         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7502         here...
7503         * modules/rename (configure.ac): ... to here.
7504
7505 2011-05-21  Bruno Haible  <bruno@clisp.org>
7506
7507         remove: Move AC_LIBOBJ invocations to module description.
7508         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7509         here...
7510         * modules/remove (configure.ac): ... to here.
7511
7512 2011-05-21  Bruno Haible  <bruno@clisp.org>
7513
7514         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7515         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7516         macro.
7517         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7518         * modules/relocatable-lib (configure.ac): ... to here.
7519         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7520         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7521
7522 2011-05-21  Bruno Haible  <bruno@clisp.org>
7523
7524         relocatable-prog: Move AC_LIBOBJ invocations to module description.
7525         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
7526         here...
7527         * modules/relocatable-prog (configure.ac): ... to here.
7528
7529 2011-05-21  Bruno Haible  <bruno@clisp.org>
7530
7531         regex: Move AC_LIBOBJ invocations to module description.
7532         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
7533         invocations from here...
7534         * modules/regex (configure.ac): ... to here.
7535
7536 2011-05-21  Bruno Haible  <bruno@clisp.org>
7537
7538         realloc-*: Move AC_LIBOBJ invocations to module description.
7539         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
7540         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
7541         AC_LIBOBJ invocations from here...
7542         * modules/realloc-gnu (configure.ac): ... to here.
7543         * modules/realloc-posix (configure.ac): ... and here.
7544
7545 2011-05-21  Bruno Haible  <bruno@clisp.org>
7546
7547         readutmp: Move AC_LIBOBJ invocations to module description.
7548         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
7549         * modules/readutmp (configure.ac): ... to here.
7550
7551 2011-05-21  Bruno Haible  <bruno@clisp.org>
7552
7553         readlinkat: Move AC_LIBOBJ invocations to module description.
7554         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
7555         here...
7556         * modules/readlinkat (configure.ac): ... to here.
7557
7558 2011-05-21  Bruno Haible  <bruno@clisp.org>
7559
7560         readlink: Move AC_LIBOBJ invocations to module description.
7561         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
7562         gl_PREREQ_READLINK invocations from here...
7563         * modules/readlink (configure.ac): ... to here.
7564
7565 2011-05-21  Bruno Haible  <bruno@clisp.org>
7566
7567         readline: Move AC_LIBOBJ invocations to module description.
7568         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
7569         gl_PREREQ_READLINE invocations from here...
7570         * modules/readline (configure.ac): ... to here.
7571
7572 2011-05-21  Bruno Haible  <bruno@clisp.org>
7573
7574         read: Move AC_LIBOBJ invocations to module description.
7575         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
7576         * modules/read (configure.ac): ... to here.
7577
7578 2011-05-21  Bruno Haible  <bruno@clisp.org>
7579
7580         rawmemchr: Move AC_LIBOBJ invocations to module description.
7581         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
7582         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
7583         from here...
7584         * modules/rawmemchr (configure.ac): ... to here.
7585
7586 2011-05-21  Bruno Haible  <bruno@clisp.org>
7587
7588         random_r: Move AC_LIBOBJ invocations to module description.
7589         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
7590         gl_PREREQ_RANDOM_R invocations from here...
7591         * modules/random_r (configure.ac): ... to here.
7592
7593 2011-05-21  Bruno Haible  <bruno@clisp.org>
7594
7595         pwrite: Move AC_LIBOBJ invocations to module description.
7596         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
7597         * modules/pwrite (configure.ac): ... to here.
7598
7599 2011-05-21  Bruno Haible  <bruno@clisp.org>
7600
7601         putenv: Move AC_LIBOBJ invocations to module description.
7602         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
7603         * modules/putenv (configure.ac): ... to here.
7604
7605 2011-05-21  Bruno Haible  <bruno@clisp.org>
7606
7607         login_tty: Move AC_LIBOBJ invocations to module description.
7608         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
7609         * modules/login_tty (configure.ac): ... to here.
7610
7611 2011-05-21  Bruno Haible  <bruno@clisp.org>
7612
7613         openpty: Move AC_LIBOBJ invocations to module description.
7614         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
7615         * modules/openpty (configure.ac): ... to here.
7616
7617 2011-05-21  Bruno Haible  <bruno@clisp.org>
7618
7619         forkpty: Move AC_LIBOBJ invocations to module description.
7620         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
7621         * modules/forkpty (configure.ac): ... to here.
7622
7623 2011-05-21  Bruno Haible  <bruno@clisp.org>
7624
7625         ptsname: Move AC_LIBOBJ invocations to module description.
7626         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
7627         invocations from here...
7628         * modules/ptsname (configure.ac): ... to here.
7629
7630 2011-05-21  Bruno Haible  <bruno@clisp.org>
7631
7632         pread: Move AC_LIBOBJ invocations to module description.
7633         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
7634         * modules/pread (configure.ac): ... to here.
7635
7636 2011-05-21  Bruno Haible  <bruno@clisp.org>
7637
7638         posix_spawn*: Move AC_LIBOBJ invocations to module description.
7639         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
7640         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
7641         * modules/posix_spawn (configure.ac): ... to here.
7642         * modules/posix_spawnp (configure.ac): ... and here.
7643
7644 2011-05-21  Bruno Haible  <bruno@clisp.org>
7645
7646         popen: Move AC_LIBOBJ invocations to module description.
7647         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
7648         invocations from here...
7649         * modules/popen (configure.ac): ... to here.
7650
7651 2011-05-21  Bruno Haible  <bruno@clisp.org>
7652
7653         poll: Move AC_LIBOBJ invocations to module description.
7654         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
7655         invocations from here...
7656         * modules/poll (configure.ac): ... to here.
7657
7658 2011-05-21  Bruno Haible  <bruno@clisp.org>
7659
7660         pipe-posix: Move AC_LIBOBJ invocations to module description.
7661         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
7662         * modules/pipe-posix (configure.ac): ... to here.
7663
7664 2011-05-21  Bruno Haible  <bruno@clisp.org>
7665
7666         openat: Respect rules for use of AC_LIBOBJ.
7667         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
7668         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7669         * modules/openat (configure.ac): ... to here.
7670
7671 2011-05-21  Bruno Haible  <bruno@clisp.org>
7672
7673         obstack-printf*: Move AC_LIBOBJ invocations to module description.
7674         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
7675         invocation from here...
7676         * modules/obstack-printf (configure.ac): ... to here.
7677         * modules/obstack-printf-posix (configure.ac): ... and here.
7678
7679 2011-05-21  Bruno Haible  <bruno@clisp.org>
7680
7681         nl_langinfo: Move AC_LIBOBJ invocations to module description.
7682         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
7683         from here...
7684         * modules/nl_langinfo (configure.ac): ... to here.
7685
7686 2011-05-21  Bruno Haible  <bruno@clisp.org>
7687
7688         nanosleep: Move AC_LIBOBJ invocations to module description.
7689         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
7690         gl_PREREQ_NANOSLEEP invocations from here...
7691         * modules/nanosleep (configure.ac): ... to here.
7692
7693 2011-05-21  Bruno Haible  <bruno@clisp.org>
7694
7695         mountlist: Move AC_LIBOBJ invocations to module description.
7696         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
7697         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
7698         * modules/mountlist (configure.ac): ... to here.
7699
7700 2011-05-21  Bruno Haible  <bruno@clisp.org>
7701
7702         mktime: Respect rules for use of AC_LIBOBJ.
7703         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
7704         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
7705         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
7706         (gl_FUNC_MKTIME_INTERNAL): ... and here...
7707         * modules/mktime (configure.ac): ... to here.
7708         * modules/mktime-internal (configure.ac): ... and here.
7709         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
7710
7711 2011-05-21  Bruno Haible  <bruno@clisp.org>
7712
7713         mkstemps: Move AC_LIBOBJ invocations to module description.
7714         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
7715         here...
7716         * modules/mkstemps (configure.ac): ... to here.
7717
7718 2011-05-21  Bruno Haible  <bruno@clisp.org>
7719
7720         mkstemp: Move AC_LIBOBJ invocations to module description.
7721         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
7722         gl_PREREQ_MKSTEMP invocations from here...
7723         * modules/mkstemp (configure.ac): ... to here.
7724
7725 2011-05-21  Bruno Haible  <bruno@clisp.org>
7726
7727         mkostemps: Move AC_LIBOBJ invocations to module description.
7728         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
7729         here...
7730         * modules/mkostemps (configure.ac): ... to here.
7731
7732 2011-05-21  Bruno Haible  <bruno@clisp.org>
7733
7734         mkostemp: Move AC_LIBOBJ invocations to module description.
7735         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
7736         gl_PREREQ_MKOSTEMP invocations from here...
7737         * modules/mkostemp (configure.ac): ... to here.
7738
7739 2011-05-21  Bruno Haible  <bruno@clisp.org>
7740
7741         mknod: Move AC_LIBOBJ invocations to module description.
7742         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
7743         * modules/mknod (configure.ac): ... to here.
7744
7745 2011-05-21  Bruno Haible  <bruno@clisp.org>
7746
7747         mkfifoat: Move AC_LIBOBJ invocations to module description.
7748         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
7749         here...
7750         * modules/mkfifoat (configure.ac): ... to here.
7751
7752 2011-05-21  Bruno Haible  <bruno@clisp.org>
7753
7754         mkfifo: Respect rules for use of AC_LIBOBJ.
7755         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
7756         here...
7757         * modules/mkfifo (configure.ac): ... to here.
7758
7759 2011-05-21  Bruno Haible  <bruno@clisp.org>
7760
7761         mkdtemp: Move AC_LIBOBJ invocations to module description.
7762         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
7763         invocations from here...
7764         * modules/mkdtemp (configure.ac): ... to here.
7765
7766 2011-05-21  Bruno Haible  <bruno@clisp.org>
7767
7768         mkdir: Move AC_LIBOBJ invocations to module description.
7769         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
7770         * modules/mkdir (configure.ac): ... to here.
7771
7772 2011-05-21  Bruno Haible  <bruno@clisp.org>
7773
7774         memset: Move AC_LIBOBJ invocations to module description.
7775         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
7776         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
7777         here...
7778         * modules/memset (configure.ac): ... to here.
7779
7780 2011-05-21  Bruno Haible  <bruno@clisp.org>
7781
7782         memrchr: Move AC_LIBOBJ invocations to module description.
7783         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
7784         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
7785         here...
7786         * modules/memrchr (configure.ac): ... to here.
7787
7788 2011-05-21  Bruno Haible  <bruno@clisp.org>
7789
7790         mempcpy: Move AC_LIBOBJ invocations to module description.
7791         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
7792         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
7793         here...
7794         * modules/mempcpy (configure.ac): ... to here.
7795
7796 2011-05-21  Bruno Haible  <bruno@clisp.org>
7797
7798         memmove: Move AC_LIBOBJ invocations to module description.
7799         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
7800         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
7801         here...
7802         * modules/memmove (configure.ac): ... to here.
7803
7804 2011-05-21  Bruno Haible  <bruno@clisp.org>
7805
7806         memmem*: Move AC_LIBOBJ invocations to module description.
7807         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
7808         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
7809         here...
7810         (gl_FUNC_MEMMEM): ... and here...
7811         * modules/memmem-simple (configure.ac): ... to here.
7812         * modules/memmem (configure.ac): ... and here.
7813
7814 2011-05-21  Bruno Haible  <bruno@clisp.org>
7815
7816         memcpy: Move AC_LIBOBJ invocations to module description.
7817         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
7818         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
7819         here...
7820         * modules/memcpy (configure.ac): ... to here.
7821
7822 2011-05-21  Bruno Haible  <bruno@clisp.org>
7823
7824         memcmp: Simplify autoconf macro.
7825         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
7826         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
7827         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
7828
7829 2011-05-21  Bruno Haible  <bruno@clisp.org>
7830
7831         memcmp: Move AC_LIBOBJ invocations to module description.
7832         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
7833         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
7834         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
7835         * modules/memcmp (configure.ac): ... to here.
7836         (Depends-on): Update conditions.
7837
7838 2011-05-21  Bruno Haible  <bruno@clisp.org>
7839
7840         memchr: Respect rules for use of AC_LIBOBJ.
7841         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
7842         invocations from here...
7843         * modules/memchr (configure.ac): ... to here.
7844
7845 2011-05-21  Bruno Haible  <bruno@clisp.org>
7846
7847         mbtowc: Move AC_LIBOBJ invocations to module description.
7848         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
7849         invocations from here...
7850         * modules/mbtowc (configure.ac): ... to here.
7851
7852 2011-05-21  Bruno Haible  <bruno@clisp.org>
7853
7854         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
7855         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
7856         gl_PREREQ_MBSRTOWCS invocations from here...
7857         * modules/mbsrtowcs (configure.ac): ... to here.
7858
7859 2011-05-21  Bruno Haible  <bruno@clisp.org>
7860
7861         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
7862         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
7863         gl_PREREQ_MBSNRTOWCS invocations from here...
7864         * modules/mbsnrtowcs (configure.ac): ... to here.
7865
7866 2011-05-21  Bruno Haible  <bruno@clisp.org>
7867
7868         mbsinit: Move AC_LIBOBJ invocations to module description.
7869         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
7870         invocations from here...
7871         * modules/mbsinit (configure.ac): ... to here.
7872
7873 2011-05-21  Bruno Haible  <bruno@clisp.org>
7874
7875         mbrlen: Move AC_LIBOBJ invocations to module description.
7876         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
7877         invocations from here...
7878         * modules/mbrlen (configure.ac): ... to here.
7879
7880 2011-05-21  Bruno Haible  <bruno@clisp.org>
7881
7882         mbrtowc: Respect rules for use of AC_LIBOBJ.
7883         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
7884         invocations from here...
7885         * modules/mbrtowc (configure.ac): ... to here.
7886
7887 2011-05-21  Bruno Haible  <bruno@clisp.org>
7888
7889         malloc-*: Move AC_LIBOBJ invocations to module description.
7890         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
7891         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
7892         AC_LIBOBJ invocations from here...
7893         * modules/malloc-gnu (configure.ac): ... to here.
7894         * modules/malloc-posix (configure.ac): ... and here.
7895
7896 2011-05-21  Bruno Haible  <bruno@clisp.org>
7897
7898         lstat, openat: Respect rules for use of AC_LIBOBJ.
7899         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
7900         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
7901         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
7902         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
7903         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
7904         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
7905         here.
7906         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
7907
7908 2011-05-21  Bruno Haible  <bruno@clisp.org>
7909
7910         lseek: Move AC_LIBOBJ invocations to module description.
7911         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
7912         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
7913         * modules/lseek (configure.ac): ... to here.
7914
7915 2011-05-21  Bruno Haible  <bruno@clisp.org>
7916
7917         linkat: Move AC_LIBOBJ invocations to module description.
7918         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
7919         here...
7920         * modules/linkat (configure.ac): ... to here.
7921
7922 2011-05-21  Bruno Haible  <bruno@clisp.org>
7923
7924         link: Respect rules for use of AC_LIBOBJ.
7925         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
7926         * modules/link (configure.ac): ... to here.
7927
7928 2011-05-21  Bruno Haible  <bruno@clisp.org>
7929
7930         lchown: Move AC_LIBOBJ invocations to module description.
7931         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
7932         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7933         * modules/lchown (configure.ac): ... to here.
7934
7935 2011-05-21  Bruno Haible  <bruno@clisp.org>
7936
7937         iswctype: Move AC_LIBOBJ invocations to module description.
7938         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
7939         here...
7940         * modules/iswctype (configure.ac): ... to here.
7941
7942 2011-05-21  Bruno Haible  <bruno@clisp.org>
7943
7944         iswblank: Move AC_LIBOBJ invocations to module description.
7945         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
7946         here...
7947         * modules/iswblank (configure.ac): ... to here.
7948
7949 2011-05-21  Bruno Haible  <bruno@clisp.org>
7950
7951         atanl: Move AC_LIBOBJ invocations to module description.
7952         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
7953         * modules/atanl (configure.ac): ... to here.
7954
7955 2011-05-21  Bruno Haible  <bruno@clisp.org>
7956
7957         acosl: Move AC_LIBOBJ invocations to module description.
7958         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
7959         * modules/acosl (configure.ac): ... to here.
7960
7961 2011-05-21  Bruno Haible  <bruno@clisp.org>
7962
7963         asinl: Respect rules for use of AC_LIBOBJ.
7964         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
7965         * modules/asinl (configure.ac): ... to here.
7966
7967 2011-05-21  Bruno Haible  <bruno@clisp.org>
7968
7969         tanl: Move AC_LIBOBJ invocations to module description.
7970         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
7971         * modules/tanl (configure.ac): ... to here.
7972
7973 2011-05-21  Bruno Haible  <bruno@clisp.org>
7974
7975         cosl: Move AC_LIBOBJ invocations to module description.
7976         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
7977         * modules/cosl (configure.ac): ... to here.
7978
7979 2011-05-21  Bruno Haible  <bruno@clisp.org>
7980
7981         sinl: Move AC_LIBOBJ invocations to module description.
7982         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
7983         * modules/sinl (configure.ac): ... to here.
7984
7985 2011-05-21  Bruno Haible  <bruno@clisp.org>
7986
7987         logl: Move AC_LIBOBJ invocations to module description.
7988         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
7989         * modules/logl (configure.ac): ... to here.
7990
7991 2011-05-21  Bruno Haible  <bruno@clisp.org>
7992
7993         expl: Move AC_LIBOBJ invocations to module description.
7994         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
7995         * modules/expl (configure.ac): ... to here.
7996
7997 2011-05-21  Bruno Haible  <bruno@clisp.org>
7998
7999         roundl: Move AC_LIBOBJ invocations to module description.
8000         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
8001         * modules/roundl (configure.ac): ... to here.
8002
8003 2011-05-21  Bruno Haible  <bruno@clisp.org>
8004
8005         round: Move AC_LIBOBJ invocations to module description.
8006         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
8007         * modules/round (configure.ac): ... to here.
8008
8009 2011-05-21  Bruno Haible  <bruno@clisp.org>
8010
8011         roundf: Move AC_LIBOBJ invocations to module description.
8012         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
8013         * modules/roundf (configure.ac): ... to here.
8014
8015 2011-05-21  Bruno Haible  <bruno@clisp.org>
8016
8017         truncl: Move AC_LIBOBJ invocations to module description.
8018         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
8019         * modules/truncl (configure.ac): ... to here.
8020
8021 2011-05-21  Bruno Haible  <bruno@clisp.org>
8022
8023         trunc: Move AC_LIBOBJ invocations to module description.
8024         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
8025         * modules/trunc (configure.ac): ... to here.
8026
8027 2011-05-21  Bruno Haible  <bruno@clisp.org>
8028
8029         truncf: Move AC_LIBOBJ invocations to module description.
8030         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
8031         * modules/truncf (configure.ac): ... to here.
8032
8033 2011-05-21  Bruno Haible  <bruno@clisp.org>
8034
8035         ceill: Move AC_LIBOBJ invocations to module description.
8036         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
8037         * modules/ceill (configure.ac): ... to here.
8038
8039 2011-05-21  Bruno Haible  <bruno@clisp.org>
8040
8041         ceil: Move AC_LIBOBJ invocations to module description.
8042         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
8043         * modules/ceil (configure.ac): ... to here.
8044
8045 2011-05-21  Bruno Haible  <bruno@clisp.org>
8046
8047         ceilf: Move AC_LIBOBJ invocations to module description.
8048         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
8049         * modules/ceilf (configure.ac): ... to here.
8050
8051 2011-05-21  Bruno Haible  <bruno@clisp.org>
8052
8053         floorl: Respect rules for use of AC_LIBOBJ.
8054         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
8055         * modules/floorl (configure.ac): ... to here.
8056
8057 2011-05-21  Bruno Haible  <bruno@clisp.org>
8058
8059         floor: Respect rules for use of AC_LIBOBJ.
8060         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
8061         * modules/floor (configure.ac): ... to here.
8062
8063 2011-05-21  Bruno Haible  <bruno@clisp.org>
8064
8065         floorf: Move AC_LIBOBJ invocations to module description.
8066         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
8067         * modules/floorf (configure.ac): ... to here.
8068
8069 2011-05-20  Bruno Haible  <bruno@clisp.org>
8070
8071         sqrtl: Respect rules for use of AC_LIBOBJ.
8072         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
8073         * modules/sqrtl (configure.ac): ... to here.
8074
8075 2011-05-20  Bruno Haible  <bruno@clisp.org>
8076
8077         ldexpl: Respect rules for use of AC_LIBOBJ.
8078         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
8079         * modules/ldexpl (configure.ac): ... to here.
8080
8081 2011-05-20  Bruno Haible  <bruno@clisp.org>
8082
8083         frexpl*: Respect rules for use of AC_LIBOBJ.
8084         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
8085         invocation from here...
8086         * modules/frexpl (configure.ac): ... to here.
8087         * modules/frexpl-nolibm (configure.ac): ... and here.
8088
8089 2011-05-20  Bruno Haible  <bruno@clisp.org>
8090
8091         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
8092         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
8093         invocation from here...
8094         * modules/frexp (configure.ac): ... to here.
8095         * modules/frexp-nolibm (configure.ac): ... and here.
8096
8097 2011-05-20  Bruno Haible  <bruno@clisp.org>
8098
8099         isnan: Respect rules for use of AC_LIBOBJ.
8100         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
8101         invocations here.
8102         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
8103         REPLACE_ISNAN.
8104         * modules/isnand (configure.ac): Likewise.
8105         * modules/isnanl (configure.ac): Likewise.
8106
8107 2011-05-20  Bruno Haible  <bruno@clisp.org>
8108
8109         isnanl*: Respect rules for use of AC_LIBOBJ.
8110         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
8111         invocation from here...
8112         * modules/isnanl (configure.ac): ... to here.
8113         * modules/isnanl-nolibm (configure.ac): ... and here.
8114
8115 2011-05-20  Bruno Haible  <bruno@clisp.org>
8116
8117         isnand*: Move AC_LIBOBJ invocations to module description.
8118         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
8119         invocation from here...
8120         * modules/isnand (configure.ac): ... to here.
8121         * modules/isnand-nolibm (configure.ac): ... and here.
8122
8123 2011-05-20  Bruno Haible  <bruno@clisp.org>
8124
8125         isnanf*: Move AC_LIBOBJ invocations to module description.
8126         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
8127         invocation from here...
8128         * modules/isnanf (configure.ac): ... to here.
8129         * modules/isnanf-nolibm (configure.ac): ... and here.
8130
8131 2011-05-20  Bruno Haible  <bruno@clisp.org>
8132
8133         isnan*: Separate the AC_LIBOBJ invocations.
8134         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
8135         AC_LIBOBJ invocation.
8136         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
8137         here.
8138         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
8139         AC_LIBOBJ invocation.
8140         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
8141         here.
8142         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
8143         AC_LIBOBJ invocation.
8144         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
8145         here.
8146         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
8147
8148 2011-05-08  Bruno Haible  <bruno@clisp.org>
8149
8150         isinf: Move AC_LIBOBJ invocations to module description.
8151         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
8152         * modules/isinf (configure.ac): ... to here.
8153
8154 2011-05-08  Bruno Haible  <bruno@clisp.org>
8155
8156         isfinite: Move AC_LIBOBJ invocations to module description.
8157         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
8158         * modules/isfinite (configure.ac): ... to here.
8159
8160 2011-05-08  Bruno Haible  <bruno@clisp.org>
8161
8162         isblank: Move AC_LIBOBJ invocations to module description.
8163         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
8164         here...
8165         * modules/isblank (configure.ac): ... to here.
8166
8167 2011-05-08  Bruno Haible  <bruno@clisp.org>
8168
8169         isapipe: Move AC_LIBOBJ invocations to module description.
8170         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
8171         gl_PREREQ_ISAPIPE invocations from here...
8172         * modules/isapipe (configure.ac): ... to here.
8173         (Depends-on): Update condition.
8174
8175 2011-05-08  Bruno Haible  <bruno@clisp.org>
8176
8177         ioctl: Move AC_LIBOBJ invocations to module description.
8178         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
8179         invocations from here...
8180         * modules/ioctl (configure.ac): ... to here.
8181         (Depends-on): Update condition.
8182
8183 2011-05-08  Bruno Haible  <bruno@clisp.org>
8184
8185         imaxdiv: Move AC_LIBOBJ invocations to module description.
8186         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
8187         invocations from here...
8188         * modules/imaxdiv (configure.ac): ... to here.
8189
8190 2011-05-08  Bruno Haible  <bruno@clisp.org>
8191
8192         imaxabs: Move AC_LIBOBJ invocations to module description.
8193         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
8194         invocations from here...
8195         * modules/imaxabs (configure.ac): ... to here.
8196
8197 2011-05-08  Bruno Haible  <bruno@clisp.org>
8198
8199         getaddrinfo: Move AC_LIBOBJ invocations to module description.
8200         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
8201         AC_LIBOBJ invocations from here...
8202         * modules/getaddrinfo (configure.ac): ... to here.
8203         (Depends-on): Add conditions.
8204
8205 2011-05-08  Bruno Haible  <bruno@clisp.org>
8206
8207         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8208         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
8209         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8210         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
8211         (gl_PREREQ_INET_PTON): ... from here.
8212         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
8213         gl_PREREQ_INET_PTON here.
8214         (Depends-on): Update condition.
8215
8216 2011-05-08  Bruno Haible  <bruno@clisp.org>
8217
8218         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8219         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
8220         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8221         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
8222         (gl_PREREQ_INET_NTOP): ... from here.
8223         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
8224         gl_PREREQ_INET_NTOP here.
8225         (Depends-on): Update condition.
8226
8227 2011-05-08  Bruno Haible  <bruno@clisp.org>
8228
8229         iconv_open: Move AC_LIBOBJ invocations to module description.
8230         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
8231         AC_LIBOBJ invocations from here...
8232         * modules/iconv_open (configure.ac): ... to here.
8233
8234 2011-05-08  Bruno Haible  <bruno@clisp.org>
8235
8236         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
8237         If module 'iconv_open' is among the main modules and module
8238         'iconv_open-utf' is among the tests dependencies, then
8239         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
8240         return the special iconv_t values. Therefore iconv() and iconv_close()
8241         must support these special iconv_t values, already in lib, not only in
8242         tests.
8243         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
8244         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
8245         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
8246         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
8247         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
8248         (Depends-on): Add the dependencies of iconv_open-utf.
8249         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
8250         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
8251         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
8252
8253 2011-05-08  Bruno Haible  <bruno@clisp.org>
8254
8255         group-member: Move AC_LIBOBJ invocations to module description.
8256         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
8257         gl_PREREQ_GROUP_MEMBER invocations from here...
8258         * modules/group-member (configure.ac): ... to here.
8259
8260 2011-05-08  Bruno Haible  <bruno@clisp.org>
8261
8262         grantpt: Move AC_LIBOBJ invocations to module description.
8263         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
8264         invocations from here...
8265         * modules/grantpt (configure.ac): ... to here.
8266
8267 2011-05-08  Bruno Haible  <bruno@clisp.org>
8268
8269         glob: Move AC_LIBOBJ invocations to module description.
8270         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
8271         from here...
8272         * modules/glob (configure.ac): ... to here.
8273
8274 2011-05-08  Bruno Haible  <bruno@clisp.org>
8275
8276         getusershell: Move AC_LIBOBJ invocations to module description.
8277         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
8278         Move AC_LIBOBJ invocation from here...
8279         * modules/getusershell (configure.ac): ... to here.
8280         (Depends-on): Update condition.
8281
8282 2011-05-08  Bruno Haible  <bruno@clisp.org>
8283
8284         gettimeofday: Move AC_LIBOBJ invocations to module description.
8285         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
8286         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
8287         gl_PREREQ_GETTIMEOFDAY invocations from here...
8288         * modules/gettimeofday (configure.ac): ... to here.
8289
8290 2011-05-08  Bruno Haible  <bruno@clisp.org>
8291
8292         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
8293         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
8294         just gl_FUNC_TZSET.
8295         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
8296         (gl_FUNC_TZSET_CLOBBER): Remove actions.
8297         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
8298         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
8299
8300 2011-05-08  Bruno Haible  <bruno@clisp.org>
8301
8302         getsubopt: Move AC_LIBOBJ invocations to module description.
8303         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
8304         gl_PREREQ_GETSUBOPT invocations from here...
8305         * modules/getsubopt (configure.ac): ... to here.
8306
8307 2011-05-08  Bruno Haible  <bruno@clisp.org>
8308
8309         getpass-gnu: Move AC_LIBOBJ invocations to module description.
8310         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
8311         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
8312         * modules/getpass-gnu (configure.ac): ... to here.
8313
8314 2011-05-08  Bruno Haible  <bruno@clisp.org>
8315
8316         getpass: Move AC_LIBOBJ invocations to module description.
8317         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
8318         gl_PREREQ_GETPASS invocations from here...
8319         * modules/getpass (configure.ac): ... to here.
8320
8321 2011-05-08  Bruno Haible  <bruno@clisp.org>
8322
8323         getpagesize: Move AC_LIBOBJ invocations to module description.
8324         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
8325         from here...
8326         * modules/getpagesize (configure.ac): ... to here.
8327
8328 2011-05-08  Bruno Haible  <bruno@clisp.org>
8329
8330         getopt: Move AC_LIBOBJ invocations to module description.
8331         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
8332         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
8333         invocations from here...
8334         * modules/getopt-gnu (configure.ac): ... to here.
8335         * modules/getopt-posix (configure.ac): ... and here.
8336         (Depends-on): Update condition.
8337
8338 2011-05-08  Bruno Haible  <bruno@clisp.org>
8339
8340         getopt, argp: Respect rules for use of AC_LIBOBJ.
8341         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
8342         (gl_REPLACE_GETOPT_ALWAYS): New macro.
8343         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
8344         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
8345
8346 2011-05-08  Bruno Haible  <bruno@clisp.org>
8347
8348         getlogin_r: Move AC_LIBOBJ invocations to module description.
8349         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
8350         gl_PREREQ_GETLOGIN_R invocations from here...
8351         * modules/getlogin_r (configure.ac): ... to here.
8352
8353 2011-05-08  Bruno Haible  <bruno@clisp.org>
8354
8355         getlogin: Move AC_LIBOBJ invocations to module description.
8356         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
8357         here...
8358         * modules/getlogin (configure.ac): ... to here.
8359
8360 2011-05-08  Bruno Haible  <bruno@clisp.org>
8361
8362         getloadavg: Move AC_LIBOBJ invocations to module description.
8363         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
8364         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
8365         * modules/getloadavg (configure.ac): ... to here.
8366
8367 2011-05-08  Bruno Haible  <bruno@clisp.org>
8368
8369         gethrxtime: Move AC_LIBOBJ invocations to module description.
8370         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
8371         LIB_GETHRXTIME from here...
8372         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
8373         invocations from here...
8374         * modules/gethrxtime (configure.ac): ... to here.
8375
8376 2011-05-08  Bruno Haible  <bruno@clisp.org>
8377
8378         gethostname: Move AC_LIBOBJ invocations to module description.
8379         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
8380         gl_PREREQ_GETHOSTNAME invocations from here...
8381         * modules/gethostname (configure.ac): ... to here.
8382
8383 2011-05-08  Bruno Haible  <bruno@clisp.org>
8384
8385         getgroups: Move AC_LIBOBJ invocations to module description.
8386         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
8387         here...
8388         * modules/getgroups (configure.ac): ... to here.
8389
8390 2011-05-08  Bruno Haible  <bruno@clisp.org>
8391
8392         getdtablesize: Move AC_LIBOBJ invocations to module description.
8393         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
8394         invocation from here...
8395         * modules/getdtablesize (configure.ac): ... to here.
8396
8397 2011-05-08  Bruno Haible  <bruno@clisp.org>
8398
8399         getdomainname: Move AC_LIBOBJ invocations to module description.
8400         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
8401         gl_PREREQ_GETDOMAINNAME invocations from here...
8402         * modules/getdomainname (configure.ac): ... to here.
8403
8404 2011-05-08  Bruno Haible  <bruno@clisp.org>
8405
8406         getline: Move AC_LIBOBJ invocations to module description.
8407         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
8408         invocations from here...
8409         * modules/getline (configure.ac): ... to here.
8410
8411 2011-05-08  Bruno Haible  <bruno@clisp.org>
8412
8413         getline: Simplify.
8414         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
8415         It's already handled through the module dependency.
8416
8417 2011-05-08  Bruno Haible  <bruno@clisp.org>
8418
8419         getdelim: Move AC_LIBOBJ invocations to module description.
8420         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
8421         and gl_PREREQ_GETDELIM invocations from here...
8422         * modules/getdelim (configure.ac): ... to here.
8423         (Depends-on): Fix condition.
8424
8425 2011-05-08  Bruno Haible  <bruno@clisp.org>
8426
8427         getcwd: Move AC_LIBOBJ invocations to module description.
8428         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
8429         invocations from here...
8430         * modules/getcwd (configure.ac): ... to here.
8431
8432 2011-05-08  Bruno Haible  <bruno@clisp.org>
8433
8434         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
8435         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
8436         here...
8437         * modules/getcwd-lgpl (configure.ac): ... to here.
8438
8439 2011-05-07  Bruno Haible  <bruno@clisp.org>
8440
8441         crypto/gc: Move AC_LIBOBJ invocations to module description.
8442         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
8443         * modules/crypto/gc (configure.ac): ... to here.
8444
8445 2011-05-07  Bruno Haible  <bruno@clisp.org>
8446
8447         fwriting: Move AC_LIBOBJ invocations to module description.
8448         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
8449         here...
8450         * modules/fwriting (configure.ac): ... to here.
8451
8452 2011-05-07  Bruno Haible  <bruno@clisp.org>
8453
8454         fwritable: Move AC_LIBOBJ invocations to module description.
8455         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
8456         here...
8457         * modules/fwritable (configure.ac): ... to here.
8458
8459 2011-05-07  Bruno Haible  <bruno@clisp.org>
8460
8461         futimens: Move AC_LIBOBJ invocations to module description.
8462         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8463         here...
8464         * modules/futimens (configure.ac): ... to here.
8465
8466 2011-05-07  Bruno Haible  <bruno@clisp.org>
8467
8468         ftruncate: Move AC_LIBOBJ invocations to module description.
8469         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8470         gl_PREREQ_FTRUNCATE invocations from here...
8471         * modules/ftruncate (configure.ac): ... to here.
8472
8473 2011-05-07  Bruno Haible  <bruno@clisp.org>
8474
8475         fsync: Move AC_LIBOBJ invocations to module description.
8476         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8477         invocations from here...
8478         * modules/fsync (configure.ac): ... to here.
8479
8480 2011-05-07  Bruno Haible  <bruno@clisp.org>
8481
8482         fsusage: Move AC_LIBOBJ invocations to module description.
8483         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8484         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8485         * modules/fsusage (configure.ac): ... to here.
8486
8487 2011-05-07  Bruno Haible  <bruno@clisp.org>
8488
8489         freopen: Move AC_LIBOBJ invocations to module description.
8490         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8491         invocations from here...
8492         * modules/freopen (configure.ac): ... to here.
8493
8494 2011-05-07  Bruno Haible  <bruno@clisp.org>
8495
8496         free: Move AC_LIBOBJ invocations to module description.
8497         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8498         invocations from here...
8499         * modules/free (configure.ac): ... to here.
8500
8501 2011-05-07  Bruno Haible  <bruno@clisp.org>
8502
8503         freadable: Move AC_LIBOBJ invocations to module description.
8504         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8505         here...
8506         * modules/freadable (configure.ac): ... to here.
8507
8508 2011-05-07  Bruno Haible  <bruno@clisp.org>
8509
8510         fpurge: Move AC_LIBOBJ invocations to module description.
8511         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8512         invocations from here...
8513         * modules/fpurge (configure.ac): ... to here.
8514
8515 2011-05-07  Bruno Haible  <bruno@clisp.org>
8516
8517         fpending: Move AC_LIBOBJ invocations to module description.
8518         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8519         gl_FUNC_FPENDING.
8520         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8521         invocations from here...
8522         * modules/fpending (configure.ac): ... to here.
8523
8524 2011-05-07  Bruno Haible  <bruno@clisp.org>
8525
8526         fopen: Move AC_LIBOBJ invocations to module description.
8527         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
8528         invocations from here...
8529         * modules/fopen (configure.ac): ... to here.
8530
8531 2011-05-07  Bruno Haible  <bruno@clisp.org>
8532
8533         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
8534         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
8535         gl_FUNC_FNMATCH_POSIX.
8536         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
8537         invocations from here...
8538         * modules/fnmatch (configure.ac): ... to here.
8539         * modules/fnmatch-gnu (configure.ac): ... and here.
8540
8541 2011-05-07  Bruno Haible  <bruno@clisp.org>
8542
8543         flock: Move AC_LIBOBJ invocations to module description.
8544         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
8545         invocations from here...
8546         * modules/flock (configure.ac): ... to here.
8547
8548 2011-05-07  Bruno Haible  <bruno@clisp.org>
8549
8550         fileblocks: Move AC_LIBOBJ invocations to module description.
8551         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
8552         gl_PREREQ_FILEBLOCKS invocations from here...
8553         * modules/fileblocks (configure.ac): ... to here.
8554
8555 2011-05-06  Bruno Haible  <bruno@clisp.org>
8556
8557         fflush: Move AC_LIBOBJ invocations to module description.
8558         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
8559         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
8560         invocations from here...
8561         * modules/fflush (configure.ac): ... to here.
8562
8563 2011-05-06  Bruno Haible  <bruno@clisp.org>
8564
8565         fdopendir: Move AC_LIBOBJ invocations to module description.
8566         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
8567         here...
8568         * modules/fdopendir (configure.ac): ... to here.
8569         (Depends-on): Improve conditions.
8570
8571 2011-05-06  Bruno Haible  <bruno@clisp.org>
8572
8573         _Exit: Move AC_LIBOBJ invocations to module description.
8574         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
8575         invocations from here...
8576         * modules/_Exit (configure.ac): ... to here.
8577
8578 2011-05-21  Bruno Haible  <bruno@clisp.org>
8579
8580         euidaccess: Respect rules for use of AC_LIBOBJ.
8581         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8582         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
8583         from here...
8584         * modules/euidaccess (configure.ac): ... to here.
8585
8586 2011-05-06  Bruno Haible  <bruno@clisp.org>
8587
8588         error: Move AC_LIBOBJ invocations to module description.
8589         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
8590         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
8591         invocations from here...
8592         * modules/error (configure.ac): ... to here.
8593
8594 2011-05-06  Bruno Haible  <bruno@clisp.org>
8595
8596         duplocale: Move AC_LIBOBJ invocations to module description.
8597         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
8598         gl_PREREQ_DUPLOCALE invocations from here...
8599         * modules/duplocale (configure.ac): ... to here.
8600
8601 2011-05-05  Bruno Haible  <bruno@clisp.org>
8602
8603         dirfd: Move AC_LIBOBJ invocations to module description.
8604         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
8605         gl_FUNC_DIRFD.
8606         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
8607         here...
8608         * modules/dirfd (configure.ac): ... to here.
8609         (Depends-on): Fix condition.
8610
8611 2011-05-05  Bruno Haible  <bruno@clisp.org>
8612
8613         chown: Respect rules for use of AC_LIBOBJ.
8614         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
8615         * modules/chown (configure.ac): ... to here.
8616
8617 2011-05-05  Bruno Haible  <bruno@clisp.org>
8618
8619         chdir-long: Move AC_LIBOBJ invocations to module description.
8620         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
8621         gl_PREREQ_CHDIR_LONG invocations from here...
8622         * modules/chdir-long (configure.ac): ... to here.
8623
8624 2011-05-05  Bruno Haible  <bruno@clisp.org>
8625
8626         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
8627         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
8628         from here...
8629         * modules/canonicalize-lgpl (configure.ac): ... to here.
8630
8631 2011-05-05  Bruno Haible  <bruno@clisp.org>
8632
8633         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
8634         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
8635         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
8636         REPLACE_CALLOC.
8637         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
8638         * modules/calloc-gnu (configure.ac): Likewise.
8639
8640 2011-05-05  Bruno Haible  <bruno@clisp.org>
8641
8642         btowc: Move AC_LIBOBJ invocations to module description.
8643         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
8644         invocations from here...
8645         * modules/btowc (configure.ac): ... to here.
8646
8647 2011-05-21  Bruno Haible  <bruno@clisp.org>
8648
8649         atexit: Move AC_LIBOBJ invocations to module description.
8650         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
8651         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
8652         here...
8653         * modules/atexit (configure.ac): ... to here.
8654
8655 2011-05-05  Bruno Haible  <bruno@clisp.org>
8656
8657         atoll: Move AC_LIBOBJ invocations to module description.
8658         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
8659         invocations from here...
8660         * modules/atoll (configure.ac): ... to here.
8661
8662 2011-05-05  Bruno Haible  <bruno@clisp.org>
8663
8664         argz: Move AC_LIBOBJ invocations to module description.
8665         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
8666         * modules/argz (configure.ac): ... to here.
8667
8668 2011-05-05  Bruno Haible  <bruno@clisp.org>
8669
8670         alphasort: Move AC_LIBOBJ invocations to module description.
8671         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
8672         gl_PREREQ_ALPHASORT invocations from here...
8673         * modules/alphasort (configure.ac): ... to here.
8674
8675 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8676
8677         verify: new macro verify_expr; verify_true deprecated
8678         * NEWS: Mention this.
8679         * doc/verify.texi (Compile-time Assertions): Document this.
8680         * lib/verify.h (verify_true): Deprecate.
8681         (verify_expr): New macro.
8682         * tests/test-verify.c (function): Test verify_expr.
8683
8684 2011-06-14  Jim Meyering  <meyering@redhat.com>
8685
8686         init.sh: give more portable redirection-related advice in a comment
8687         * tests/init.sh (stderr_fileno_): Update the advice in comments.
8688         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
8689         for lots of discussion.  Stefano Lattarini suggested the solution
8690         of putting "9>&2" after the command.  Reported by Bruno Haible.
8691
8692 2011-06-13  Bruno Haible  <bruno@clisp.org>
8693
8694         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
8695         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
8696         'none'.
8697
8698 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8699
8700         ftoastr: use strtof only if HAVE_STRTOF
8701         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
8702         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
8703         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
8704         * modules/ftoastr (configure.ac): Check for strtof.
8705
8706 2011-06-13  Bruno Haible  <bruno@clisp.org>
8707
8708         gnulib-tool: Addendum to 2011-06-08 commit.
8709         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
8710         and --witness-c-macro have been given, augment AM_CPPFLAGS.
8711
8712 2011-06-13  Bruno Haible  <bruno@clisp.org>
8713
8714         fseeko: Provide a non-inline replacement of fseek().
8715         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
8716         * modules/fseeko (Depends-on): Add fseek.
8717         * modules/fseek (License): Change to LGPLv2+.
8718
8719 2011-06-13  Bruno Haible  <bruno@clisp.org>
8720
8721         ftello: Provide a non-inline replacement of ftell().
8722         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
8723         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
8724         not have ftello() (such as on mingw).
8725         * modules/ftello (Depends-on): Add ftell.
8726         * modules/ftell (License): Change to LGPLv2+.
8727
8728 2011-05-07  Bruno Haible  <bruno@clisp.org>
8729
8730         ftell: Move AC_LIBOBJ invocations to module description.
8731         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
8732         * modules/ftell (configure.ac): ... to here.
8733
8734 2011-05-07  Bruno Haible  <bruno@clisp.org>
8735
8736         ftello: Respect rules for use of AC_LIBOBJ.
8737         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
8738         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
8739         here...
8740         * modules/ftello (configure.ac): ... to here.
8741
8742 2011-05-07  Bruno Haible  <bruno@clisp.org>
8743
8744         fseeko: Simplify.
8745         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
8746         (gl_FUNC_FSEEKO): Inline it here.
8747
8748 2011-05-07  Bruno Haible  <bruno@clisp.org>
8749
8750         fseek: Move AC_LIBOBJ invocations to module description.
8751         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
8752         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8753         * modules/fseek (configure.ac): ... to here.
8754
8755 2011-05-07  Bruno Haible  <bruno@clisp.org>
8756
8757         fseek: Respect rules for use of AC_LIBOBJ.
8758         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
8759         here...
8760         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
8761
8762 2011-05-07  Bruno Haible  <bruno@clisp.org>
8763
8764         fseeko: Respect rules for use of AC_LIBOBJ.
8765         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
8766         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
8767         here...
8768         * modules/fseeko (configure.ac): ... to here.
8769
8770 2011-06-13  Bruno Haible  <bruno@clisp.org>
8771
8772         gnulib-tool: Allow comments in the 'Depends-on' section.
8773         * doc/gnulib.texi (Module description): Mention comment syntax in the
8774         Depends-on section.
8775         * gnulib-tool (func_get_dependencies): Filter out comment lines.
8776
8777 2011-06-13  Bruno Haible  <bruno@clisp.org>
8778
8779         file-set.h: guard __attibute__ use, now that it's not always defined
8780         * lib/file-set.h (record_file): Use __attribute__ only with compiler
8781         versions that support it.  This fixes a coreutils build failure with
8782         the vendor cc on HP-UX 11.31.
8783
8784 2011-06-12  Bruno Haible  <bruno@clisp.org>
8785
8786         acl: Add support for HP-UX >= 11.11 JFS ACLs.
8787         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
8788         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
8789         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
8790         (acl, aclsort): New declarations.
8791         (aclv_nontrivial): New declaration.
8792         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
8793         (file_has_acl): Read also the second kind of HP-UX ACLs.
8794         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
8795         kind of HP-UX ACLs if the first kind fails.
8796         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
8797         second kind of HP-UX ACLs.
8798         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
8799         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
8800         agree.
8801         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8802         hpuxjfs.
8803         Handle hpuxjfs.
8804         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8805         hpuxjfs.
8806         Handle hpuxjfs.
8807         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8808         (func_test_same_acls): Use both lsacl and getacl.
8809         Handle hpuxjfs.
8810         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8811         (func_test_same_acls): Use both lsacl and getacl.
8812         Handle hpuxjfs.
8813
8814 2011-06-12  Bruno Haible  <bruno@clisp.org>
8815
8816         acl: Complete the 2010-08-10 fix.
8817         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
8818         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
8819         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
8820         explicitly.
8821         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
8822         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
8823
8824 2011-06-12  Bruno Haible  <bruno@clisp.org>
8825
8826         spawn-pipe tests: Comments.
8827         * tests/test-spawn-pipe-child.c (main): Update comment.
8828         Reported by James Youngman <jay@gnu.org>.
8829
8830 2011-06-11  James Youngman  <jay@gnu.org>
8831
8832         New module 'stat-size'.
8833         * modules/stat-size: New module.  Provides macros for accessing
8834         file size information in instances of struct stat.  Depends on the
8835         fileblocks module because it calls st_blocks.
8836         * lib/stat-size.h: New file, adapted from coreutils' system.h.
8837         * doc/gnulib.texi: Include stat-size.texi.
8838         * doc/stat-size.texi: Documentation for this module.
8839         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
8840         * m4/fileblocks.m4: Mention that stat-size depends on the call to
8841         AC_STRUCT_ST_BLOCKS.
8842
8843 2011-06-09  Bruno Haible  <bruno@clisp.org>
8844
8845         thread: Support pthreads-win32.
8846         * lib/glthread/thread.h (gl_thread_self): Define differently on
8847         pthreads-win32.
8848         (gl_null_thread): New declaration.
8849         (gl_thread_self_pointer): New macro.
8850         * lib/glthread/thread.c (gl_null_thread): New constant.
8851         * tests/test-lock.c: Use gl_thread_self_pointer instead of
8852         gl_thread_self.
8853         * tests/test-tls.c: Likewise.
8854         Suggested by Paul Eggert. Reported by Eric Blake.
8855
8856 2011-06-09  Bruno Haible  <bruno@clisp.org>
8857
8858         thread: Fix confusion between NULL and 0.
8859         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
8860         Reported by Paul Eggert.
8861
8862 2011-06-09  Bruno Haible  <bruno@clisp.org>
8863
8864         spawn-pipe tests: Avoid test failure on HP-UX 11.
8865         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
8866         is closed.
8867
8868 2011-06-09  Bruno Haible  <bruno@clisp.org>
8869
8870         acl tests: Fix compilation error on HP-UX 11.
8871         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
8872
8873 2011-06-09  Bruno Haible  <bruno@clisp.org>
8874
8875         rmdir: Avoid test failure on HP-UX 10.20.
8876         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
8877         EEXIST.
8878
8879 2011-06-08  Eric Blake  <eblake@redhat.com>
8880
8881         perror: fix test on mingw
8882         * modules/perror-tests (Depends-on): Add dup2.
8883
8884         strerror_r-posix: fix on MacOS
8885         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
8886         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
8887         logic bug.
8888         * lib/strerror_r.c (strerror_r): Fix the bug.
8889         * lib/strerror.c (strerror): Likewise.
8890         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
8891         problem.
8892         * doc/posix-functions/strerror.texi (strerror): Likewise.
8893         * doc/posix-functions/perror.texi (perror): Likewise.
8894         * tests/test-strerror.c (main): Enhance test.
8895         * tests/test-strerror_r.c (main): Likewise.
8896
8897 2011-06-08  Bruno Haible  <bruno@clisp.org>
8898
8899         gnulib-tool: Better isolation between different gnulib-tool invocations.
8900         * gnulib-tool: New option --witness-c-macro.
8901         (witness_c_macro): New variable.
8902         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
8903         AM_CPPFLAGS define it as a C macro.
8904         (func_emit_tests_Makefile_am): Likewise.
8905         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
8906         read it from there.
8907         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
8908         m4_define, not AC_DEFUN.
8909         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
8910         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
8911         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
8912         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
8913         s|...|...|, to substitute the values of the GNULIB_* module indicator
8914         variables.
8915         * modules/dirent (Makefile.am): Likewise.
8916         * modules/fcntl-h (Makefile.am): Likewise.
8917         * modules/iconv-h (Makefile.am): Likewise.
8918         * modules/langinfo (Makefile.am): Likewise.
8919         * modules/locale (Makefile.am): Likewise.
8920         * modules/math (Makefile.am): Likewise.
8921         * modules/netdb (Makefile.am): Likewise.
8922         * modules/poll-h (Makefile.am): Likewise.
8923         * modules/pty (Makefile.am): Likewise.
8924         * modules/search (Makefile.am): Likewise.
8925         * modules/signal (Makefile.am): Likewise.
8926         * modules/spawn (Makefile.am): Likewise.
8927         * modules/stdio (Makefile.am): Likewise.
8928         * modules/stdlib (Makefile.am): Likewise.
8929         * modules/string (Makefile.am): Likewise.
8930         * modules/sys_ioctl (Makefile.am): Likewise.
8931         * modules/sys_select (Makefile.am): Likewise.
8932         * modules/sys_socket (Makefile.am): Likewise.
8933         * modules/sys_stat (Makefile.am): Likewise.
8934         * modules/sys_times (Makefile.am): Likewise.
8935         * modules/sys_utsname (Makefile.am): Likewise.
8936         * modules/sys_wait (Makefile.am): Likewise.
8937         * modules/termios (Makefile.am): Likewise.
8938         * modules/time (Makefile.am): Likewise.
8939         * modules/unistd (Makefile.am): Likewise.
8940         * modules/wchar (Makefile.am): Likewise.
8941
8942 2011-06-08  Eric Blake  <eblake@redhat.com>
8943
8944         strerror: simplify replacement
8945         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
8946         * modules/strerror (configure.ac): No prereqs needed here...
8947         * modules/strerror-override (configure.ac): ...but this needs it.
8948         (Files): Add file for needed prereq macro.
8949
8950 2011-06-08  Bruno Haible  <bruno@clisp.org>
8951
8952         strerror_r-posix: Tweaks.
8953         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
8954         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
8955         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
8956         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
8957         (gl_FUNC_STRERROR_R): ... to here.
8958         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
8959
8960 2011-06-07  Eric Blake  <eblake@redhat.com>
8961
8962         perror: document fixed bugs
8963         * doc/posix-functions/perror.texi (perror): Document recent
8964         patches.
8965
8966 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
8967
8968         stat-time: get_stat_birthtime failure is better-defined
8969         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
8970         return a timestamp whose tv_sec and tv_nsec values are both -1.
8971         Previously, the spec said only that the tv_nsec value was negative.
8972         This upward-compatible change simplifies GNU tar a bit.
8973
8974 2011-06-07  Eric Blake  <eblake@redhat.com>
8975
8976         strerror_r-posix: work around cygwin 1.7.9
8977         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
8978         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
8979         bug without replacing strerror_r.
8980         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
8981         strerror_r is buggy, but without requiring strerror_r compilation.
8982         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
8983
8984         test-perror: relax test to ignore cygwin bug
8985         * tests/test-perror2.c (main): Relax test on requiring detection
8986         of stream errors, and use unbuffered stream.
8987         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
8988         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
8989         * doc/posix-functions/fputc.texi (fputc): Likewise.
8990         * doc/posix-functions/fputs.texi (fputs): Likewise.
8991         * doc/posix-functions/fputws.texi (fputws): Likewise.
8992         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
8993         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
8994         * doc/posix-functions/getopt.texi (getopt): Likewise.
8995         * doc/posix-functions/perror.texi (perror): Likewise.
8996         * doc/posix-functions/printf.texi (printf): Likewise.
8997         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
8998         * doc/posix-functions/psignal.texi (psignal): Likewise.
8999         * doc/posix-functions/putc.texi (putc): Likewise.
9000         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
9001         Likewise.
9002         * doc/posix-functions/putchar.texi (putchar): Likewise.
9003         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
9004         Likewise.
9005         * doc/posix-functions/puts.texi (puts): Likewise.
9006         * doc/posix-functions/putwc.texi (putwc): Likewise.
9007         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9008         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9009         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9010         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
9011         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9012         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9013         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9014         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
9015
9016 2011-05-22  Bruno Haible  <bruno@clisp.org>
9017
9018         strerror: Move AC_LIBOBJ invocations to module description.
9019         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
9020         gl_PREREQ_STRERROR invocations from here...
9021         * modules/strerror (configure.ac): ... to here.
9022
9023 2011-05-21  Bruno Haible  <bruno@clisp.org>
9024
9025         perror: Use common idiom.
9026         * modules/perror (configure.ac): Reorder statements.
9027
9028 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9029
9030         tests: fix usage message in 'mktempd_'
9031         * tests/init.sh (mktempd_): In the usage message, use literal
9032         'mktempd_', not '$ME' (which is even undefined), as the name of
9033         the subroutine.
9034
9035 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9036
9037         tests init: new function 'fatal_', for hard errors
9038         Before this patch, the only way offered by tests/init.sh to
9039         properly signal a hard error was the `framework_failure_'
9040         function.  But the error message issued by that function,
9041         as its name would suggest, refers to a set-up failure in the
9042         testsuite, while hard errors can obviously also be due to
9043         other reasons.  The best way to fix this inconsistency is to
9044         introduce a new function with a more general error message.
9045         * tests/init.sh (fatal_): New function.
9046
9047 2011-06-06  Eric Blake  <eblake@redhat.com>
9048
9049         canonicalize-lgpl: use common idiom
9050         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
9051         over newer POSIX -Rf.
9052         Reported by Bruno Haible.
9053
9054         canonicalize-lgpl: work around AIX realpath bug
9055         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
9056         * doc/posix-functions/realpath.texi (realpath): Document it.
9057         Reported by Bruno Haible.
9058
9059         strerror: work around FreeBSD bug
9060         * lib/strerror.c (strerror): Special case 0.
9061         Reported by Bruno Haible.
9062
9063         strerror-override: avoid bloating errno module
9064         * modules/errno (Files, configure.ac): Move replacement strings...
9065         * modules/strerror-override: ...to new module.
9066         * modules/strerror (Depends-on): Add strerror-override.
9067         * modules/strerror_r-posix (Depends-on): Likewise.
9068         * MODULES.html.sh: Document new module.
9069         Reported by Bruno Haible.
9070
9071 2011-06-06  Bruno Haible  <bruno@clisp.org>
9072
9073         spawn-pipe tests: Rename program.
9074         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
9075         * tests/test-spawn-pipe-child.c: Update comment.
9076         * tests/test-spawn-pipe.sh: Update.
9077         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
9078
9079         spawn-pipe tests: Link the child program only against libc.
9080         * tests/test-spawn-pipe-child.c: New file, extracted from
9081         tests/test-spawn-pipe.c.
9082         (main): Expect only one argument.
9083         (is_open): New function, copied from tests/test-pipe.c.
9084         * tests/test-spawn-pipe.c: Don't include <errno.h>.
9085         (child_main): Remove function.
9086         (test_pipe): Pass only one argument to the child program.
9087         (main): Remove child process code. Expect the child program's name as
9088         first argument.
9089         * tests/test-spawn-pipe.sh: Pass the child program's name as first
9090         argument.
9091         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
9092         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
9093         test-spawn-pipe-child against no libraries.
9094
9095 2011-06-06  Bruno Haible  <bruno@clisp.org>
9096
9097         careadlinkat: Avoid mismatch between ssize_t and int.
9098         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
9099         * lib/careadlinkat.c (careadlinkatcwd): Define always.
9100
9101 2011-06-06  Jim Meyering  <meyering@redhat.com>
9102
9103         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
9104         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
9105         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
9106
9107 2011-06-05  Bruno Haible  <bruno@clisp.org>
9108
9109         ansi-c++-opt: Interoperability with libtool.
9110         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
9111         set the variable to "no", not to ":".
9112         * NEWS: Mention the change.
9113
9114 2011-06-05  Bruno Haible  <bruno@clisp.org>
9115
9116         acl: Fix test failure on AIX 7.
9117         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
9118         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
9119
9120 2011-06-05  Bruno Haible  <bruno@clisp.org>
9121
9122         pipe-filter-ii: Fix test failure on AIX and IRIX.
9123         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
9124         with EAGAIN, retry with a smaller buffer size.
9125
9126 2011-06-05  Bruno Haible  <bruno@clisp.org>
9127
9128         localename: Fix link dependencies.
9129         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
9130         * modules/localename-tests (Makefile.am): Link test-localename with
9131         $(LIBTHREAD).
9132
9133 2011-06-05  Bruno Haible  <bruno@clisp.org>
9134
9135         error: Avoid gcc warning.
9136         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
9137
9138 2011-06-05  Bruno Haible  <bruno@clisp.org>
9139
9140         unsetenv: Avoid gcc warning.
9141         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
9142
9143 2011-06-05  Bruno Haible  <bruno@clisp.org>
9144
9145         setenv: Avoid gcc warning.
9146         * lib/setenv.c (setenv): Provide declaration if system lacks it.
9147
9148 2011-06-05  Bruno Haible  <bruno@clisp.org>
9149
9150         sys_select: Ensure memset is declared also on AIX 7.
9151         * lib/sys_select.in.h: Include <string.h> also on AIX.
9152         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
9153         self-contained also on AIX 7.1.
9154
9155 2011-06-04  Jim Meyering  <meyering@redhat.com>
9156
9157         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
9158         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
9159         function name, "error".
9160         (_gl_translatable_diag_func_re): New configurable variable.
9161
9162 2011-06-04  Bruno Haible  <bruno@clisp.org>
9163
9164         getopt: Avoid gcc warning.
9165         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
9166
9167 2011-06-04  Bruno Haible  <bruno@clisp.org>
9168
9169         strerror_r: Fix comments.
9170         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
9171         commit.
9172
9173 2011-06-04  Bruno Haible  <bruno@clisp.org>
9174
9175         perror: Fix compilation error.
9176         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
9177         Undefine fprintf, not sprintf.
9178         * modules/perror (Depends-on): Remove intprops, verify.
9179
9180 2011-06-04  Bruno Haible  <bruno@clisp.org>
9181
9182         setlocale: Enable replacement on Cygwin 1.5.
9183         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
9184         Cygwin 1.5.x.
9185         * doc/posix-functions/setlocale.texi: Mention that the problem with the
9186         LC_CTYPE category also exists on Cygwin 1.5.x.
9187
9188 2011-06-04  Bruno Haible  <bruno@clisp.org>
9189
9190         strerror-override: Don't disable symbol renamings.
9191         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
9192         * lib/strerror-override.c: Include config.h.
9193         (strerror_override): Don't undefine.
9194
9195 2011-06-03  Bruno Haible  <bruno@clisp.org>
9196
9197         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
9198         * lib/localename.h: Update copyright header.
9199         * lib/localename.c: Likewise.
9200         * lib/relocatable.h: Likewise.
9201         * lib/relocatable.c: Likewise.
9202
9203 2011-06-02  Bruno Haible  <bruno@clisp.org>
9204
9205         doc: Fix a module name.
9206         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
9207
9208 2011-06-02  Bruno Haible  <bruno@clisp.org>
9209
9210         pipe2: Remove dependency on 'nonblocking' module.
9211         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
9212         O_NONBLOCK is defined by gnulib.
9213         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
9214         is zero.
9215         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
9216         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
9217         defined by gnulib.
9218         (get_nonblocking_flag): New function.
9219         (main): Test O_NONBLOCK flag only if it is nonzero.
9220         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
9221
9222 2011-06-03  Jim Meyering  <meyering@redhat.com>
9223
9224         maint: three new prohibit-header-without-use rules
9225         Prohibit use of cloexec.h, posixver.h, same.h without use.
9226         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
9227         (sc_prohibit_posixver_without_use): Likewise.
9228         (sc_prohibit_same_without_use): Likewise.
9229
9230 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9231
9232         allocator: 'die' routine is now given requested size
9233         * lib/allocator.h (struct allocator.die): New size arg.
9234         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
9235         If the actual problem is an ssize_t limitation, not a size_t or
9236         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
9237
9238 2011-06-01  Eric Blake  <eblake@redhat.com>
9239
9240         strerror: drop strerror_r dependency
9241         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
9242         * lib/strerror-override.c (strerror_override): ...to new file.
9243         * lib/strerror-override.h: Add prototype.
9244         * lib/strerror-impl.h: Delete.
9245         * lib/strerror.c (strerror): New implementation.
9246         * modules/errno (Files): Add new files.
9247         (configure.ac): Compile new file as appropriate.
9248         * modules/strerror (Files): Drop unused file.
9249         (Depends-on): Drop strerror_r-posix.
9250         * MODULES.html.sh: Document strerror_r-posix.
9251         Requested by Sam Steingold.
9252
9253         perror: call strerror_r directly
9254         * modules/perror (Files): Drop strerror-impl.h.
9255         * lib/perror.c (perror): Use our own stack buffer, rather than
9256         calling a wrapper that uses static storage.
9257         * doc/posix-functions/perror.texi (perror): Document a limitation
9258         of our replacement.
9259
9260         strerror_r: fix includes for FreeBSD
9261         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
9262         since we use abort on some platforms.
9263         Reported by Matthias Bolte.
9264
9265 2011-05-31  Bruno Haible  <bruno@clisp.org>
9266
9267         Fix link errors in tests: openat-die uses gettext-h.
9268         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
9269         against $(LIBINTL).
9270         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
9271         against $(LIBINTL).
9272         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
9273         $(LIBINTL).
9274         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
9275         against $(LIBINTL).
9276         * modules/linkat-tests (Makefile.am): Link test-linkat against
9277         $(LIBINTL).
9278         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
9279         $(LIBINTL).
9280         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
9281         against $(LIBINTL).
9282         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
9283         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
9284         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
9285         $(LIBINTL).
9286         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
9287         $(LIBINTL).
9288         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
9289         $(LIBINTL).
9290         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9291
9292 2011-05-31  Bruno Haible  <bruno@clisp.org>
9293
9294         Fix link errors in tests: wait-process uses gettext-h.
9295         * modules/nonblocking-pipe-tests (Makefile.am): Set
9296         test_nonblocking_pipe_main_LDADD.
9297         * modules/nonblocking-socket-tests (Makefile.am): Link
9298         test-nonblocking-socket-main against $(LIBINTL).
9299         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9300
9301 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9302
9303         assert-h: work around 'verify' incompatibility
9304         * lib/verify.h: Use @...@ directives, not ifdef.
9305         * modules/assert-h (assert.h): Implement the directives.
9306         (assert.h): Substitute the symbol-prefix more consistently.
9307
9308 2011-05-29  Jim Meyering  <meyering@redhat.com>
9309
9310         trim: remove three superfluous assignments
9311         * lib/trim.c (trim2): Remove three superfluous assignments
9312         and correct brace positioning.
9313
9314 2011-05-29  Bruno Haible  <bruno@clisp.org>
9315
9316         wctype-h: Avoid namespace pollution on Solaris 2.6.
9317         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
9318         identifiers.
9319         * doc/posix-headers/wctype.texi: Mention the problem.
9320         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9321
9322 2011-05-28  Jim Meyering  <meyering@redhat.com>
9323
9324         parse-datetime.y: accommodate -Wstrict-overflow
9325         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
9326         placate -Wstrict-overflow.
9327
9328         trim: avoid a warning from -O2 -Wstrict-overflow
9329         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
9330
9331 2011-05-29  Bruno Haible  <bruno@clisp.org>
9332
9333         gnulib-tool: Fix bug in yesterday's commit.
9334         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
9335         twice.
9336
9337 2011-05-29  Bruno Haible  <bruno@clisp.org>
9338
9339         Allow multiple gnulib generated include files to be combined.
9340         * gnulib-tool (func_compute_include_guard_prefix): New function.
9341         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
9342         ${gl_include_guard_prefix} references.
9343         (func_import, func_create_testdir): Invoke
9344         func_compute_include_guard_prefix.
9345         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
9346         * lib/ctype.in.h: Likewise.
9347         * lib/dirent.in.h: Likewise.
9348         * lib/errno.in.h: Likewise.
9349         * lib/fcntl.in.h: Likewise.
9350         * lib/float.in.h: Likewise.
9351         * lib/getopt.in.h: Likewise.
9352         * lib/iconv.in.h: Likewise.
9353         * lib/langinfo.in.h: Likewise.
9354         * lib/locale.in.h: Likewise.
9355         * lib/math.in.h: Likewise.
9356         * lib/netdb.in.h: Likewise.
9357         * lib/netinet_in.in.h: Likewise.
9358         * lib/poll.in.h: Likewise.
9359         * lib/pthread.in.h: Likewise.
9360         * lib/pty.in.h: Likewise.
9361         * lib/sched.in.h: Likewise.
9362         * lib/se-selinux.in.h: Likewise.
9363         * lib/search.in.h: Likewise.
9364         * lib/signal.in.h: Likewise.
9365         * lib/spawn.in.h: Likewise.
9366         * lib/stdarg.in.h: Likewise.
9367         * lib/stddef.in.h: Likewise.
9368         * lib/stdint.in.h: Likewise.
9369         * lib/stdio.in.h: Likewise.
9370         * lib/stdlib.in.h: Likewise.
9371         * lib/string.in.h: Likewise.
9372         * lib/strings.in.h: Likewise.
9373         * lib/sys_file.in.h: Likewise.
9374         * lib/sys_ioctl.in.h: Likewise.
9375         * lib/sys_select.in.h: Likewise.
9376         * lib/sys_socket.in.h: Likewise.
9377         * lib/sys_stat.in.h: Likewise.
9378         * lib/sys_time.in.h: Likewise.
9379         * lib/sys_times.in.h: Likewise.
9380         * lib/sys_uio.in.h: Likewise.
9381         * lib/sys_utsname.in.h: Likewise.
9382         * lib/sys_wait.in.h: Likewise.
9383         * lib/sysexits.in.h: Likewise.
9384         * lib/termios.in.h: Likewise.
9385         * lib/time.in.h: Likewise.
9386         * lib/unistd.in.h: Likewise.
9387         * lib/wchar.in.h: Likewise.
9388         * lib/wctype.in.h: Likewise.
9389         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
9390         * modules/ctype (Makefile.am): Likewise.
9391         * modules/dirent (Makefile.am): Likewise.
9392         * modules/errno (Makefile.am): Likewise.
9393         * modules/fcntl-h (Makefile.am): Likewise.
9394         * modules/float (Makefile.am): Likewise.
9395         * modules/getopt-posix (Makefile.am): Likewise.
9396         * modules/iconv-h (Makefile.am): Likewise.
9397         * modules/langinfo (Makefile.am): Likewise.
9398         * modules/locale (Makefile.am): Likewise.
9399         * modules/math (Makefile.am): Likewise.
9400         * modules/netdb (Makefile.am): Likewise.
9401         * modules/netinet_in (Makefile.am): Likewise.
9402         * modules/poll-h (Makefile.am): Likewise.
9403         * modules/pthread (Makefile.am): Likewise.
9404         * modules/pty (Makefile.am): Likewise.
9405         * modules/sched (Makefile.am): Likewise.
9406         * modules/search (Makefile.am): Likewise.
9407         * modules/selinux-h (Makefile.am): Likewise.
9408         * modules/signal (Makefile.am): Likewise.
9409         * modules/spawn (Makefile.am): Likewise.
9410         * modules/stdarg (Makefile.am): Likewise.
9411         * modules/stddef (Makefile.am): Likewise.
9412         * modules/stdint (Makefile.am): Likewise.
9413         * modules/stdio (Makefile.am): Likewise.
9414         * modules/stdlib (Makefile.am): Likewise.
9415         * modules/string (Makefile.am): Likewise.
9416         * modules/strings (Makefile.am): Likewise.
9417         * modules/sys_file (Makefile.am): Likewise.
9418         * modules/sys_ioctl (Makefile.am): Likewise.
9419         * modules/sys_select (Makefile.am): Likewise.
9420         * modules/sys_socket (Makefile.am): Likewise.
9421         * modules/sys_stat (Makefile.am): Likewise.
9422         * modules/sys_time (Makefile.am): Likewise.
9423         * modules/sys_times (Makefile.am): Likewise.
9424         * modules/sys_uio (Makefile.am): Likewise.
9425         * modules/sys_utsname (Makefile.am): Likewise.
9426         * modules/sys_wait (Makefile.am): Likewise.
9427         * modules/sysexits (Makefile.am): Likewise.
9428         * modules/termios (Makefile.am): Likewise.
9429         * modules/time (Makefile.am): Likewise.
9430         * modules/unistd (Makefile.am): Likewise.
9431         * modules/wchar (Makefile.am): Likewise.
9432         * modules/wctype-h (Makefile.am): Likewise.
9433         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
9434
9435 2011-05-29  Bruno Haible  <bruno@clisp.org>
9436
9437         assert-h: Allow multiple gnulib generated replacements to coexist.
9438         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
9439
9440 2011-05-29  Bruno Haible  <bruno@clisp.org>
9441
9442         argp: Allow coexistence with strerror_r-posix module.
9443         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
9444         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
9445         by gnulib's <string.h> replacement), assume it has the POSIX signature,
9446         not the glibc signature.
9447
9448 2011-05-28  Bruno Haible  <bruno@clisp.org>
9449
9450         gnulib-tool: Alternative structure of testdirs, similar to --import.
9451         * gnulib-tool: New option --single-configure.
9452         (func_usage): Document it.
9453         (single_configure): New variable.
9454         (func_modules_transitive_closure_separately,
9455         func_modules_transitive_closure_separately,
9456         func_determine_use_libtests, func_modules_add_dummy_separately,
9457         func_modules_to_filelist_separately): New functions, extracted from
9458         func_import.
9459         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
9460         (func_import): Use the new functions.
9461         (func_create_testdir): Set final_modules. Handle $single_configure =
9462         true case.
9463
9464 2011-05-28  Bruno Haible  <bruno@clisp.org>
9465
9466         getloadavg: Remove an unreliable safety check.
9467         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9468         getloadavg.c is in place.
9469         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9470         Reported by Sam Steingold <sds@gnu.org>.
9471
9472 2011-05-28  Bruno Haible  <bruno@clisp.org>
9473
9474         doc: Cleanup yet another file produced by texinfo.tex.
9475         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9476
9477 2011-05-28  Bruno Haible  <bruno@clisp.org>
9478
9479         Finish the conditional dependencies mechanism.
9480         * gnulib-tool: New option --no-conditional-dependencies.
9481         (func_usage): Document it. Don't mark --conditional-dependencies as
9482         experimental.
9483         (cond_dependencies): The possible values can now be true, false, empty.
9484         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9485         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9486         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9487
9488 2011-05-28  Bruno Haible  <bruno@clisp.org>
9489
9490         doc: Use a recent texinfo.tex.
9491         * doc/Makefile (tex_opts): New variable.
9492         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9493
9494 2011-05-28  Jim Meyering  <meyering@redhat.com>
9495
9496         intprops.h: adjust comment to match code change
9497         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9498         only once, it *may* have side effects.  Also fix an unrelated typo.
9499         (_GL_INT_SIGNED): Likewise.
9500
9501 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9502
9503         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9504
9505 2011-05-26  Bruno Haible  <bruno@clisp.org>
9506
9507         mbsrchr: Avoid collision with system function on Interix.
9508         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9509         Reported by Markus Duft <mduft@gentoo.org>.
9510
9511 2011-05-15  James Youngman  <jay@gnu.org>
9512
9513         getopt: for ambiguous options, enumerate the possibilities.
9514         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9515         the ambiguous options when an ambiguous prefix is given. This was
9516         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9517         glibc change was
9518         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9519
9520 2011-05-25  Eric Blake  <eblake@redhat.com>
9521
9522         getcwd: work around mingw bug
9523         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9524         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9525         Reported by Matthias Bolte.
9526
9527 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9528
9529         test-intprops: disable -Wtype-limits diagnostics
9530         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
9531         diagnostics.  Otherwise, the integer overflow macros generate many
9532         diagnostics.  Reported by Jim Meyering in
9533         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9534
9535         intprops: shorten, to pacify gcc -Woverlength-strings
9536         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
9537         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
9538         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
9539         likely to run afoul of C compiler limits for string constant lengths.
9540         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9541
9542 2011-05-24  Eric Blake  <eblake@redhat.com>
9543
9544         docs: document recently fixed glibc printf bug
9545         * doc/posix-functions/fprintf.texi (fprintf): Document it.
9546         * doc/posix-functions/printf.texi (printf): Likewise.
9547         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9548         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9549
9550         closein-tests: convert to init.sh
9551         * modules/closein-tests (Files): Add init.sh
9552         * tests/test-closein.sh Use it.
9553
9554         yesno-tests: convert to init.sh
9555         * modules/yesno-tests (Files): Add init.sh.
9556         * tests/test-yesno.sh: Use it.
9557
9558         atexit-tests: ensure reliable exit status
9559         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
9560         Reported by Bruno Haible.
9561
9562 2011-05-24  Bruno Haible  <bruno@clisp.org>
9563
9564         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
9565         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
9566         gl_PREREQ_STRERROR_R invocations from here...
9567         * modules/strerror_r-posix (configure.ac): ... to here.
9568
9569 2011-05-24  Eric Blake  <eblake@redhat.com>
9570
9571         strerror_r: fix missing header
9572         * lib/strerror_r.c: Avoid compiler warning about snprintf.
9573
9574         strerror_r: fix AIX test failures
9575         * lib/strerror_r.c (strerror_r): Convert silent truncation to
9576         ERANGE failure.
9577
9578         strerror_r: fix Solaris test failures
9579         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
9580         failures.
9581         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9582
9583         strerror_r: enforce POSIX recommendations
9584         * lib/strerror_r.c (safe_copy): New helper method.
9585         (strerror_r): Guarantee a non-empty string.
9586         * tests/test-strerror_r.c (main): Enhance tests to incorporate
9587         recent POSIX rulings and to match our strerror guarantees.
9588         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9589
9590 2011-05-24  Jim Meyering  <meyering@redhat.com>
9591
9592         test-perror2.c: avoid warning about unused variable
9593         * tests/test-perror2.c (main): Remove declaration of unused "fp".
9594
9595 2011-05-24  Eric Blake  <eblake@redhat.com>
9596
9597         perror: avoid spurious test failure on HP-UX
9598         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
9599
9600         tests: fix logic bug in init.sh
9601         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
9602         shell.
9603
9604 2011-05-24  Jim Meyering  <meyering@redhat.com>
9605
9606         utimensat: do not reference an out-of-scope buffer
9607         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
9608         declared in an inner scope, yet "times" would be dereferenced outside
9609         the scope in which "ts" was valid.
9610         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
9611         of ts[2] "out/up", so that the use of aliased "times" (via
9612         "times = ts;") does not end up referencing an out-of-scope "ts"
9613
9614         opendir-safer.c: don't clobber errno; don't close negative FD
9615         * lib/opendir-safer.c (opendir_safer):
9616         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
9617         file descriptor, and more importantly, don't clobber the
9618         offending errno value with EINVAL.  Before, upon failure
9619         of dup_safer, we would pass the negative file descriptor to
9620         fdopendir, which would clobber errno.
9621
9622 2011-05-23  Bruno Haible  <bruno@clisp.org>
9623
9624         idcache: Fix module description.
9625         * modules/idcache (Include): Set to "idcache.h".
9626
9627 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9628
9629         gnulib-tool: fix portability problem with MacOS sed
9630         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
9631         before the "}".  Problem reported by Leo in
9632         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
9633         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
9634         sed_extract_condition1, sed_extract_condition2.
9635
9636 2011-05-23  Bruno Haible  <bruno@clisp.org>
9637
9638         hash: Simplify autoconf macro.
9639         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
9640
9641 2011-05-23  Bruno Haible  <bruno@clisp.org>
9642
9643         getugroups: Fix module description.
9644         * modules/getugroups (Include): Set to "getugroups.h".
9645
9646 2011-05-23  Bruno Haible  <bruno@clisp.org>
9647
9648         linkat: Simplify autoconf macro.
9649         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
9650
9651 2011-05-23  Bruno Haible  <bruno@clisp.org>
9652             Eric Blake  <eblake@redhat.com>
9653
9654         linkat, renameat: Update dependencies.
9655         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
9656         * modules/linkat (Depends-on): Likewise. Remove also readlink,
9657         symlinkat.
9658
9659 2011-05-23  Jim Meyering  <meyering@redhat.com>
9660
9661         maint.mk: more tight_scope improvements
9662         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
9663         (_gl_TS_headers): Define only in if-0'd block.
9664         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
9665         sometimes we must *not* use it.  Adjust uses accordingly.
9666         (sc_tight_scope): Use much simpler grep-based test to determine
9667         whether we skip this rule.
9668
9669         maint.mk: generalize/improve the tight-scope rule
9670         * top/maint.mk: Emit a warning when the test is skipped.
9671         (_gl_TS_dir): Add $(srcdir)/ prefix.
9672         (_gl_TS_function_match): Simplify, rather than trying
9673         to enumerate common types.  Otherwise, it would fail to match an
9674         "extern unsigned char const *" declaration in idutils.
9675         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
9676         a way to support use of that type of macro.
9677         (_gl_TS_var_match): Simplify regexp.
9678         (_gl_TS_obj_files): New configurable variable.
9679         (_gl_TS_headers): Likewise.
9680
9681 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9682
9683         verify: fix bug when gnulib <assert.h> is also included
9684         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
9685         is defined, not if _GL_STATIC_ASSERT_H is not defined.
9686         Perhaps there's a better way, but this fixes the immediate problem.
9687         Problem reported by Bruno Haible in
9688         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
9689
9690 2011-05-22  Bruno Haible  <bruno@clisp.org>
9691
9692         xgetcwd: Simplify autoconf macro.
9693         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
9694
9695 2011-05-22  Bruno Haible  <bruno@clisp.org>
9696
9697         New module 'mktime-internal'.
9698         * modules/mktime-internal: New file.
9699         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
9700         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
9701         mktime_internal as a C macro if libc has __mktime_internal.
9702         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
9703         conditions.
9704         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
9705
9706 2011-05-22  Bruno Haible  <bruno@clisp.org>
9707
9708         timegm: Correct mktime replacement statements.
9709         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
9710         defining mktime as a C macro. This completes a 2009-07-28 commit.
9711
9712 2011-05-22  Bruno Haible  <bruno@clisp.org>
9713
9714         timegm: Simplify autoconf macro.
9715         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
9716
9717 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9718
9719         clock-time: change to LGPLv2+.
9720         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
9721         BSD-like but we have no mark for that; this is good enough for now.
9722
9723 2011-05-21  Bruno Haible  <bruno@clisp.org>
9724
9725         strerror_r: Fix comments.
9726         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
9727
9728 2011-05-21  Bruno Haible  <bruno@clisp.org>
9729
9730         relocatable-prog-wrapper: Fix possible link error.
9731         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
9732         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
9733         (gl_FUNC_SETENV): ... to here.
9734         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
9735         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
9736
9737 2011-05-21  Bruno Haible  <bruno@clisp.org>
9738
9739         relocatable-prog-wrapper: Assume strerror() exists.
9740         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
9741         m4/strerror.m4.
9742         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
9743         * lib/relocwrapper.c: Remove mention of strerror module.
9744         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
9745         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
9746         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
9747         C macro.
9748
9749 2011-05-21  Bruno Haible  <bruno@clisp.org>
9750
9751         select: Simplify replacement idiom.
9752         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
9753         Win32 platforms.
9754         * lib/sys_select.in.h (select): Simplify accordingly.
9755         * modules/select (Depends-on): Likewise.
9756
9757 2011-05-21  Bruno Haible  <bruno@clisp.org>
9758
9759         mkdir-p: Simplify autoconf macro.
9760         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
9761         gl_FUNC_LCHOWN.
9762
9763 2011-05-21  Eric Blake  <eblake@redhat.com>
9764
9765         strerror_r: avoid clobbering strerror on cygwin
9766         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
9767         fall back instead to sys_errlist.
9768         * modules/strerror (configure.ac): Add witness.
9769         * tests/test-strerror_r.c (main): Enhance test.
9770         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9771         * tests/test-perror2.c (main): Free memory before exit.
9772
9773 2011-05-21  Bruno Haible  <bruno@clisp.org>
9774
9775         mkdtemp: Use gnulib naming conventions.
9776         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
9777         * modules/mkdtemp (configure.ac): Update.
9778
9779 2011-05-20  Eric Blake  <eblake@redhat.com>
9780
9781         strerror_r: avoid corrupting errno on Solaris
9782         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
9783         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9784
9785         strerror_r: avoid compiler warning
9786         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
9787
9788         strerror_r: simplify AIX code
9789         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
9790
9791         test-perror: avoid spurious failure on FreeBSD
9792         * modules/perror-tests (Depends-on): Add strerror, now that
9793         strerror_r no longer pulls it in.
9794
9795 2011-05-20  Bruno Haible  <bruno@clisp.org>
9796
9797         strerror_r-posix: Remove unused dependencies.
9798         * modules/strerror_r-posix (Depends-on): Remove strerror.
9799         Reported by Eric Blake.
9800
9801 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9802
9803         intprops: remove assumption about A|B representation
9804         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
9805         is a valid integer if both A and B are.  Although this is true for
9806         all known practical hosts, the C standard doesn't guarantee it,
9807         and the code need not assume it.  Also, this change may work around
9808         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
9809         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
9810
9811 2011-05-20  Eric Blake  <eblake@redhat.com>
9812
9813         perror: work around FreeBSD bug
9814         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
9815         is broken.  Move AC_LIBOBJ...
9816         * modules/perror (configure.ac): Here.
9817         * doc/posix-functions/perror.texi (perror): Document this.
9818         * tests/test-perror2.c (main): Enhance test.
9819
9820         test-perror: check for strerror interactions
9821         * tests/macros.h (STREQ): Add macro.
9822         * modules/perror-tests (Files): Add second test.
9823         * tests/test-perror2.c (main): New file.
9824         * doc/posix-functions/perror.texi (perror): Document glibc bug.
9825
9826         test-perror: rewrite to use init script
9827         * modules/perror-tests (Files): Add init.sh.
9828         * tests/test-perror.sh: Use temporary directory.
9829
9830 2011-05-20  Jim Meyering  <meyering@redhat.com>
9831
9832         maint: replace misused "a" with "an"
9833         * doc/intprops.texi: "a integer"
9834         * doc/regex.texi: "a explanation"
9835         * lib/alignof.h: "a object"
9836         * lib/argmatch.h: "a explanation"
9837         * lib/argp-help.c: "a option" and "a OPTION_DOC"
9838         * lib/stdint.in.h: "a integer"
9839         * lib/userspec.c: "a owner"
9840         * doc/gnulib.texi: Fix "a idea", and reword.
9841
9842 2011-05-19  Jim Meyering  <meyering@redhat.com>
9843
9844         maint: correct misuse of "a" and "an"
9845         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
9846         * lib/argp-help.c: "an docum...": s/an/a/
9847         * lib/argp-parse.c: "An vector": s/An/A/
9848         * lib/execute.c: "an native": s/an/a/
9849         * lib/spawn-pipe.c: Likewise.
9850         * lib/gc.h: "an Gc_rc": s/an/a/
9851         * lib/unigbrk.in.h: "an grapheme": s/an/a/
9852         * lib/fts.c: "an stat.st_dev": s/an/a/
9853
9854 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9855
9856         intprops-tests: work around HP-UX 11.23 cc bug with constants
9857         * tests/test-intprops.c (VERIFY): New macro.
9858         (main): Use it, instead of verify, to work around the compiler bug; see
9859         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9860
9861         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
9862         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
9863         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
9864         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
9865         (_GL_REMAINDER_OVERFLOW): Use it.
9866
9867         intprops-tests: revert unsigned part of previous change
9868         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
9869         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
9870         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
9871         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
9872
9873 2011-05-19  Bruno Haible  <bruno@clisp.org>
9874
9875         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
9876         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
9877         strerror_r() returned without filling the buffer.
9878         Reported by Eric Blake.
9879
9880 2011-05-19  Eric Blake  <eblake@redhat.com>
9881
9882         strerror_r: guarantee unchanged errno
9883         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
9884         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
9885         failure.
9886         * tests/test-strerror_r.c (main): Enhance test.
9887
9888 2011-05-19  Bruno Haible  <bruno@clisp.org>
9889
9890         strerror_r: Reorder #if blocks.
9891         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
9892         for consistency with the previous commit.
9893
9894 2011-05-19  Bruno Haible  <bruno@clisp.org>
9895
9896         perror: Avoid clobbering the strerror buffer when possible.
9897         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
9898         * lib/strerror.c: Include it.
9899         * modules/strerror (Files): Add lib/strerror-impl.h.
9900         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
9901         (my_strerror): New function, defined through lib/strerror-impl.h.
9902         (perror): Use it instead of strerror.
9903         * modules/perror (Files): Add lib/strerror-impl.h.
9904         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
9905
9906 2011-05-19  Eric Blake  <eblake@redhat.com>
9907
9908         strerror_r: fix on newer cygwin
9909         * lib/strerror_r.c (strerror_r): Cygwin now has
9910         __xpg_strerror_r, use it.
9911
9912 2011-05-19  Bruno Haible  <bruno@clisp.org>
9913
9914         strerror_r: Avoid clobbering the strerror buffer when possible.
9915         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
9916         (sys_nerr, sys_errlist): New declarations.
9917         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
9918         HP-UX, native Win32, IRIX, and 32-bit Solaris.
9919         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
9920
9921 2011-05-19  Bruno Haible  <bruno@clisp.org>
9922
9923         strerror_r: Fix test failure on mingw.
9924         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
9925         EXTEND_STRERROR_R.
9926         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
9927         macros from errno.in.h instead.
9928
9929 2011-05-19  Eric Blake  <eblake@redhat.com>
9930
9931         strerror: relax test for Solaris
9932         * tests/test-strerror.c (main): Permit Solaris behavior.
9933         * tests/test-strerror_r.c (main): Likewise.
9934
9935         strerror: enforce POSIX ruling on strerror(0)
9936         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
9937         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
9938         * lib/strerror_r.c (rpl_strerror_r): Work around it.
9939         * doc/posix-functions/strerror.texi (strerror): Document it.
9940         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
9941         * tests/test-strerror.c (main): Strengthen test.
9942         * tests/test-strerror_r.c (main): Likewise.
9943
9944 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9945
9946         intprop-tests: port to older and more-pedantic compilers
9947         * modules/intprops-tests (Files): Add tests/macros.h.
9948         * tests/test-intprops.c: Include macros.h.
9949         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
9950         it's no longer documented to expand to an integer constant expression.
9951         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
9952         argument is floating point, as it's no longer documented to expand
9953         to an integer constant expression in that case.
9954         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
9955         compiler bugs reported by Bruno Haible.  See
9956         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9957         (U0, U1): New constants, to work around the same bugs.  Also,
9958         in tests, use e.g., "(unsigned int) 39" rather than "39u".
9959
9960         intprops: work around C compiler bugs
9961         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
9962         bug in Sun C 5.11 2010/08/13 and other compilers; see
9963         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9964
9965         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
9966         * doc/intprops.texi (Integer Type Determination): Fix
9967         documentation for TYPE_IS_INTEGER: it returns an constant
9968         expression, not an integer constant expression.  Fix doc for
9969         TYPE_SIGNED: it returns an integer constant expression only if its
9970         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
9971         hardly worth documented that way....)
9972
9973 2011-05-18  Bruno Haible  <bruno@clisp.org>
9974
9975         strerror_r: Avoid clobbering the strerror buffer when possible.
9976         * lib/strerror_r.c (strerror_r): Merge the three implementations.
9977         Handle gnulib defined errno values here. When strerror() returns NULL
9978         or an empty string, return EINVAL.
9979         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
9980         gnulib defined errno values here.
9981         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
9982
9983 2011-05-18  Eric Blake  <eblake@redhat.com>
9984
9985         fnmatch: avoid compiler warning
9986         * lib/fnmatch_loop.c (FCT): Use correct type.
9987         Reported by Matthias Bolte.
9988
9989 2011-05-13  Jim Meyering  <meyering@redhat.com>
9990
9991         maint.mk: three new prohibit_<HDR>_without_use rules
9992         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
9993         (sc_prohibit_stdio-safer_without_use): Likewise.
9994         (sc_prohibit_xfreopen_without_use): Likewise.
9995
9996 2011-05-17  Jim Meyering  <meyering@redhat.com>
9997
9998         announce-gen: fail if the NEWS delta is empty
9999         If there's nothing noteworthy in NEWS, then either you forgot
10000         or you shouldn't be releasing.
10001         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
10002
10003 2011-05-17  Pádraig Brady <P@draigBrady.com>
10004
10005         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
10006         reserved symbols starting with double underscore from the check.
10007
10008 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10009
10010         intprops: add doc
10011         * doc/intprops.texi: New file, documenting intprops.
10012         * doc/gnulib.texi (Particular Modules): Include it.
10013
10014         verify: add doc to gnulib manual and fix example
10015         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
10016         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
10017         (Compile-time Assertions): Fix example so it can't overflow.
10018
10019 2011-05-17  Jim Meyering  <meyering@redhat.com>
10020
10021         warnings.m4: don't usurp save_CPPFLAGS variable name
10022         * m4/warnings.m4: Prefix local temporary variable name with gl_.
10023
10024         doc: fix typo
10025         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
10026
10027 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10028             Bruno Haible  <bruno@clisp.org>
10029
10030         doc: Tweak recent change.
10031         * README (Portability guidelines): Tweak new text.
10032         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
10033         Interix 6.1.
10034
10035 2011-05-16  Eric Blake  <eblake@redhat.com>
10036
10037         inttypes: avoid autoconf warning
10038         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
10039         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10040
10041 2011-05-16  Sam Steingold <sds@gnu.org>
10042         and Eric Blake  <eblake@redhat.com>
10043
10044         vc-list-files: accept multiple directory operands
10045         * build-aux/vc-list-files: Iterate over all remaining operands.
10046
10047 2011-05-16  Bruno Haible  <bruno@clisp.org>
10048
10049         Fix confusion regarding deprecated modules.
10050         * modules/calloc (Status, Notice): Mark module as deprecated, not
10051         obsolete.
10052         * modules/fnmatch-posix (Status, Notice): Likewise.
10053         * modules/getdate (Status, Notice): Likewise.
10054         * modules/getopt (Status, Notice): Likewise.
10055         * modules/malloc (Status, Notice): Likewise.
10056         * modules/pipe (Status, Notice): Likewise.
10057         * modules/realloc (Status, Notice): Likewise.
10058         * modules/rename-dest-slash (Status, Notice): Likewise.
10059         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
10060         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
10061         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
10062         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
10063         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
10064
10065 2011-05-16  Bruno Haible  <bruno@clisp.org>
10066
10067         doc: List the target platforms.
10068         * doc/gnulib-intro.texi (Target Platforms): New section.
10069         * doc/gnulib.texi (Introduction): Update menu.
10070         * README (Portability guidelines): Refer to the new section. Update
10071         statement about oldest supported environment. Remove rationale why
10072         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
10073         unportable C89 function.
10074         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
10075         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
10076
10077 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10078
10079         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
10080
10081 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10082
10083         intprops-tests: new module
10084         * modules/intprops-tests, tests/test-intprops.c: New files.
10085
10086         intprops: add safe, portable integer overflow checking
10087         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
10088         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
10089         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
10090         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
10091         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
10092         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
10093         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
10094         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
10095         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
10096         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
10097         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
10098
10099 2011-05-12  James Youngman  <jay@gnu.org>
10100
10101         Add a test for glibc's Bugzilla bug #12378.
10102         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
10103         doesn't allow the literal matching of a lone "[" (which is
10104         required by POSIX).
10105         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
10106
10107 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
10108
10109         Sync glibc change fixing Bugzilla bug #12378.
10110         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
10111         beginning and fall back to matching as normal character if the
10112         string ends before the matching ']' is found.  This is what POSIX
10113         requires.
10114
10115 2011-05-13  Eric Blake  <eblake@redhat.com>
10116
10117         getcwd-lgpl: relax test for FreeBSD
10118         * doc/posix-functions/getcwd.texi (getcwd): Document portability
10119         issue.
10120         * tests/test-getcwd-lgpl.c (main): Relax test.
10121         Reported by Matthias Bolte.
10122
10123 2011-05-11  Eric Blake  <eblake@redhat.com>
10124
10125         test-fflush: silence compiler warning
10126         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
10127
10128 2011-05-11  Bruno Haible  <bruno@clisp.org>
10129
10130         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
10131         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
10132         * modules/canonicalize (Depends-on): Add 'nocrash'.
10133         * modules/canonicalize-lgpl (Depends-on): Likewise.
10134         * doc/posix-functions/realpath.texi: Update platforms list.
10135         Reported by Ryan Schmidt <ryandesign@macports.org>.
10136
10137 2011-05-11  Bruno Haible  <bruno@clisp.org>
10138
10139         group-member: Declare function in <unistd.h>.
10140         * lib/unistd.in.h (group_member): New declaration.
10141         * lib/group-member.h: Remove file.
10142         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
10143         * tests/test-unistd-c++.cc: Check signature of group_member.
10144         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
10145         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
10146         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
10147         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
10148         HAVE_GROUP_MEMBER.
10149         * modules/group-member (Files): Remove lib/group-member.h.
10150         (Depends-on): Add unistd. Specify conditions.
10151         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10152         (Include): Change to <unistd.h>.
10153         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
10154         HAVE_GROUP_MEMBER.
10155         * NEWS: Mention the change.
10156         * lib/euidaccess.c: Don't include group-member.h.
10157
10158 2011-05-11  Bruno Haible  <bruno@clisp.org>
10159
10160         group-member: Document module.
10161         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
10162         module.
10163
10164 2011-05-11  Bruno Haible  <bruno@clisp.org>
10165
10166         fclose: Fix mistake earlier today.
10167         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
10168
10169 2011-05-11  Eric Blake  <eblake@redhat.com>
10170
10171         fclose: preserve fflush errors
10172         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
10173         Reported by Jim Meyering.
10174
10175         bootstrap: support a prereq of 'rpcgen -' on RHEL5
10176         * build-aux/bootstrap (check_versions): When no specific version
10177         is required, merely check that the app produces an exit status
10178         that indicates its existence.
10179
10180         maint.mk: drop redundant check
10181         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
10182         the same but better.
10183
10184 2011-05-11  Bruno Haible  <bruno@clisp.org>
10185
10186         fclose: Fix possible link error.
10187         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
10188         unregister_shadow_fd. Improve comments.
10189         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
10190         Eric Blake.
10191
10192 2011-05-11  Jim Meyering  <meyering@redhat.com>
10193
10194         maint.mk: improve "can not" detection and generalize rule name
10195         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
10196         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
10197         Use the same technique as in sc_prohibit_doubled_word, so that
10198         we recognize "can not" also when the words are separated by a newline.
10199         Suggested by Eric Blake.
10200         (perl_filename_lineno_text_): Define.  Factored out of...
10201         (prohibit_doubled_word_): ...here.  Use the new definition.
10202         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
10203         (prohibit_undesirable_word_seq_RE_): New overridable variable.
10204         (ignore_undesirable_word_sequence_RE_): New overridable variable.
10205
10206 2011-05-10  Eric Blake  <eblake@redhat.com>
10207
10208         fclose: avoid double close race when possible
10209         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
10210         all but WINDOWS_SOCKETS.
10211
10212 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
10213
10214         openat: correct new comment
10215         * lib/openat-proc.c (openat_proc_name): Correct the comment.
10216
10217 2011-05-10  Jim Meyering  <meyering@redhat.com>
10218
10219         openat: add comments
10220         * lib/openat-proc.c (openat_proc_name): Add comments,
10221         mostly from Eric Blake.
10222
10223 2011-05-09  Eric Blake  <eblake@redhat.com>
10224
10225         openat: reduce syscalls in first probe of /proc
10226         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
10227         be a directory.  Simplify the probe for .. bugs.
10228         * modules/openat (Depends-on): Drop same-inode.
10229         Reported by Bastien ROUCARIES.
10230
10231 2011-05-09  Jim Meyering  <meyering@redhat.com>
10232
10233         maint.mk: change semantics/name of tight_scope variables
10234         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
10235         Rename variables to align with semantics that make them more useful.
10236
10237         maint.mk: tweak new rule's name not to impinge
10238         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
10239         (sc_tight_scope): Use new rule name rather than $@-0.
10240
10241         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
10242         * top/maint.mk (sc_tight_scope): New rule.
10243         (sc_tight_scope-0): New rule, ifdef'd out.
10244         (_gl_TS_dir): Default.
10245         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
10246         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
10247
10248 2011-05-09  Simon Josefsson  <simon@josefsson.org>
10249
10250         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
10251         Haible <bruno@clisp.org>.
10252
10253 2011-05-08  Bruno Haible  <bruno@clisp.org>
10254
10255         Comments.
10256         * m4/isnanf.m4: Add comment.
10257         * m4/isnanl.m4: Likewise.
10258
10259 2011-05-08  Bruno Haible  <bruno@clisp.org>
10260
10261         glob: Remove obsolete macro.
10262         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
10263
10264 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10265
10266         intprops: Sun C 5.11 supports __typeof__
10267         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
10268         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
10269         which is new.
10270         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
10271
10272         intprops: switch to usual gnulib indenting and naming
10273         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
10274         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
10275
10276         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
10277
10278 2011-05-08  Jim Meyering  <meyering@redhat.com>
10279
10280         maint.mk: suppress "Entering/Leaving directory" diag in announcement
10281         * top/maint.mk (release-prep): Use make's --no-print-directory
10282         option when generating the announcement.  This eliminates the
10283         pesky "make[2]: Entering/Leaving directory" diagnostics in the
10284         generated announcement template.
10285
10286 2011-05-08  Bruno Haible  <bruno@clisp.org>
10287
10288         tzset: Fix gettimeofday wrapper on Solaris 2.6.
10289         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
10290         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
10291
10292 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
10293
10294         ignore-value, verify: Omit include files from lib_SOURCES.
10295         * modules/ignore-value, modules/verify (Makefile.am):
10296         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
10297         that leads Automake to duplicate use of am__objects_... variables
10298         in Makefile.in.  See
10299         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
10300
10301 2011-05-07  Bruno Haible  <bruno@clisp.org>
10302
10303         fclose: Simplify autoconf macro.
10304         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
10305         defined.
10306
10307 2011-05-07  Bruno Haible  <bruno@clisp.org>
10308
10309         canonicalize-lgpl: Fix autoconf macro ordering bug.
10310         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
10311         gl_STDLIB_H_DEFAULTS.
10312
10313 2011-05-06  Eric Blake  <eblake@redhat.com>
10314
10315         maintainer-makefile: make sc_po_check easier to tune
10316         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
10317         to probe for strings, such as an alternate location for gnulib.
10318
10319         fclose: guarantee behavior on seekable stdin
10320         * modules/fclose (Depends-on): Add fflush.
10321         * doc/posix-functions/fclose.texi (fclose): Document this.
10322         * tests/test-fclose.c (main): Make test for this unconditional.
10323
10324 2011-05-06  Bruno Haible  <bruno@clisp.org>
10325
10326         fflush, fpurge: Relicense under LGPLv2+.
10327         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
10328         * modules/fpurge (License): Likewise.
10329         With permission from Eric Blake and Jim Meyering.
10330         Suggested by Eric Blake.
10331
10332 2011-05-06  Karl Berry  <karl@gnu.org>
10333
10334         * MODULES.html.sh (func_all_modules): remove exit.
10335
10336 2011-05-06  Jim Meyering  <meyering@redhat.com>
10337
10338         maint.mk: use info-gnu@ as the default only for a stable release
10339         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
10340         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
10341         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
10342         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
10343
10344 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10345
10346         assert-h: new module, which supports C1X-style static_assert
10347         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
10348         * lib/verify.h: Revamp so that this can be copied into assert.h,
10349         while retaining the ability to use it standalone as before.
10350         Rename private identifiers so as not to encroach on the
10351         standard C namespace, since this is now used by assert.h.
10352         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
10353         the old verify_true.
10354         (_GL_VERIFY_TRUE): New macro, with much of the contents of
10355         the old verify_true.  Use _GL_VERIFY_TYPE.
10356         (_GL_VERIFY): New macro, with much of the contents of the old verify.
10357         (static_assert): New macro, if _GL_STATIC_ASSERT_H
10358         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
10359         defined when this file is copied into the replacement assert.h.
10360         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
10361         and _Static_assert is not built in.
10362         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
10363         defined, and use the new macros mentioned above.
10364         * doc/posix-headers/assert.texi: Document this.
10365
10366 2011-05-05  Bruno Haible  <bruno@clisp.org>
10367
10368         fclose, fflush: Respect rules for use of AC_LIBOBJ.
10369         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
10370         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
10371         gl_REPLACE_FCLOSE here.
10372         * modules/fflush (Depends-on): Remove fclose.
10373         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
10374         combination with module 'fclose'.
10375
10376 2011-05-05  Bruno Haible  <bruno@clisp.org>
10377
10378         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
10379         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
10380         gl_FUNC_FFLUSH.
10381         (gl_FUNC_FFLUSH): Use it.
10382         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
10383         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
10384         gl_REPLACE_FSEEKO here.
10385
10386 2011-05-05  Bruno Haible  <bruno@clisp.org>
10387
10388         tzset: Relicense under LGPL.
10389         * modules/tzset (License): Change to LGPL.
10390         No agreement needed; it's a no-op.
10391
10392         strtoimax, strtoumax: Relicense under LGPL.
10393         * modules/strtoimax (License): Change to LGPL.
10394         * modules/strtoumax (License): Likewise.
10395         With permission from Jim Meyering, Paul Eggert:
10396         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
10397         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
10398
10399         getgroups: Relicense under LGPL.
10400         * modules/getgroups (License): Change to LGPL.
10401         With permission from Jim Meyering, Paul Eggert, Eric Blake:
10402         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10403         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10404         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10405
10406         nanosleep: Relicense under LGPL.
10407         * modules/nanosleep (License): Change to LGPL.
10408         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
10409         Haible:
10410         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10411         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10412         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10413         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10414
10415         futimens: Relicense under LGPL.
10416         * modules/futimens (License): Change to LGPL.
10417         With permission from Eric Blake:
10418         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10419
10420         fflush: Relicense under LGPL.
10421         * modules/fflush (License): Change to LGPL.
10422         With permission from Eric Blake, Bruno Haible, Jim Meyering:
10423         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10424         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10425         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
10426
10427         tmpfile: Relicense under LGPL.
10428         * modules/tmpfile (License): Change to LGPL.
10429         With permission from Ben Pfaff:
10430         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10431
10432         isfinite: Relicense under LGPL.
10433         * modules/isfinite (License): Change to LGPL.
10434         With permission from Ben Pfaff, Bruno Haible:
10435         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10436         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
10437
10438         acosl..tanl: Relicense under LGPL.
10439         * modules/acosl (License): Change to LGPL.
10440         * modules/asinl (License): Likewise.
10441         * modules/atanl (License): Likewise.
10442         * modules/cosl (License): Likewise.
10443         * modules/expl (License): Likewise.
10444         * modules/logl (License): Likewise.
10445         * modules/sinl (License): Likewise.
10446         * modules/sqrtl (License): Likewise.
10447         * modules/tanl (License): Likewise.
10448         Source code originally from glibc and Paolo Bonzini. Agreements:
10449         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
10450         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
10451
10452 2011-05-05  Bruno Haible  <bruno@clisp.org>
10453
10454         signal: Define sighandler_t.
10455         * lib/signal.in.h (sighandler_t): New type.
10456         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
10457         whether sighandler_t is defined.
10458         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
10459         * modules/signal (Depends-on): Add extensions.
10460         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
10461         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10462         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10463
10464 2011-05-05  Eric Blake  <eblake@redhat.com>
10465
10466         maint: remove useless REPLACE_*_H macros
10467         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10468         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10469         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10470         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10471         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10472         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10473         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10474         * m4/btowc.m4: Update callers.
10475         * m4/dirfd.m4: Likewise.
10476         * m4/duplocale.m4: Likewise.
10477         * m4/fchdir.m4: Likewise.
10478         * m4/fdopendir.m4: Likewise.
10479         * m4/inet_ntop.m4: Likewise.
10480         * m4/inet_pton.m4: Likewise.
10481         * m4/ioctl.m4: Likewise.
10482         * m4/mbrlen.m4: Likewise.
10483         * m4/mbrtowc.m4: Likewise.
10484         * m4/mbsinit.m4: Likewise.
10485         * m4/mbsnrtowcs.m4: Likewise.
10486         * m4/mbsrtowcs.m4: Likewise.
10487         * m4/poll.m4: Likewise.
10488         * m4/setlocale.m4: Likewise.
10489         * m4/wcrtomb.m4: Likewise.
10490         * m4/wcsnrtombs.m4: Likewise.
10491         * m4/wcsrtombs.m4: Likewise.
10492         * m4/wctob.m4: Likewise.
10493         * m4/wcwidth.m4: Likewise.
10494         * modules/posix_spawn: Likewise.
10495         * modules/posix_spawn_file_actions_addclose: Likewise.
10496         * modules/posix_spawn_file_actions_adddup2: Likewise.
10497         * modules/posix_spawn_file_actions_addopen: Likewise.
10498         * modules/posix_spawn_file_actions_destroy: Likewise.
10499         * modules/posix_spawn_file_actions_init: Likewise.
10500         * modules/posix_spawnattr_destroy: Likewise.
10501         * modules/posix_spawnattr_getflags: Likewise.
10502         * modules/posix_spawnattr_getpgroup: Likewise.
10503         * modules/posix_spawnattr_getschedparam: Likewise.
10504         * modules/posix_spawnattr_getschedpolicy: Likewise.
10505         * modules/posix_spawnattr_getsigdefault: Likewise.
10506         * modules/posix_spawnattr_getsigmask: Likewise.
10507         * modules/posix_spawnattr_init: Likewise.
10508         * modules/posix_spawnattr_setflags: Likewise.
10509         * modules/posix_spawnattr_setpgroup: Likewise.
10510         * modules/posix_spawnattr_setschedparam: Likewise.
10511         * modules/posix_spawnattr_setschedpolicy: Likewise.
10512         * modules/posix_spawnattr_setsigdefault: Likewise.
10513         * modules/posix_spawnattr_setsigmask: Likewise.
10514         * modules/posix_spawnp: Likewise.
10515
10516 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10517
10518         Add option to do-release-commit-and-tag to specify branch.
10519         * build-aux/do-release-commit-and-tag: Add --branch.
10520
10521 2011-05-03  Bruno Haible  <bruno@clisp.org>
10522
10523         Avoid unnecessary compilation units, through conditional dependencies.
10524         * modules/accept (Depends-on): Add conditions to the dependencies.
10525         * modules/acosl (Depends-on): Likewise.
10526         * modules/argz (Depends-on): Likewise.
10527         * modules/asinl (Depends-on): Likewise.
10528         * modules/atanl (Depends-on): Likewise.
10529         * modules/atoll (Depends-on): Likewise.
10530         * modules/bind (Depends-on): Likewise.
10531         * modules/btowc (Depends-on): Likewise.
10532         * modules/canonicalize-lgpl (Depends-on): Likewise.
10533         * modules/ceil (Depends-on): Likewise.
10534         * modules/ceilf (Depends-on): Likewise.
10535         * modules/ceill (Depends-on): Likewise.
10536         * modules/chdir-long (Depends-on): Likewise.
10537         * modules/chown (Depends-on): Likewise.
10538         * modules/close (Depends-on): Likewise.
10539         * modules/connect (Depends-on): Likewise.
10540         * modules/cosl (Depends-on): Likewise.
10541         * modules/dirfd (Depends-on): Likewise.
10542         * modules/dprintf (Depends-on): Likewise.
10543         * modules/dprintf-posix (Depends-on): Likewise.
10544         * modules/error (Depends-on): Likewise.
10545         * modules/euidaccess (Depends-on): Likewise.
10546         * modules/expl (Depends-on): Likewise.
10547         * modules/faccessat (Depends-on): Likewise.
10548         * modules/fchdir (Depends-on): Likewise.
10549         * modules/fclose (Depends-on): Likewise.
10550         * modules/fcntl (Depends-on): Likewise.
10551         * modules/fdopendir (Depends-on): Likewise.
10552         * modules/fflush (Depends-on): Likewise.
10553         * modules/floor (Depends-on): Likewise.
10554         * modules/floorf (Depends-on): Likewise.
10555         * modules/floorl (Depends-on): Likewise.
10556         * modules/fnmatch (Depends-on): Likewise.
10557         * modules/fopen (Depends-on): Likewise.
10558         * modules/fprintf-posix (Depends-on): Likewise.
10559         * modules/frexp (Depends-on): Likewise.
10560         * modules/frexp-nolibm (Depends-on): Likewise.
10561         * modules/frexpl (Depends-on): Likewise.
10562         * modules/frexpl-nolibm (Depends-on): Likewise.
10563         * modules/fseek (Depends-on): Likewise.
10564         * modules/fsusage (Depends-on): Likewise.
10565         * modules/ftell (Depends-on): Likewise.
10566         * modules/ftello (Depends-on): Likewise.
10567         * modules/futimens (Depends-on): Likewise.
10568         * modules/getcwd (Depends-on): Likewise.
10569         * modules/getcwd-lgpl (Depends-on): Likewise.
10570         * modules/getdelim (Depends-on): Likewise.
10571         * modules/getdomainname (Depends-on): Likewise.
10572         * modules/getgroups (Depends-on): Likewise.
10573         * modules/gethostname (Depends-on): Likewise.
10574         * modules/getline (Depends-on): Likewise.
10575         * modules/getlogin_r (Depends-on): Likewise.
10576         * modules/getopt-posix (Depends-on): Likewise.
10577         * modules/getpeername (Depends-on): Likewise.
10578         * modules/getsockname (Depends-on): Likewise.
10579         * modules/getsockopt (Depends-on): Likewise.
10580         * modules/getsubopt (Depends-on): Likewise.
10581         * modules/getusershell (Depends-on): Likewise.
10582         * modules/glob (Depends-on): Likewise.
10583         * modules/grantpt (Depends-on): Likewise.
10584         * modules/iconv_open (Depends-on): Likewise.
10585         * modules/iconv_open-utf (Depends-on): Likewise.
10586         * modules/inet_ntop (Depends-on): Likewise.
10587         * modules/inet_pton (Depends-on): Likewise.
10588         * modules/ioctl (Depends-on): Likewise.
10589         * modules/isapipe (Depends-on): Likewise.
10590         * modules/isfinite (Depends-on): Likewise.
10591         * modules/isinf (Depends-on): Likewise.
10592         * modules/lchown (Depends-on): Likewise.
10593         * modules/ldexpl (Depends-on): Likewise.
10594         * modules/link (Depends-on): Likewise.
10595         * modules/linkat (Depends-on): Likewise.
10596         * modules/listen (Depends-on): Likewise.
10597         * modules/logl (Depends-on): Likewise.
10598         * modules/lstat (Depends-on): Likewise.
10599         * modules/mbrlen (Depends-on): Likewise.
10600         * modules/mbrtowc (Depends-on): Likewise.
10601         * modules/mbsinit (Depends-on): Likewise.
10602         * modules/mbsnrtowcs (Depends-on): Likewise.
10603         * modules/mbsrtowcs (Depends-on): Likewise.
10604         * modules/mbtowc (Depends-on): Likewise.
10605         * modules/memcmp (Depends-on): Likewise.
10606         * modules/mkdir (Depends-on): Likewise.
10607         * modules/mkdtemp (Depends-on): Likewise.
10608         * modules/mkfifo (Depends-on): Likewise.
10609         * modules/mkfifoat (Depends-on): Likewise.
10610         * modules/mknod (Depends-on): Likewise.
10611         * modules/mkostemp (Depends-on): Likewise.
10612         * modules/mkostemps (Depends-on): Likewise.
10613         * modules/mkstemp (Depends-on): Likewise.
10614         * modules/mkstemps (Depends-on): Likewise.
10615         * modules/mktime (Depends-on): Likewise.
10616         * modules/nanosleep (Depends-on): Likewise.
10617         * modules/open (Depends-on): Likewise.
10618         * modules/openat (Depends-on): Likewise.
10619         * modules/perror (Depends-on): Likewise.
10620         * modules/poll (Depends-on): Likewise.
10621         * modules/popen (Depends-on): Likewise.
10622         * modules/posix_spawn (Depends-on): Likewise.
10623         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
10624         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
10625         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
10626         * modules/posix_spawnp (Depends-on): Likewise.
10627         * modules/pread (Depends-on): Likewise.
10628         * modules/printf-posix (Depends-on): Likewise.
10629         * modules/ptsname (Depends-on): Likewise.
10630         * modules/putenv (Depends-on): Likewise.
10631         * modules/pwrite (Depends-on): Likewise.
10632         * modules/readline (Depends-on): Likewise.
10633         * modules/readlink (Depends-on): Likewise.
10634         * modules/readlinkat (Depends-on): Likewise.
10635         * modules/recv (Depends-on): Likewise.
10636         * modules/recvfrom (Depends-on): Likewise.
10637         * modules/regex (Depends-on): Likewise.
10638         * modules/remove (Depends-on): Likewise.
10639         * modules/rename (Depends-on): Likewise.
10640         * modules/renameat (Depends-on): Likewise.
10641         * modules/rmdir (Depends-on): Likewise.
10642         * modules/round (Depends-on): Likewise.
10643         * modules/roundf (Depends-on): Likewise.
10644         * modules/roundl (Depends-on): Likewise.
10645         * modules/rpmatch (Depends-on): Likewise.
10646         * modules/select (Depends-on): Likewise.
10647         * modules/send (Depends-on): Likewise.
10648         * modules/sendto (Depends-on): Likewise.
10649         * modules/setenv (Depends-on): Likewise.
10650         * modules/setlocale (Depends-on): Likewise.
10651         * modules/setsockopt (Depends-on): Likewise.
10652         * modules/shutdown (Depends-on): Likewise.
10653         * modules/sigaction (Depends-on): Likewise.
10654         * modules/signbit (Depends-on): Likewise.
10655         * modules/sigprocmask (Depends-on): Likewise.
10656         * modules/sinl (Depends-on): Likewise.
10657         * modules/sleep (Depends-on): Likewise.
10658         * modules/snprintf (Depends-on): Likewise.
10659         * modules/snprintf-posix (Depends-on): Likewise.
10660         * modules/socket (Depends-on): Likewise.
10661         * modules/sprintf-posix (Depends-on): Likewise.
10662         * modules/sqrtl (Depends-on): Likewise.
10663         * modules/stat (Depends-on): Likewise.
10664         * modules/strchrnul (Depends-on): Likewise.
10665         * modules/strdup-posix (Depends-on): Likewise.
10666         * modules/strerror (Depends-on): Likewise.
10667         * modules/strerror_r-posix (Depends-on): Likewise.
10668         * modules/strndup (Depends-on): Likewise.
10669         * modules/strnlen (Depends-on): Likewise.
10670         * modules/strptime (Depends-on): Likewise.
10671         * modules/strsep (Depends-on): Likewise.
10672         * modules/strsignal (Depends-on): Likewise.
10673         * modules/strstr-simple (Depends-on): Likewise.
10674         * modules/strtod (Depends-on): Likewise.
10675         * modules/strtoimax (Depends-on): Likewise.
10676         * modules/strtok_r (Depends-on): Likewise.
10677         * modules/strtoumax (Depends-on): Likewise.
10678         * modules/symlink (Depends-on): Likewise.
10679         * modules/symlinkat (Depends-on): Likewise.
10680         * modules/tanl (Depends-on): Likewise.
10681         * modules/tcgetsid (Depends-on): Likewise.
10682         * modules/tmpfile (Depends-on): Likewise.
10683         * modules/trunc (Depends-on): Likewise.
10684         * modules/truncf (Depends-on): Likewise.
10685         * modules/truncl (Depends-on): Likewise.
10686         * modules/uname (Depends-on): Likewise.
10687         * modules/unlink (Depends-on): Likewise.
10688         * modules/unlockpt (Depends-on): Likewise.
10689         * modules/unsetenv (Depends-on): Likewise.
10690         * modules/usleep (Depends-on): Likewise.
10691         * modules/utimensat (Depends-on): Likewise.
10692         * modules/vasprintf (Depends-on): Likewise.
10693         * modules/vdprintf (Depends-on): Likewise.
10694         * modules/vdprintf-posix (Depends-on): Likewise.
10695         * modules/vfprintf-posix (Depends-on): Likewise.
10696         * modules/vprintf-posix (Depends-on): Likewise.
10697         * modules/vsnprintf (Depends-on): Likewise.
10698         * modules/vsnprintf-posix (Depends-on): Likewise.
10699         * modules/vsprintf-posix (Depends-on): Likewise.
10700         * modules/wcrtomb (Depends-on): Likewise.
10701         * modules/wcscasecmp (Depends-on): Likewise.
10702         * modules/wcscspn (Depends-on): Likewise.
10703         * modules/wcsdup (Depends-on): Likewise.
10704         * modules/wcsncasecmp (Depends-on): Likewise.
10705         * modules/wcsnrtombs (Depends-on): Likewise.
10706         * modules/wcspbrk (Depends-on): Likewise.
10707         * modules/wcsrtombs (Depends-on): Likewise.
10708         * modules/wcsspn (Depends-on): Likewise.
10709         * modules/wcsstr (Depends-on): Likewise.
10710         * modules/wcstok (Depends-on): Likewise.
10711         * modules/wcswidth (Depends-on): Likewise.
10712         * modules/wctob (Depends-on): Likewise.
10713         * modules/wctomb (Depends-on): Likewise.
10714         * modules/wctype (Depends-on): Likewise.
10715         * modules/wcwidth (Depends-on): Likewise.
10716         * modules/write (Depends-on): Likewise.
10717
10718 2011-05-03  Bruno Haible  <bruno@clisp.org>
10719
10720         Support for conditional dependencies.
10721         * doc/gnulib.texi (Module description): Document the syntax of
10722         conditional dependencies.
10723         * gnulib-tool: New option --conditional-dependencies.
10724         (func_usage): Document it.
10725         (cond_dependencies): New variable.
10726         (func_get_automake_snippet_conditional,
10727         func_get_automake_snippet_unconditional): New functions, extracted from
10728         func_get_automake_snippet.
10729         (func_get_automake_snippet): Use them.
10730         (sed_first_32_chars): New variable.
10731         (func_module_shellfunc_name): New function.
10732         (func_module_shellvar_name): New function.
10733         (func_module_conditional_name): New function.
10734         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
10735         func_cond_module_condition): New functions.
10736         (func_modules_transitive_closure): Add support for conditional
10737         dependencies.
10738         (func_emit_lib_Makefile_am): For a conditional module, enclose the
10739         conditional automake snippet in an automake conditional.
10740         (func_emit_autoconf_snippets): Emit shell functions that contain the
10741         code for conditional modules.
10742         (func_import, func_create_testdir): Update specification.
10743
10744 2011-05-03  Eric Blake  <eblake@redhat.com>
10745
10746         test-getaddrinfo: report error information
10747         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
10748
10749 2011-05-03  Jim Meyering  <meyering@redhat.com>
10750
10751         bootstrap: avoid build failure when $GZIP is set
10752         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
10753         program name.  If defined at all, it is supposed to list gzip options.
10754         Reported by Alan Curry in http://debbugs.gnu.org/8609
10755
10756 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
10757
10758         readme-release: new module with release instructions
10759         * modules/readme-release: New module.
10760         * top/README-release: New file, from coreutils, grep, diffutils.
10761         * MODULES.html.sh (Support for maintaining and releasing): Add it.
10762
10763 2011-05-02  Eric Blake  <eblake@redhat.com>
10764
10765         fflush: also replace fclose when fixing fflush
10766         * modules/fflush (Depends-on): Add fclose.
10767         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
10768         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
10769         memstreams with no backing fd.
10770         * doc/posix-functions/fclose.texi (fclose): Document the use of
10771         fflush module to fix the bug.
10772         * tests/test-fclose.c (main): Relax test when fclose is used in
10773         isolation.
10774
10775         fclose: add some tests
10776         * modules/fclose-tests: New test module.
10777         * tests/test-fclose.c: New file.
10778         * doc/posix-functions/fclose.texi (fclose): Document the bug.
10779
10780         fclose: reduced dependencies
10781         * modules/fclose (Depends-on): Switch from fflush/fseeko to
10782         simpler lseek.
10783         * lib/fclose.c (rpl_fclose): Likewise.
10784         Reported by Simon Josefsson.
10785
10786         exit: drop remaining clients
10787         * modules/argmatch (Depends-on): Replace exit with stdlib.
10788         * modules/copy-file (Depends-on): Likewise.
10789         * modules/execute (Depends-on): Likewise.
10790         * modules/exitfail (Depends-on): Likewise.
10791         * modules/obstack (Depends-on): Likewise.
10792         * modules/pagealign_alloc (Depends-on): Likewise.
10793         * modules/pipe-filter-gi (Depends-on): Likewise.
10794         * modules/pipe-filter-ii (Depends-on): Likewise.
10795         * modules/savewd (Depends-on): Likewise.
10796         * modules/spawn-pipe (Depends-on): Likewise.
10797         * modules/wait-process (Depends-on): Likewise.
10798         * modules/xsetenv (Depends-on): Likewise.
10799         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
10800         * modules/git-merge-changelog (Depends-on): Likewise.
10801         * modules/long-options (Depends-on): Likewise.
10802         * modules/pt_chown (Depends-on): Likewise.
10803         * modules/sysexits (Depends-on): Likewise.
10804
10805         freading: relax license from LGPLv3+ to LGPLv2+
10806         * modules/freading (License): Relax LGPL version.
10807
10808 2011-05-02  Bruno Haible  <bruno@clisp.org>
10809
10810         fchdir: Remove unused dependencies.
10811         * modules/fchdir (Depends-on): Remove include_next.
10812
10813 2011-05-02  Bruno Haible  <bruno@clisp.org>
10814
10815         gnulib-tool: Refactor.
10816         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
10817         from func_emit_autoconf_snippets.
10818         (func_emit_autoconf_snippets): Use it.
10819
10820 2011-05-02  Simon Josefsson  <simon@josefsson.org>
10821
10822         * NEWS: Document removal of 'exit'.
10823         * modules/exit: Remove file.
10824
10825 2011-05-01  Bruno Haible  <bruno@clisp.org>
10826
10827         Update DEPENDENCIES.
10828         * DEPENDENCIES (gettext): Recommend the newest release.
10829         Reported by Simon Josefsson.
10830
10831 2011-05-01  Bruno Haible  <bruno@clisp.org>
10832
10833         gnulib-tool: Reduce code duplication.
10834         * gnulib-tool (func_emit_autoconf_snippets): New function.
10835         (func_import, func_create_testdir): Use it.
10836
10837 2011-04-30  Eric Blake  <eblake@redhat.com>
10838
10839         fclose: don't fail on non-seekable input stream
10840         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
10841         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
10842         since fflush is allowed to fail in that case.
10843
10844 2011-04-30  Bruno Haible  <bruno@clisp.org>
10845
10846         dup3: cleanup
10847         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
10848
10849 2011-04-30  Bruno Haible  <bruno@clisp.org>
10850
10851         netdb: Make it work in C++ mode.
10852         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
10853         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
10854         module.
10855         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
10856         gl_MODULE_INDICATOR_FOR_TESTS.
10857         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
10858         * modules/netdb-c++-tests: New file.
10859         * tests/test-netdb-c++.cc: New file.
10860
10861 2011-04-30  Bruno Haible  <bruno@clisp.org>
10862
10863         New modules 'vfscanf', 'vscanf'.
10864         * modules/vfscanf: New file.
10865         * modules/vscanf: New file.
10866         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
10867         here.
10868         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
10869         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
10870
10871 2011-04-30  Bruno Haible  <bruno@clisp.org>
10872
10873         passfd: Add comments.
10874         * lib/passfd.c: Add comments about platforms.
10875
10876 2011-04-30  Bruno Haible  <bruno@clisp.org>
10877
10878         sys_uio: Make <sys/uio.h> self-contained.
10879         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
10880         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
10881
10882 2011-04-30  Bruno Haible  <bruno@clisp.org>
10883
10884         sys_socket: Ensure 'struct iovec' definition.
10885         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
10886         <sys/socket.h>.
10887         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
10888
10889 2011-04-30  Bruno Haible  <bruno@clisp.org>
10890
10891         sys_uio: Protect definition of 'struct iovec'.
10892         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
10893         it as a C struct.
10894
10895 2011-04-30  Bruno Haible  <bruno@clisp.org>
10896
10897         manywarnings: fix indentation
10898         * m4/manywarnings.m4: Indent by 2 spaces consistently.
10899
10900 2011-04-30  Pádraig Brady <P@draigBrady.com>
10901
10902         manywarnings: add -Wno-missing-field-initializers if needed.
10903         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
10904         option if it's needed to allow initialization with { 0, }
10905
10906 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
10907
10908         announce-gen: cosmetic improvement
10909         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
10910
10911 2011-04-29  Jim Meyering  <meyering@redhat.com>
10912
10913         vc-list-files: indent with spaces, not TABs
10914         * build-aux/vc-list-files: Convert leading TABs to spaces,
10915         to match the style of most other files in gnulib.
10916
10917         announce-gen: indent with spaces, not TABs
10918         * build-aux/announce-gen: Convert all TABs to spaces, to match
10919         the style of most other files in gnulib.
10920
10921 2011-04-29  Eric Blake  <eblake@redhat.com>
10922
10923         quotearg: avoid uninitialized variable use
10924         * lib/quotearg.c (quoting_options_from_style): Initialize
10925         remaining fields, and ensure that custom styles are only used via
10926         quoting_options rather than quoting_style.
10927
10928 2011-04-29  Jim Meyering  <meyering@redhat.com>
10929
10930         maint.mk: remove unused VC-tag variable
10931         * top/maint.mk (VC-tag): Remove unused variable.
10932
10933 2011-04-29  Bruno Haible  <bruno@clisp.org>
10934
10935         netdb: fix gai_strerror replacements
10936         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
10937         * modules/netdb: Substitute it.
10938
10939 2011-04-29  Jim Meyering  <meyering@redhat.com>
10940
10941         test-getcwd.c: avoid new set-but-not-used warning
10942         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
10943         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
10944         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
10945         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
10946
10947         test-hash.c: avoid a new shadowing warning
10948         * tests/test-hash.c (main): Don't shadow "dup".
10949
10950 2011-04-28  Eric Blake  <eblake@redhat.com>
10951
10952         getaddrinfo: fix gai_strerror signature
10953         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
10954         and work around mingw with UNICODE defined.
10955         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
10956         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
10957         * modules/netdb (Makefile.am): Substitute it.
10958         * lib/netdb.in.h (gai_strerror): Declare replacement.
10959         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
10960         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
10961         the fix.
10962
10963         getsockopt: avoid compiler warning
10964         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
10965         Reported by Matthias Bolte.
10966
10967         tests: drop unused link dependency
10968         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
10969         * modules/dirent-safer-tests (Makefile.am): Likewise.
10970         * modules/fdopendir-tests (Makefile.am): Likewise.
10971         * modules/mkfifoat-tests (Makefile.am): Likewise.
10972         * modules/openat-safer-tests (Makefile.am): Likewise.
10973         * modules/openat-tests (Makefile.am): Likewise.
10974         * modules/readlinkat-tests (Makefile.am): Likewise.
10975         * modules/symlinkat-tests (Makefile.am): Likewise.
10976         * modules/linkat-tests (Makefile.am): Likewise.
10977         (Depends-on): Switch to filenamecat-lgpl.
10978         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
10979         LIBINTL.
10980         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
10981         * tests/test-linkat.c (main): Don't require xalloc.
10982
10983         hash, mgetgroups: drop xalloc dependency
10984         * lib/hash.c (includes): Adjust includes.
10985         * lib/mgetgroups.c (includes): Likewise.
10986         (xgetgroups): Move...
10987         * lib/xgetgroups.c: ...to new file.
10988         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
10989         * modules/xgetgroups: New file, split from...
10990         * modules/mgetgroups: ...here.
10991         (Depends-on): Add xalloc-oversized.
10992         * modules/hash (Depends-on): Likewise.
10993         * modules/hash-tests (Depends-on): Drop xalloc.
10994         (test_hash_LDADD): Drop unused library.
10995         * tests/test-hash.c (main): Break xalloc dependency.
10996         (includes): Drop unused include.
10997
10998         xalloc-oversized: new module
10999         * modules/xalloc-oversized: New module.
11000         * modules/xalloc (Depends-on): Add it.
11001         * lib/xalloc.h (xalloc_oversized): Move...
11002         * lib/xalloc-oversized.h: ...into new file.
11003
11004         utimecmp: drop dependency on xmalloc
11005         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
11006         due to memory pressure.
11007         * modules/utimecmp (Depends-on): Drop xalloc.
11008
11009 2011-04-27  Eric Blake  <eblake@redhat.com>
11010
11011         getcwd: fix mingw bugs
11012         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
11013         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
11014         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
11015
11016 2011-04-27  Bruno Haible  <bruno@clisp.org>
11017
11018         mkstemps: Ensure declaration on MacOS X 10.5.
11019         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
11020         * doc/glibc-functions/mkstemps.texi: Document header file problem on
11021         MacOS X.
11022
11023 2011-04-27  Bruno Haible  <bruno@clisp.org>
11024
11025         mkstemp: More documentation.
11026         * doc/posix-functions/mkstemp.texi: Document header file problem on
11027         MacOS X.
11028
11029 2011-04-27  Bruno Haible  <bruno@clisp.org>
11030
11031         mkstemp: Tweak configure message when cross-compiling.
11032         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
11033         result as a guess.
11034
11035 2011-04-27  Bruno Haible  <bruno@clisp.org>
11036
11037         clean-temp: Clarify what it does.
11038         * lib/clean-temp.h: Add more comments.
11039         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
11040         module.
11041         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
11042         * doc/glibc-functions/mkstemps.texi: Likewise.
11043         * doc/glibc-functions/mkostemps.texi: Likewise.
11044
11045 2011-04-27  Eric Blake  <eblake@redhat.com>
11046
11047         fchdir: avoid extra chdir and fix test
11048         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
11049         getcwd-lgpl.
11050         * lib/fchdir.c (get_name): Any absolute name will do; it does not
11051         have to be canonical.
11052         (canonicalize_file_name): Drop unused macro.
11053         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
11054
11055         filenamecat-lgpl: fix licence
11056         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
11057         when it was first created.
11058
11059         linkat, renameat: add missing dependency
11060         * modules/linkat (Depends-on): Require getcwd-lgpl.
11061         * modules/renameat (Depends-on): Likewise.
11062
11063         tests: reduce dependencies
11064         * tests/test-linkat.c (main): Use lighter-weight getcwd.
11065         * tests/test-renameat.c (main): Likewise.
11066         * modules/linkat-tests (Depends-on): Relax dependency.
11067         * modules/renameat-tests (Depends-on): Likewise.
11068         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
11069         dependency explicit.
11070
11071         save-cwd: reduce default dependency
11072         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
11073         * lib/save-cwd.c: Update comments.
11074         * NEWS: Document the semantic change.
11075
11076         getcwd: enhance tests
11077         * tests/test-getcwd-lgpl.c: New file, taken from...
11078         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
11079         repeat long path stress tests from m4 probe.
11080         * modules/getcwd-lgpl-tests: New module.
11081         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
11082         * m4/getcwd-abort-bug.m4: Update comment.
11083         * m4/getcwd-path-max.m4: Likewise.
11084
11085         getcwd-lgpl: new module
11086         * modules/getcwd-lgpl: New module.
11087         * lib/getcwd-lgpl.c: New file.
11088         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11089         * MODULES.html.sh (lacking POSIX:2008): Likewise.
11090         * modules/getcwd (configure.ac): Set C witness.
11091         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
11092
11093         getcwd: tweak comments
11094         * m4/getcwd-abort-bug.m4: Fix comments.
11095         * m4/getcwd-path-max.m4: Likewise.
11096         * m4/getcwd.m4: Likewise.
11097
11098 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11099         and Eric Blake  <eblake@redhat.com>
11100
11101         mkstemp: replace if system version uses wrong permissions
11102         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
11103         read/write mode bits set in file created by mkstemp.
11104         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
11105
11106 2011-04-27  Eric Blake  <eblake@redhat.com>
11107
11108         passfd: avoid compiler warning
11109         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
11110         Reported by Laine Stump.
11111
11112 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
11113
11114         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
11115         required by the NetBSD (and perhaps other 4.4BSD derived) join.
11116
11117 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11118         and Eric Blake  <eblake@redhat.com>
11119
11120         mkstemp: mention clean-temp module
11121         * lib/mkstemp.c: Add comment.
11122         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
11123
11124 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
11125
11126         inttypes: also provide default values for 32-bit tests
11127         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
11128         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
11129
11130 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11131
11132         strtoumax: remove dependency on strtoimax
11133         This is like the strtoull change of yesterday.
11134         * modules/strtoumax (Files): Add lib/strtoimax.c.
11135         (Depends-on): Remove strtoimax and add verify.
11136
11137         inttypes-incomplete: new module
11138         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
11139         all but the PRI* and SCN* parts of gl_INTTYPES_H.
11140         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
11141         of gl_INTTYPES_H.
11142         (gl_INTTYPES_H): Rewrite in terms of these new macros.
11143         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
11144         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
11145         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
11146         * modules/strtoumax, modules/xstrtol (Depends-on):
11147         Depend on inttypes-incomplete, not inttypes.
11148         * modules/inttypes-incomplete: New module, containing the contents
11149         of the old modules/inttypes module, except that the Files: section
11150         omits m4/inttypes-pri.m4, and the configure.ac section invokes
11151         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
11152         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
11153         (Depends-on): Depend only on inttypes-incomplete.
11154         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
11155
11156         inttypes: omit now-redundant strtoimax and strtoumax work
11157         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
11158         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
11159
11160         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
11161         This supports apps that need pointers to strtoimax and strtoumax,
11162         and ports to HP-UX 11.00 64.bit, which has macros that expand to
11163         nonexistent functions.  See
11164         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
11165         et seq.
11166         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
11167         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
11168         a macro.
11169         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11170
11171 2011-04-25  Simon Josefsson  <simon@josefsson.org>
11172
11173         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
11174
11175 2011-04-25  Bruno Haible  <bruno@clisp.org>
11176
11177         strtol, strtoul: Mark modules as obsolete.
11178         * modules/strtol (Status, Notice): New sections.
11179         * modules/strtoul (Status, Notice): New sections.
11180
11181 2011-04-25  Bruno Haible  <bruno@clisp.org>
11182
11183         strtod: Remove check for strtod, unless supporting old platforms.
11184         * modules/strtod-obsolete: New file.
11185         * m4/strtod-obsolete.m4: New file.
11186         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
11187         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
11188         * modules/strtod (Depends-on): Add strtod-obsolete.
11189         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
11190
11191 2011-04-25  Bruno Haible  <bruno@clisp.org>
11192
11193         strcase: Make module obsolete.
11194         * modules/strcase (Status, Notice): New sections.
11195
11196 2011-04-25  Bruno Haible  <bruno@clisp.org>
11197
11198         dup2: Remove check for dup2, unless supporting old obsolete platforms.
11199         * modules/dup2-obsolete: New file.
11200         * m4/dup2-obsolete.m4: New file.
11201         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
11202         gl_FUNC_DUP2_OBSOLETE is not also defined.
11203         * modules/dup2 (Depends-on): Add dup2-obsolete.
11204         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
11205
11206 2011-04-25  Bruno Haible  <bruno@clisp.org>
11207
11208         strnlen: Avoid memchr related link error on old obsolete platforms.
11209         * modules/memchr-obsolete: New file.
11210         * m4/memchr-obsolete.m4: New file.
11211         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
11212         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
11213         * modules/memchr (Depends-on): Add memchr-obsolete.
11214         * modules/strnlen (Depends-on): Likewise.
11215         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
11216
11217 2011-04-25  Jim Meyering  <meyering@redhat.com>
11218
11219         maint.mk: makefile_at_at_check extend and clean up
11220         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
11221         in addition to */Makefile.am.
11222         Exempt legitimate uses of @VAR@ notation, e.g.,
11223         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
11224         Remove obsolete coreutils-specific comment.
11225         Prompted by discussion here:
11226         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
11227
11228 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11229
11230         strtoul: remove dependency on strtol
11231         This is so that 'configure' need not check for strtol merely because
11232         the application needs strtoul.
11233         * modules/strtoul (Files): Add lib/strtol.c.
11234         (Depends-on): Remove strtol.
11235
11236         strtoull: remove dependency on strtoul
11237         This is like the strtoll change.
11238         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
11239         (Depends-on): Remove strtoul.
11240
11241         strtoll: remove dependency on strtol
11242         This is so that 'configure' need not check for strtol merely because
11243         the application needs strtoll.
11244         * modules/strtoll (Files): Add lib/strtol.c.
11245         (Depends-on): Remove strtol.
11246
11247 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11248
11249         inttypes: Move some configure check to module 'imaxdiv'.
11250         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
11251         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
11252         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
11253
11254 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11255
11256         inttypes: Move some configure check to module 'imaxabs'.
11257         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
11258         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
11259         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
11260
11261 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11262
11263         inttypes: Remove configure tests that are not needed since 2009-12-31.
11264         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
11265         gl_cv_header_working_inttypes_h.
11266
11267 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11268
11269         * modules/strnlen (Depends-on): Remove memchr.
11270         The strnlen implementation doesn't need the memchr module's fixes; see
11271         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
11272
11273         strtol: remove dependency on wchar
11274         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
11275         * modules/strtol (Depends-on): Remove wchar.
11276
11277 2011-04-21  Eric Blake  <eblake@redhat.com>
11278
11279         passfd: fix test regression on Linux
11280         * modules/passfd-tests (configure.ac): Correct socketpair check.
11281
11282         passfd: speed up configure and drop unused code
11283         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
11284         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
11285         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
11286         Instead of probing at configure for unix_scm_rights_bsd44_way,
11287         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
11288         check to a struct member probe.
11289         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
11290         (sendfd, recvfd): Update preprocessor checks.
11291         * modules/passfd (Files): Reflect rename, and drop unused file.
11292         (Depends-on): Drop unused dependency.
11293
11294         passfd: allow compilation on mingw
11295         * modules/sys_socket (Depends-on): Add sys_uio.
11296         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
11297         iovec and a minimal struct msghdr.
11298         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
11299         * tests/test-sys_socket.c (main): Enhance test.
11300         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
11301         guaranteed to provide what we need.
11302         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
11303         * modules/passfd-tests (Depends-on): Add sys_wait.
11304         * tests/test-passfd.c (main): Skip test on mingw, for now.
11305         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
11306         partial 'struct msghdr' implementation.
11307
11308         sys_uio: new module
11309         * modules/sys_uio: New module.
11310         * modules/sys_uio-tests: Likewise.
11311         * lib/sys_uio.in.h: New file.
11312         * m4/sys_uio_h.m4: Likewise.
11313         * tests/test-sys_uio.c: Likewise.
11314         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
11315         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
11316
11317 2011-04-20  Jim Meyering  <meyering@redhat.com>
11318
11319         useless-if-before-free: avoid false-positive
11320         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
11321         disjunct so that it too requires a terminating ";".  Without that,
11322         this script would identify as useless one statement from gcc that
11323         was not:
11324           if (aligned_ptr)
11325             free (((void **) aligned_ptr) [-1]);
11326
11327 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
11328
11329         doc: update users.txt.
11330         * users.txt: Add barcode.
11331
11332 2011-04-19  Bruno Haible  <bruno@clisp.org>
11333
11334         ioctl: Remove link dependency on native Windows.
11335         * lib/fd-hook.h: Renamed from lib/close-hook.h.
11336         (gl_close_fn, gl_ioctl_fn): New types.
11337         (struct fd_hook): Renamed from struct close_hook. Change type of
11338         private_close_fn field. Add private_ioctl_fn field.
11339         (close_hook_fn): Add parameter for primary close method.
11340         (execute_close_hooks, execute_all_close_hooks): Likewise.
11341         (ioctl_hook_fn): New type.
11342         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
11343         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11344         argument.
11345         (unregister_fd_hook): Renamed from unregister_close_hook.
11346         * lib/fd-hook.c: Renamed from lib/close-hook.c.
11347         Don't include <unistd.h>.
11348         (close): Remove undef.
11349         (anchor): Update.
11350         (execute_close_hooks): Add argument for primary close method.
11351         (execute_all_close_hooks): Likewise.
11352         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
11353         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11354         argument. Allow each argument to be NULL.
11355         (unregister_fd_hook): Renamed from unregister_close_hook.
11356         * lib/close.c (rpl_close): Pass 'close' function pointer to
11357         execute_all_close_hooks.
11358         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
11359         (primary_ioctl): New function.
11360         (ioctl): Don't call ioctlsocket here. Instead, call
11361         execute_all_ioctl_hooks.
11362         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
11363         close method.
11364         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
11365         (fd_sockets_hook): Renamed from close_sockets_hook.
11366         (gl_sockets_startup, gl_sockets_cleanup): Update.
11367         * modules/fd-hook: Renamed from modules/close-hook. Update.
11368         * modules/close (Depends-on): Add fd-hook, remove close-hook.
11369         * modules/sockets (Depends-on): Likewise.
11370         * modules/ioctl (Depends-on): Add fd-hook.
11371         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
11372         GNULIB_SOCKET.
11373
11374 2011-04-19  Bruno Haible  <bruno@clisp.org>
11375
11376         Move the support of O_NONBLOCK in open() to the 'open' module.
11377         * modules/nonblocking (Depends-on): Remove 'open'.
11378         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
11379         gl_cv_have_open_O_NONBLOCK.
11380         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
11381         O_NONBLOCK support.
11382         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
11383
11384 2011-04-17  Bruno Haible  <bruno@clisp.org>
11385
11386         pipe2: Simplify code.
11387         * lib/pipe2.c (pipe2): Reduce code duplication.
11388
11389 2011-04-17  Bruno Haible  <bruno@clisp.org>
11390
11391         nonblocking: Add comment.
11392         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
11393
11394 2011-04-17  Bruno Haible  <bruno@clisp.org>
11395
11396         nonblocking: Add tests for sockets.
11397         * tests/test-nonblocking-socket.sh: New file.
11398         * tests/test-nonblocking-socket-main.c: New file.
11399         * tests/test-nonblocking-socket-child.c: New file.
11400         * tests/test-nonblocking-socket.h: New file.
11401         * tests/socket-server.h: New file.
11402         * tests/socket-client.h: New file.
11403         * modules/nonblocking-socket-tests: New file.
11404         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
11405
11406 2011-04-17  Bruno Haible  <bruno@clisp.org>
11407
11408         nonblocking: Add tests for pipes.
11409         * tests/test-nonblocking-pipe.sh: New file.
11410         * tests/test-nonblocking-pipe-main.c: New file.
11411         * tests/test-nonblocking-pipe-child.c: New file.
11412         * tests/test-nonblocking-pipe.h: New file.
11413         * tests/test-nonblocking-writer.h: New file.
11414         * tests/test-nonblocking-reader.h: New file.
11415         * tests/test-nonblocking-misc.h: New file.
11416         * modules/nonblocking-pipe-tests: New file.
11417         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
11418
11419 2011-04-16  Bruno Haible  <bruno@clisp.org>
11420
11421         gettext: Clarify the needed programmer actions.
11422         * modules/gettext (Notice): New field.
11423         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
11424
11425 2011-04-16  Bruno Haible  <bruno@clisp.org>
11426
11427         strchrnul: Tweak last commit.
11428         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
11429         bug.
11430         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
11431         as in _GL_FUNCDECL_SYS.
11432         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
11433         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
11434
11435 2011-04-15  Eric Blake  <eblake@redhat.com>
11436
11437         strchrnul: work around cygwin bug
11438         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
11439         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
11440         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
11441         * modules/string (Makefile.am): Substitute it.
11442         * lib/string.in.h (strchrnul): Use it.
11443
11444 2011-04-15  Bruno Haible  <bruno@clisp.org>
11445
11446         Don't require lib/stdio-write.c when only module 'stdio' is used.
11447         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
11448         invocation.
11449         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
11450
11451 2011-04-14  Bruno Haible  <bruno@clisp.org>
11452
11453         Support non-blocking pipe I/O in read() on native Windows.
11454         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
11455         (read): New declaration.
11456         * lib/read.c: New file.
11457         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
11458         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
11459         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
11460         vscanf): New declarations.
11461         * lib/stdio-read.c: New file.
11462         * m4/read.m4: New file.
11463         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11464         REPLACE_READ.
11465         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11466         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11467         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11468         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11469         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11470         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11471         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11472         * modules/read: New file.
11473         * modules/nonblocking (Files): Add lib/stdio-read.c.
11474         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11475         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11476         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11477         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11478         * modules/pread (Depends-on): Add read.
11479         * modules/safe-read (Depends-on): Likewise.
11480         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11481         gets, scanf, vfscanf, vscanf): Verify signatures.
11482         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11483         problem with non-blocking pipes.
11484         * doc/posix-functions/fgetc.texi: Likewise.
11485         * doc/posix-functions/fgets.texi: Likewise.
11486         * doc/posix-functions/fread.texi: Likewise.
11487         * doc/posix-functions/fscanf.texi: Likewise.
11488         * doc/posix-functions/getc.texi: Likewise.
11489         * doc/posix-functions/getchar.texi: Likewise.
11490         * doc/posix-functions/gets.texi: Likewise.
11491         * doc/posix-functions/scanf.texi: Likewise.
11492         * doc/posix-functions/vfscanf.texi: Likewise.
11493         * doc/posix-functions/vscanf.texi: Likewise.
11494
11495 2011-04-14  Bruno Haible  <bruno@clisp.org>
11496
11497         Support non-blocking pipe I/O in write() on native Windows.
11498         * lib/write.c (rpl_write): Split a write request that failed merely
11499         because the byte count was larger than the pipe buffer's size.
11500         * doc/posix-functions/write.texi: Mention the problem with large byte
11501         counts.
11502
11503 2011-04-14  Bruno Haible  <bruno@clisp.org>
11504
11505         wchar: Ensure that wchar_t gets defined on uClibc.
11506         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11507         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11508
11509 2011-04-13  Bruno Haible  <bruno@clisp.org>
11510
11511         safe-write, full-read: Avoid unnecessary compilation units.
11512         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11513         (Depends-on): Remove safe-read. Add ssize_t.
11514         * modules/full-read (Files): Add lib/full-write.c.
11515         (Depends-on): Add full-write.
11516
11517 2011-04-13  Bruno Haible  <bruno@clisp.org>
11518
11519         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11520         * modules/pwrite (Depends-on): Add 'write'.
11521
11522 2011-04-13  Bruno Haible  <bruno@clisp.org>
11523
11524         Support non-blocking pipe I/O in write() on native Windows.
11525         * lib/unistd.in.h (write): Enable replacement also if
11526         GNULIB_UNISTD_H_NONBLOCKING is 1.
11527         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
11528         (rpl_write): When failing to write on a non-blocking pipe, change
11529         errno from ENOSPC to EAGAIN.
11530         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
11531         putchar, puts, vfprintf, vprintf): Enable replacement also if
11532         GNULIB_STDIO_H_NONBLOCKING is 1.
11533         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
11534         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
11535         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
11536         CALL_WITH_SIGPIPE_EMULATION.
11537         (CALL_WITH_SIGPIPE_EMULATION): Use them.
11538         * m4/nonblocking.m4: New file.
11539         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
11540         for non-blocking I/O support.
11541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11542         GNULIB_UNISTD_H_NONBLOCKING.
11543         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
11544         required for non-blocking I/O support.
11545         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
11546         * modules/nonblocking (Files): Add m4/nonblocking.m4,
11547         lib/stdio-write.c, m4/asm-underscore.m4.
11548         (Depends-on): Add stdio, unistd.
11549         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
11550         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
11551         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
11552         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
11553         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
11554         problem with non-blocking pipes.
11555         * doc/posix-functions/fputc.texi: Likewise.
11556         * doc/posix-functions/fputs.texi: Likewise.
11557         * doc/posix-functions/fwrite.texi: Likewise.
11558         * doc/posix-functions/printf.texi: Likewise.
11559         * doc/posix-functions/putc.texi: Likewise.
11560         * doc/posix-functions/putchar.texi: Likewise.
11561         * doc/posix-functions/puts.texi: Likewise.
11562         * doc/posix-functions/vfprintf.texi: Likewise.
11563         * doc/posix-functions/vprintf.texi: Likewise.
11564         * doc/posix-functions/write.texi: Likewise.
11565
11566 2011-04-10  Jim Meyering  <meyering@redhat.com>
11567
11568         maint.mk: prohibit doubled words
11569         Detect them also when they're separated by a newline.
11570         There are 3 ways to customize it:
11571           - disable the test on a per file basis, as usual with rules using
11572             $(VC_LIST_EXCEPT)
11573           - replace the default doubled-word-selecting regexp (affects all files)
11574           - ignore a particular file-vs-doubled-word match
11575         I nearly used that last one to ignore the "is is" match in
11576         coreutils' NEWS file, since the text was "ls -is is ..."
11577         To do that, I would have added this line to cfg.mk:
11578           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
11579         but it would have ignored any "is is" match in NEWS.
11580         Low probability, but still...
11581         Instead, I changed the text, slightly:
11582           -  ls -is is now consistent with ls -lis in ignoring values returned
11583           +  "ls -is" is now consistent with ls -lis in ignoring values returned
11584         * top/maint.mk (prohibit_double_word_RE_): Provide default.
11585         (prohibit_doubled_word_): Define.
11586         (sc_prohibit_doubled_word): New rule.
11587         (sc_prohibit_the_the): Remove.  Subsumed by the above.
11588
11589 2011-04-10  Jim Meyering  <meyering@redhat.com>
11590
11591         maint: fix doubled-word typo in comment
11592         * m4/gethostname.m4: s/is is/it is/
11593         * m4/getdomainname.m4: Likewise.
11594
11595 2011-04-10  Jim Meyering  <meyering@redhat.com>
11596
11597         maint: remove doubled word: s/it it/it/
11598         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
11599
11600 2011-04-10  Jim Meyering  <meyering@redhat.com>
11601
11602         maint.mk: remove useless semicolon and backslash
11603         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
11604         semicolon and backslash.
11605
11606 2011-04-10  Bruno Haible  <bruno@clisp.org>
11607
11608         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
11609         * modules/stdint-tests (Depends-on): Add wchar.
11610
11611 2011-04-10  Jim Meyering  <meyering@redhat.com>
11612
11613         maint: remove doubled words in comments, e.g., s/a a/a/
11614         * lib/strptime.c (day_of_the_week): s/the the/the/
11615         * tests/test-chown.h (test_chown): s/a a/a/
11616
11617         test-chown.h: correct a cast
11618         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
11619         when the destination is a stat.st_gid.
11620
11621 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
11622
11623         getaddrinfo: Fix test for sa_len member.
11624         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
11625         include <sys/types.h> before <sys/socket.h>.
11626
11627 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11628
11629         maint: change "can not" to "cannot"
11630         * doc/posix-functions/iconv.texi (iconv): This one crossed line
11631         boundaries.
11632
11633 2011-04-09  Jim Meyering  <meyering@redhat.com>
11634
11635         maint: change "a a" to "a"
11636         * tests/test-lchown.h (test_lchown): s/a a/a/
11637
11638         maint.mk: prohibit \<the the\>
11639         * top/maint.mk (sc_prohibit_the_the): New rule.
11640
11641         maint: fix "the the" in comment
11642         * lib/count-one-bits.h: s/the the/the/
11643
11644         maint: change "can not" to "cannot"
11645         But do not change the occurrences in maintain.texi or in
11646         build-aux/po/Makefile.in.in, which I presume comes from gettext.
11647         * doc/gnulib-tool.texi: s/can not/cannot/
11648         * doc/posix-functions/accept.texi (accept): Likewise.
11649         * doc/posix-functions/socket.texi (socket): Likewise.
11650         * lib/mbrtowc.c: Likewise.
11651
11652         maint.mk: prohibit use of "can not"
11653         * top/maint.mk (sc_prohibit_can_not): New rule.
11654         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
11655
11656 2011-04-09  Bruno Haible  <bruno@clisp.org>
11657
11658         careadlinkat: Guard against misuse of careadlinkatcwd.
11659         * lib/careadlinkat.c: Include <stdlib.h>.
11660         (careadlinkatcwd): Check that the fd argument is as expected.
11661
11662 2011-04-09  Bruno Haible  <bruno@clisp.org>
11663
11664         careadlinkat: Use common coding style.
11665         * lib/careadlinkat.c: Move gnulib includes after system includes.
11666
11667 2011-04-09  Bruno Haible  <bruno@clisp.org>
11668
11669         careadlinkat: Clarify specification.
11670         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
11671         (careadlinkatcwd): Add comment.
11672         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
11673
11674 2011-04-09  Bruno Haible  <bruno@clisp.org>
11675
11676         areadlinkat: Avoid link error on many platforms.
11677         * modules/areadlinkat (Depends-on): Add areadlink.
11678
11679 2011-04-09  Bruno Haible  <bruno@clisp.org>
11680
11681         allocator, careadlinkat: Fix double-inclusion guard.
11682         * lib/allocator.h: Fix double-inclusion guard.
11683         * lib/careadlinkat.h: Likewise.
11684
11685 2011-04-09  Bruno Haible  <bruno@clisp.org>
11686
11687         relocatable-prog-wrapper: Update after module 'areadlink' changed.
11688         * lib/relocwrapper.c: Update dependencies hierarchy.
11689         * build-aux/install-reloc: Update list of files to be compiled.
11690         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
11691         lib/allocator.[hc].
11692
11693 2011-04-08  Eric Blake  <eblake@redhat.com>
11694
11695         strftime: silence gnulib-tool warning
11696         * modules/strftime-tests (Depends-on): Drop automatic dependency.
11697
11698 2011-04-08  Bruno Haible  <bruno@clisp.org>
11699
11700         verify: Fix syntax error with GCC 4.6 in C++ mode.
11701         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
11702         (HAVE_STATIC_ASSERT): New macro.
11703         (verify_true, verify): Use 'static_assert' if it is supported and
11704         '_Static_assert' is not supported.
11705
11706 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11707
11708         allocator: New module.
11709         * modules/allocator, lib/allocator.c: New files.
11710         * lib/allocator.h (stdlib_allocator): New decl.
11711         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
11712         Remove.  Do not include <stdlib.h>.
11713         (careadlinkat): Use stdlib_allocator instead of rolling our own.
11714         * modules/careadlinkat (Files): Remove lib/allocator.h.
11715         (Depends-on): Add allocator.
11716
11717         stdlib: let modules use system malloc, realloc
11718         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
11719         if !_GL_USE_STDLIB_ALLOC.
11720         (malloc, realloc): Limit this change to a smaller scope.
11721
11722         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
11723         (malloc, realloc): Don't #undef; no longer needed.
11724         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11725         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11726         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11727         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11728         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11729         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11730         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11731         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11732
11733         careadlinkat: rename members to avoid problem
11734         * lib/allocator.h (struct allocator): Rename members from
11735         malloc/realloc to allocate/reallocate, to avoid problems if malloc
11736         and realloc are #define'd.  Reported by Eric Blake in
11737         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
11738         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
11739
11740 2011-04-08  Eric Blake  <eblake@redhat.com>
11741
11742         nonblocking: reduce dependency
11743         * tests/test-nonblocking.c: Only test sockets when in use.
11744         * modules/nonblocking-tests (Depends-on): Drop socket.
11745         (Makefile.am): Link even if sockets are not present.
11746         * modules/pipe2-tests (Makefile.am): Likewise.
11747         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
11748
11749         pipe2: fix O_NONBLOCK support on mingw
11750         * modules/pipe2 (Depends-on): Add nonblocking.
11751         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
11752         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
11753         * tests/test-nonblocking.c (main): Likewise.
11754         * modules/pipe2-tests (Makefile.am): Avoid link failure.
11755
11756         fcntl-h: fix O_ACCMODE on cygwin
11757         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
11758         * lib/fcntl.in.h (O_ACCMODE): Fix it.
11759
11760         pipe-filter: drop O_NONBLOCK workarounds
11761         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
11762         * modules/pipe-filter-ii (Depends-on): Likewise.
11763         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
11764
11765         nonblocking: provide O_NONBLOCK for mingw
11766         * modules/nonblocking (Depends-on): Add open.
11767         (configure.ac): Set new witness macro.
11768         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
11769         * modules/fcntl-h (Makefile.am): Substitute it.
11770         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
11771         nonblocking module is in use.
11772         * lib/nonblocking.c: Adjust portability test.
11773         * lib/open.c (open): Don't let native open see gnulib flag.
11774         * tests/test-fcntl-h.c (main): Enhance test.
11775         * tests/test-open.h (test_open): Likewise.
11776         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
11777
11778         careadlinkat: fix compilation error on mingw
11779         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
11780         within struct allocator.
11781
11782 2011-04-06  Eric Blake  <eblake@redhat.com>
11783
11784         binary-io: relicense under LGPLv2+
11785         * modules/binary-io (License): Relax to LGPLv2+.
11786         Requested for libvirt, and required by pipe2.
11787
11788 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
11789
11790         verify: use _Static_assert if available
11791         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
11792         (verify_true, verify): Use it if available.  This generates better
11793         diagnostics with GCC 4.6.0 and later.
11794
11795 2011-04-05  Bruno Haible  <bruno@clisp.org>
11796
11797         Remove leftover generated .h files after config.status changed.
11798
11799         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
11800         GL_GENERATE_ALLOCA_H.
11801         * modules/alloca-opt (Makefile.am): Remove alloca.h if
11802         GL_GENERATE_ALLOCA_H evaluates to false.
11803
11804         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
11805         GL_GENERATE_ARGZ_H.
11806         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
11807         evaluates to false.
11808
11809         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
11810         GL_GENERATE_BYTESWAP_H.
11811         * modules/byteswap (Makefile.am): Remove byteswap.h if
11812         GL_GENERATE_BYTESWAP_H evaluates to false.
11813
11814         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
11815         GL_GENERATE_ERRNO_H.
11816         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
11817         evaluates to false.
11818
11819         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
11820         GL_GENERATE_FLOAT_H.
11821         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
11822         evaluates to false.
11823
11824         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
11825         GL_GENERATE_FNMATCH_H.
11826         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
11827         GL_GENERATE_FNMATCH_H evaluates to false.
11828
11829         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
11830         GL_GENERATE_GLOB_H.
11831         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
11832         evaluates to false.
11833
11834         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
11835         automake conditional GL_GENERATE_ICONV_H.
11836         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
11837         evaluates to false.
11838
11839         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
11840         GL_GENERATE_NETINET_IN_H.
11841         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
11842         GL_GENERATE_NETINET_IN_H evaluates to false.
11843
11844         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
11845         conditional GL_GENERATE_PTHREAD_H.
11846         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
11847         * modules/pthread (Makefile.am): Remove pthread.h if
11848         GL_GENERATE_PTHREAD_H evaluates to false.
11849
11850         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
11851         GL_GENERATE_SCHED_H.
11852         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
11853         evaluates to false.
11854
11855         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
11856         conditional GL_GENERATE_SELINUX_CONTEXT_H.
11857         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
11858         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
11859
11860         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
11861         GL_GENERATE_STDARG_H.
11862         * modules/stdarg (Makefile.am): Remove stdarg.h if
11863         GL_GENERATE_STDARG_H evaluates to false.
11864
11865         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
11866         GL_GENERATE_STDBOOL_H.
11867         * modules/stdbool (Makefile.am): Remove stdbool.h if
11868         GL_GENERATE_STDBOOL_H evaluates to false.
11869
11870         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
11871         conditional GL_GENERATE_STDDEF_H.
11872         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
11873         * modules/stddef (Makefile.am): Remove stddef.h if
11874         GL_GENERATE_STDDEF_H evaluates to false.
11875
11876         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
11877         GL_GENERATE_STDINT_H.
11878         * modules/stdint (Makefile.am): Remove stdint.h if
11879         GL_GENERATE_STDINT_H evaluates to false.
11880
11881         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
11882         GL_GENERATE_SYSEXITS_H.
11883         * modules/sysexits (Makefile.am): Remove sysexits.h if
11884         GL_GENERATE_SYSEXITS_H evaluates to false.
11885
11886         Reported by Karl Berry and Ralf Wildenhues.
11887
11888 2011-04-05  Bruno Haible  <bruno@clisp.org>
11889
11890         Ensure to rebuild generated .h files when config.status has changed.
11891         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
11892         config.status.
11893         * modules/ctype (Makefile.am): Likewise.
11894         * modules/dirent (Makefile.am): Likewise.
11895         * modules/errno (Makefile.am): Likewise.
11896         * modules/fcntl-h (Makefile.am): Likewise.
11897         * modules/float (Makefile.am): Likewise.
11898         * modules/getopt-posix (Makefile.am): Likewise.
11899         * modules/glob (Makefile.am): Likewise.
11900         * modules/iconv-h (Makefile.am): Likewise.
11901         * modules/inttypes (Makefile.am): Likewise.
11902         * modules/langinfo (Makefile.am): Likewise.
11903         * modules/locale (Makefile.am): Likewise.
11904         * modules/math (Makefile.am): Likewise.
11905         * modules/netdb (Makefile.am): Likewise.
11906         * modules/netinet_in (Makefile.am): Likewise.
11907         * modules/poll-h (Makefile.am): Likewise.
11908         * modules/pthread (Makefile.am): Likewise.
11909         * modules/pty (Makefile.am): Likewise.
11910         * modules/sched (Makefile.am): Likewise.
11911         * modules/search (Makefile.am): Likewise.
11912         * modules/selinux-h (Makefile.am): Likewise.
11913         * modules/signal (Makefile.am): Likewise.
11914         * modules/spawn (Makefile.am): Likewise.
11915         * modules/stdarg (Makefile.am): Likewise.
11916         * modules/stdbool (Makefile.am): Likewise.
11917         * modules/stddef (Makefile.am): Likewise.
11918         * modules/stdint (Makefile.am): Likewise.
11919         * modules/stdio (Makefile.am): Likewise.
11920         * modules/stdlib (Makefile.am): Likewise.
11921         * modules/string (Makefile.am): Likewise.
11922         * modules/strings (Makefile.am): Likewise.
11923         * modules/sys_file (Makefile.am): Likewise.
11924         * modules/sys_ioctl (Makefile.am): Likewise.
11925         * modules/sys_select (Makefile.am): Likewise.
11926         * modules/sys_socket (Makefile.am): Likewise.
11927         * modules/sys_stat (Makefile.am): Likewise.
11928         * modules/sys_time (Makefile.am): Likewise.
11929         * modules/sys_times (Makefile.am): Likewise.
11930         * modules/sys_utsname (Makefile.am): Likewise.
11931         * modules/sys_wait (Makefile.am): Likewise.
11932         * modules/sysexits (Makefile.am): Likewise.
11933         * modules/termios (Makefile.am): Likewise.
11934         * modules/time (Makefile.am): Likewise.
11935         * modules/unistd (Makefile.am): Likewise.
11936         * modules/wchar (Makefile.am): Likewise.
11937         * modules/wctype-h (Makefile.am): Likewise.
11938         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
11939
11940 2011-04-05  Bruno Haible  <bruno@clisp.org>
11941
11942         pipe2: Relicense under LGPLv2+.
11943         * modules/pipe2 (License): Change to LGPLv2+.
11944         Requested by Eric Blake, for libvirt.
11945
11946 2011-04-05  Bruce Korb  <bkorb@gnu.org>
11947
11948         bootstrap: compute gnulib_extra_files after updating build_aux
11949         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
11950         change build_aux or also supply gnulib_extra_files.  Handle correctly.
11951
11952 2011-04-05  Eric Blake  <eblake@redhat.com>
11953
11954         bootstrap: preserve git whitelist item sorting
11955         * build-aux/bootstrap (sort_patterns): New function.
11956         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
11957
11958 2011-04-05  Simon Josefsson  <simon@josefsson.org>
11959
11960         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
11961         sc_space_tab check.
11962
11963 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
11964
11965         areadlink, areadlinkat: rewrite in terms of careadlinkat
11966         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
11967         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
11968         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
11969         (malloc, realloc): Remove #undefs.
11970         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
11971         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
11972         readlink, ssize_t, stdint, unistd.
11973         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
11974         areadlink, stdint.
11975
11976         careadlinkat: new module
11977         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
11978         * modules/careadlinkat: New files, written by me with
11979         a review and feedback from Ben Pfaff in
11980         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
11981
11982 2011-04-01  Bruno Haible  <bruno@clisp.org>
11983
11984         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
11985         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
11986         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
11987         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
11988         Reported by Bruce Korb <bruce.korb@gmail.com>.
11989
11990 2011-04-01  Bruno Haible  <bruno@clisp.org>
11991
11992         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
11993         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
11994         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
11995         * modules/wcpcpy (Depends-on): Add extensions.
11996         * modules/wcpncpy (Depends-on): Likewise.
11997         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
11998         systems.
11999         * doc/posix-functions/wcpncpy.texi: Likewise.
12000         * doc/posix-functions/wcwidth.texi: Likewise.
12001
12002 2011-03-31  Eric Blake  <eblake@redhat.com>
12003
12004         nonblocking: fix mingw test failures
12005         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
12006         non-blocking flag on regular file.
12007         (get_nonblocking_flag): Set errno on invalid fd.
12008         * tests/test-nonblocking.c (main): Avoid test failure on
12009         directories if fchdir is not active.
12010         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
12011
12012 2011-03-31  Bruno Haible  <bruno@clisp.org>
12013
12014         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
12015         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
12016         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
12017         Reported by Simon Josefsson <simon@josefsson.org>.
12018
12019 2011-03-31  Bruno Haible  <bruno@clisp.org>
12020         and Eric Blake  <eblake@redhat.com>
12021
12022         nonblocking: new module
12023         * modules/nonblocking: New module.
12024         * modules/nonblocking-tests: Likewise.
12025         * lib/nonblocking.h: New file.
12026         * lib/nonblocking.c: Likewise.
12027         * tests/test-nonblocking.c: New test.
12028         * lib/ioctl.c (ioctl) [mingw]: Update comment.
12029
12030 2011-03-30  Bruno Haible  <bruno@clisp.org>
12031
12032         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
12033         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
12034         instead of 'printf' format for GCC >= 4.4.
12035         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
12036         (fprintf, printf, vfprintf, vprintf): Declare with
12037         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
12038         the system's vfprintf() function.
12039         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
12040
12041 2011-03-30  Eric Blake  <eblake@redhat.com>
12042
12043         passfd: fix scoping bug
12044         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
12045         before sendmsg/recvmsg.
12046
12047         passfd: standardize coding conventions
12048         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
12049         can be learned at compile time.
12050         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
12051         ifdefs.
12052         (sendfd, recvfd): Follow gnulib code conventions.
12053
12054         passfd: fix incorrect sendmsg arguments
12055         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
12056         incorrect msg_controllen value.
12057         * modules/passfd-tests (Depends-on): Check for alarm.
12058         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
12059         Reported by Bastien ROUCARIES.
12060
12061 2011-03-30  Bruno Haible  <bruno@clisp.org>
12062
12063         c-strcasestr: Relicense under LGPLv2+.
12064         * modules/c-strcasestr (License): Change to LGPLv2+.
12065         Requested by Eric Blake, for libvirt.
12066
12067 2011-03-30  Simon Josefsson  <simon@josefsson.org>
12068
12069         * users.txt: Add libidn2.  Fix libtasn1 link.
12070
12071 2011-03-30  Jim Meyering  <meyering@redhat.com>
12072
12073         tests: readlink* ("",... fails with EINVAL on newer kernels
12074         readlink and readlinkat have typically failed with ENOENT for
12075         the invalid, empty file name,  "".  However, with the advent
12076         of linux-2.6.39, they fail with EINVAL.
12077         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
12078         when operating on the empty file name.
12079         * tests/test-readlink.h (test_readlink): Likewise.
12080
12081 2011-03-29  Bruno Haible  <bruno@clisp.org>
12082
12083         Relicense some modules under LGPLv2+, for libidn2.
12084         * modules/array-mergesort (License): Change to LGPLv2+.
12085         * modules/c-strcaseeq (License): Likewise.
12086         * modules/striconveh (License): Likewise.
12087         * modules/striconveha (License): Likewise.
12088         * modules/uniconv/base (License): Likewise.
12089         * modules/uniconv/u8-conv-from-enc (License): Likewise.
12090         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
12091         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
12092         * modules/unictype/base (License): Likewise.
12093         * modules/unictype/bidiclass-of (License): Likewise.
12094         * modules/unictype/category-M (License): Likewise.
12095         * modules/unictype/category-none (License): Likewise.
12096         * modules/unictype/category-of (License): Likewise.
12097         * modules/unictype/category-test (License): Likewise.
12098         * modules/unictype/category-test-withtable (License): Likewise.
12099         * modules/unictype/combining-class (License): Likewise.
12100         * modules/unictype/joiningtype-of (License): Likewise.
12101         * modules/unictype/scripts (License): Likewise.
12102         * modules/uninorm/base (License): Likewise.
12103         * modules/uninorm/canonical-decomposition (License): Likewise.
12104         * modules/uninorm/composition (License): Likewise.
12105         * modules/uninorm/decompose-internal (License): Likewise.
12106         * modules/uninorm/decomposition-table (License): Likewise.
12107         * modules/uninorm/nfc (License): Likewise.
12108         * modules/uninorm/nfd (License): Likewise.
12109         * modules/uninorm/u32-normalize (License): Likewise.
12110         * modules/unistr/base (License): Likewise.
12111         * modules/unistr/u32-cpy (License): Likewise.
12112         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
12113         * modules/unistr/u32-to-u8 (License): Likewise.
12114         * modules/unistr/u32-uctomb (License): Likewise.
12115         * modules/unistr/u8-check (License): Likewise.
12116         * modules/unistr/u8-mblen (License): Likewise.
12117         * modules/unistr/u8-mbtouc (License): Likewise.
12118         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
12119         * modules/unistr/u8-mbtoucr (License): Likewise.
12120         * modules/unistr/u8-prev (License): Likewise.
12121         * modules/unistr/u8-strlen (License): Likewise.
12122         * modules/unistr/u8-to-u32 (License): Likewise.
12123         * modules/unistr/u8-uctomb (License): Likewise.
12124         * modules/unitypes (License): Likewise.
12125         Requested by Simon Josefsson.
12126
12127 2011-03-29  Simon Josefsson  <simon@josefsson.org>
12128
12129         lib-symbol-visibility: Add a notice.
12130         * modules/lib-symbol-visibility (Notice): New field.
12131
12132 2011-03-29  Bruno Haible  <bruno@clisp.org>
12133
12134         getaddrinfo: Doc fix.
12135         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
12136         section "fixed in Gnulib".
12137
12138 2011-03-28  Simon Josefsson  <simon@josefsson.org>
12139
12140         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
12141         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
12142
12143 2011-03-26  Bruno Haible  <bruno@clisp.org>
12144
12145         unictype/property-byname: Reduce the number of load-time relocations.
12146         * lib/unictype/pr_byname.c: Include <stdlib.h>.
12147         (UC_PROPERTY_INDEX_*): New enumeration values.
12148         (uc_property_byname): Convert an index from the lookup table to an
12149         uc_property_t.
12150         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
12151         values.
12152
12153 2011-03-26  Bruno Haible  <bruno@clisp.org>
12154
12155         unictype/property-byname: Allow omitted word separators and aliases.
12156         * lib/unictype/pr_byname.gperf: Add property names without word
12157         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
12158         for 'space'.
12159
12160 2011-03-26  Bruno Haible  <bruno@clisp.org>
12161
12162         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
12163         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
12164         also hyphens to space.
12165         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
12166         without spaces.
12167         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
12168
12169 2011-03-26  Bruno Haible  <bruno@clisp.org>
12170
12171         unictype/joiningtype-byname: Recognize long names as well.
12172         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
12173         a long name.
12174         * lib/unictype/joiningtype_byname.c: Include <string.h>,
12175         unictype/joiningtype_byname.h.
12176         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
12177         * lib/unictype/joiningtype_byname.gperf: New file.
12178         * modules/unictype/joiningtype-byname (Files): Add
12179         lib/unictype/joiningtype_byname.gperf.
12180         (Depends-on): Add gperf.
12181         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
12182         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
12183         long names.
12184
12185         Tests for module 'unictype/joiningtype-longname'.
12186         * modules/unictype/joiningtype-longname-tests: New file.
12187         * tests/unictype/test-joiningtype_longname.c: New file.
12188
12189         New module 'unictype/joiningtype-longname'.
12190         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
12191         * lib/unictype/joiningtype_longname.c: New file.
12192         * modules/unictype/joiningtype-longname: New file.
12193         * modules/unictype/joiningtype-all (Depends-on): Add
12194         unictype/joiningtype-longname.
12195
12196 2011-03-26  Bruno Haible  <bruno@clisp.org>
12197
12198         unictype/bidiclass-byname: Recognize long names as well.
12199         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
12200         name.
12201         * lib/unictype/bidi_byname.c: Include <string.h>,
12202         unictype/bidi_byname.h.
12203         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
12204         * lib/unictype/bidi_byname.gperf: New file.
12205         * modules/unictype/bidiclass-byname (Files): Add
12206         lib/unictype/bidi_byname.gperf.
12207         (Depends-on): Add gperf.
12208         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
12209         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
12210         long names.
12211
12212         Tests for module 'unictype/bidiclass-longname'.
12213         * modules/unictype/bidiclass-longname-tests: New file.
12214         * tests/unictype/test-bidi_longname.c: New file.
12215
12216         New module 'unictype/bidiclass-longname'.
12217         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
12218         * lib/unictype/bidi_longname.c: New file.
12219         * modules/unictype/bidiclass-longname: New file.
12220         * modules/unictype/bidiclass-all (Depends-on): Add
12221         unictype/bidiclass-longname.
12222
12223 2011-03-26  Bruno Haible  <bruno@clisp.org>
12224
12225         unictype/bidi*: Rename modules.
12226         * modules/unictype/bidiclass-all: Renamed from
12227         modules/unictype/bidicategory-all.
12228         * modules/unictype/bidiclass-name: Renamed from
12229         modules/unictype/bidiclass-name.
12230         (Description): Update.
12231         * modules/unictype/bidiclass-name-tests: Renamed from
12232         modules/unictype/bidicategory-name-tests.
12233         * modules/unictype/bidiclass-byname: Renamed from
12234         modules/unictype/bidicategory-byname.
12235         (Description): Update.
12236         * modules/unictype/bidiclass-byname-tests: Renamed from
12237         modules/unictype/bidicategory-byname-tests.
12238         * modules/unictype/bidiclass-of: Renamed from
12239         modules/unictype/bidicategory-of.
12240         (Description): Update.
12241         * modules/unictype/bidiclass-of-tests: Renamed from
12242         modules/unictype/bidicategory-of-tests.
12243         * modules/unictype/bidiclass-test: Renamed from
12244         modules/unictype/bidicategory-test.
12245         (Description): Update.
12246         * modules/unictype/bidiclass-test-tests: Renamed from
12247         modules/unictype/bidicategory-test-tests.
12248         * modules/unictype/bidicategory-all: New file, a simple redirection.
12249         * modules/unictype/bidicategory-name: Likewise.
12250         * modules/unictype/bidicategory-byname: Likewise.
12251         * modules/unictype/bidicategory-of: Likewise.
12252         * modules/unictype/bidicategory-test: Likewise.
12253         * modules/unictype/property-bidi-* (Dependencies): Update.
12254         * lib/unictype/bidi_*.c: Update comment.
12255
12256 2011-03-26  Bruno Haible  <bruno@clisp.org>
12257
12258         unictype/bidi*: Rename functions, part 2.
12259         * modules/unictype/bidicategory-name (configure.ac): Update required
12260         libunistring version.
12261         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
12262
12263 2011-03-25  Bruno Haible  <bruno@clisp.org>
12264
12265         New module 'unictype/combining-class-all'.
12266         * modules/unictype/combining-class-all: New file.
12267
12268         Tests for module 'unictype/combining-class-byname'.
12269         * modules/unictype/combining-class-byname-tests: New file.
12270         * tests/unictype/test-combiningclass_byname.c: New file.
12271
12272         New module 'unictype/combining-class-byname'.
12273         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
12274         * lib/unictype/combiningclass_byname.c: New file.
12275         * lib/unictype/combiningclass_byname.gperf: New file.
12276         * modules/unictype/combining-class-byname: New file.
12277
12278         Tests for module 'unictype/combining-class-longname'.
12279         * modules/unictype/combining-class-longname-tests: New file.
12280         * tests/unictype/test-combiningclass_longname.c: New file.
12281
12282         New module 'unictype/combining-class-longname'.
12283         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
12284         * lib/unictype/combiningclass_longname.c: New file.
12285         * modules/unictype/combining-class-longname: New file.
12286
12287         Tests for module 'unictype/combining-class-name'.
12288         * modules/unictype/combining-class-name-tests: New file.
12289         * tests/unictype/test-combiningclass_name.c: New file.
12290
12291         New module 'unictype/combining-class-name'.
12292         * lib/unictype.in.h (uc_combining_class_name): New declaration.
12293         * lib/unictype/combiningclass_name.c: New file.
12294         * modules/unictype/combining-class-name: New file.
12295
12296 2011-03-25  Bruno Haible  <bruno@clisp.org>
12297
12298         unictype/combining-class: Rename source files.
12299         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
12300         of unictype/combining.h.
12301         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
12302         Update.
12303         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
12304         * modules/unictype/combining-class (Description): Fix.
12305         (Files, Makefile.am): Update.
12306         * tests/unictype/test-combiningclass.c: Renamed from
12307         tests/unictype/test-combining.c.
12308         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
12309
12310 2011-03-25  Bruno Haible  <bruno@clisp.org>
12311
12312         unictype: Update list of canonical combining classes.
12313         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
12314
12315 2011-03-25  Bruno Haible  <bruno@clisp.org>
12316
12317         unictype/category-byname: Recognize long names as well.
12318         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
12319         a long name.
12320         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
12321         unictype/categ_byname.h.
12322         (UC_CATEGORY_INDEX_*): New enumeration values.
12323         (uc_general_category_byname): Use uc_general_category_lookup and
12324         convert from index to value.
12325         * lib/unictype/categ_byname.gperf: New file.
12326         * modules/unictype/category-byname (Files): Add
12327         lib/unictype/categ_byname.gperf.
12328         (Depends-on): Add gperf.
12329         (Makefile.am): Add rule for generating unictype/categ_byname.h.
12330         * tests/unictype/test-categ_byname.c (main): Test the recognition of
12331         long names.
12332
12333         Tests for module 'unictype/category-longname'.
12334         * modules/unictype/category-longname-tests: New file.
12335         * tests/unictype/test-categ_longname.c: New file.
12336
12337         New module 'unictype/category-longname'.
12338         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
12339         * lib/unictype/categ_longname.c: New file.
12340         * modules/unictype/category-longname: New file.
12341         * modules/unictype/category-all (Depends-on): Add it.
12342
12343 2011-03-25  Bruno Haible  <bruno@clisp.org>
12344
12345         Tests for module 'unictype/category-LC'.
12346         * modules/unictype/category-LC-tests: New file.
12347         * tests/unictype/test-categ_LC.c: New file, automatically generated.
12348
12349         New module 'unictype/category-LC'.
12350         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
12351         (UC_CATEGORY_LC): New declaration.
12352         (UC_CASED_LETTER): New macro.
12353         * lib/gen-uni-tables.c (is_category_LC): New function.
12354         (output_categories): Also handle category LC.
12355         (UC_CATEGORY_MASK_LC): New enumeration value.
12356         (general_category_byname): Also handle category LC.
12357         * lib/unictype/categ_LC.c: New file.
12358         * lib/unictype/categ_LC.h: New file, automatically generated.
12359         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
12360         category LC.
12361         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
12362         * modules/unictype/category-LC: New file.
12363         * modules/unictype/category-byname (Depends-on): Add
12364         unictype/category-LC.
12365         * modules/unictype/category-all (Depends-on): Likewise.
12366
12367 2011-03-25  Eric Blake  <eblake@redhat.com>
12368
12369         xmalloc: revert yesterday's regression
12370         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
12371         realloc's underlying behavior (allowing allocation of zero-size
12372         objects, especially if malloc-gnu is also in use).
12373
12374 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
12375
12376         maint.mk: add missing version to VC-tag
12377         * top/maint.mk: git tag was missing actual tag name; add it.
12378
12379         valgrind: do leak checking, and exit with code 1 on error (not 0)
12380         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
12381         to VALGRIND.
12382
12383 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
12384
12385         posix-modules: say what it does.
12386         * posix-modules: Add a line to the --help output saying what it does.
12387
12388 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12389
12390         xmalloc: Do not leak if underlying realloc is C99 compatible.
12391         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
12392         This avoids a leak on C99-based systems.  See
12393         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
12394
12395 2011-03-24  Eric Blake  <eblake@redhat.com>
12396
12397         realloc: document portability problem
12398         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
12399         passing 0 size to realloc.
12400
12401 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
12402
12403         doc: update users.txt
12404         * users.txt: Add cvsps, tmpwatch
12405
12406 2011-03-23  Matt Rice  <ratmice@gmail.com>
12407
12408         doc: update users.txt
12409         * users.txt: Add gdb.
12410
12411 2011-03-23  Jim Meyering  <meyering@redhat.com>
12412
12413         doc: update users.txt
12414         Looking through matches up to the following URL (there are still
12415         several more pages), I found several projects that use gnulib:
12416         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
12417         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
12418         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
12419
12420 2011-03-22  Bruno Haible  <bruno@clisp.org>
12421
12422         unictype/bidi*: Rename functions.
12423         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
12424         uc_bidi_class, uc_is_bidi_class): New declarations.
12425         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
12426         uc_bidi_category_byname.
12427         (uc_bidi_category_byname): New function.
12428         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
12429         u_bidi_category_name.
12430         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
12431         (uc_bidi_category_name): New function.
12432         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
12433         uc_bidi_category.
12434         (uc_bidi_category): New function.
12435         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
12436         uc_is_bidi_category. Invoke uc_bidi_class.
12437         (uc_is_bidi_category): New function.
12438         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
12439         instead of uc_bidi_category_byname.
12440         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
12441         instead of uc_bidi_category_name.
12442         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
12443         uc_bidi_category.
12444         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
12445         instead of uc_is_bidi_category.
12446
12447 2011-03-21  Bruno Haible  <bruno@clisp.org>
12448
12449         New module 'unictype/joininggroup-all'.
12450         * modules/unictype/joininggroup-all: New file.
12451
12452         Tests for module 'unictype/joininggroup-of'.
12453         * modules/unictype/joininggroup-of-tests: New file.
12454         * tests/unictype/test-joininggroup_of.c: New file.
12455         * tests/unictype/test-joininggroup_of.h: New file, automatically
12456         generated by gen-uni-tables.
12457
12458         New module 'unictype/joininggroup-of'.
12459         * modules/unictype/joininggroup-of: New file.
12460         * lib/unictype/joininggroup_of.c: New file.
12461         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12462         gen-uni-tables.
12463
12464         Tests for module 'unictype/joininggroup-byname'.
12465         * modules/unictype/joininggroup-byname-tests: New file.
12466         * tests/unictype/test-joininggroup_byname.c: New file.
12467
12468         New module 'unictype/joininggroup-byname'.
12469         * modules/unictype/joininggroup-byname: New file.
12470         * lib/unictype/joininggroup_byname.c: New file.
12471         * lib/unictype/joininggroup_byname.gperf: New file.
12472
12473         Tests for module 'unictype/joininggroup-name'.
12474         * modules/unictype/joininggroup-name-tests: New file.
12475         * tests/unictype/test-joininggroup_name.c: New file.
12476
12477         New module 'unictype/joininggroup-name'.
12478         * modules/unictype/joininggroup-name: New file.
12479         * lib/unictype/joininggroup_name.c: New file.
12480         * lib/unictype/joininggroup_name.h: New file.
12481
12482         New module 'unictype/joiningtype-all'.
12483         * modules/unictype/joiningtype-all: New file.
12484
12485         Tests for module 'unictype/joiningtype-of'.
12486         * modules/unictype/joiningtype-of-tests: New file.
12487         * tests/unictype/test-joiningtype_of.c: New file.
12488         * tests/unictype/test-joiningtype_of.h: New file, automatically
12489         generated by gen-uni-tables.
12490
12491         New module 'unictype/joiningtype-of'.
12492         * modules/unictype/joiningtype-of: New file.
12493         * lib/unictype/joiningtype_of.c: New file.
12494         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12495         gen-uni-tables.
12496
12497         Tests for module 'unictype/joiningtype-byname'.
12498         * modules/unictype/joiningtype-byname-tests: New file.
12499         * tests/unictype/test-joiningtype_byname.c: New file.
12500
12501         New module 'unictype/joiningtype-byname'.
12502         * modules/unictype/joiningtype-byname: New file.
12503         * lib/unictype/joiningtype_byname.c: New file.
12504
12505         Tests for module 'unictype/joiningtype-name'.
12506         * modules/unictype/joiningtype-name-tests: New file.
12507         * tests/unictype/test-joiningtype_name.c: New file.
12508
12509         New module 'unictype/joiningtype-name'.
12510         * modules/unictype/joiningtype-name: New file.
12511         * lib/unictype/joiningtype_name.c: New file.
12512
12513         unictype: Add support for Arabic shaping properties.
12514         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12515         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12516         declarations.
12517         (UC_JOINING_GROUP_*): New enumeration values.
12518         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12519         declarations.
12520         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12521         (unicode_joining_type): New variable.
12522         (UC_JOINING_GROUP_*): New enumeration values.
12523         (unicode_joining_group): New variable.
12524         (fill_arabicshaping, joining_type_as_c_identifier,
12525         output_joining_type_test, output_joining_type,
12526         joining_group_as_c_identifier, output_joining_group_test,
12527         output_joining_group): New functions.
12528         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
12529         fill_arabicshaping and output_joining_type_test, output_joining_type,
12530         output_joining_group_test, output_joining_group.
12531         Reported by Simon Josefsson.
12532
12533 2011-03-21  Jim Meyering  <meyering@redhat.com>
12534
12535         strftime: fix a bug in yesterday's change
12536         * lib/strftime.c (add): Accommodate width's initial value of -1.
12537         Otherwise, nstrftime would copy uninitialized data into
12538         the result buffer.
12539
12540 2011-03-21  Jim Meyering  <meyering@redhat.com>
12541
12542         tests: add strftime-tests module
12543         * tests/test-strftime.c: New file.
12544         * modules/strftime-tests: New module.
12545
12546 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12547
12548         strftime: don't assume a byte count fits in 'int'
12549         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
12550         found this problem by static analysis, using gcc -Wstrict-overflow
12551         (GCC 4.5.2, x86-64).  This reported an optimization that depended
12552         on an integer overflow having undefined behavior, but it turns out
12553         that the argument is a size, which might not fit in 'int' anyway,
12554
12555 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12556
12557         stdio: don't require ignore_value around fwrite
12558
12559         This patch works around libc bug 11959
12560         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
12561         Without this patch, applications must often write
12562         ignore_value (fwrite (...)) even though the ignore_value is
12563         not helpful here.  It's common to write many objects, using
12564         fwrite/printf/etc., and then use ferror to detect output error.
12565
12566         I considered making this patch optional, but decided against it,
12567         because libc is obviously being inconsistent here: there is no
12568         reason libc should insist that user code must inspect fwrite
12569         return's value without also insisting that it inspect printf's,
12570         putchar's, etc.  If user code wants to have a strict style where
12571         all these functions' values are checked (so that ferror need not
12572         be checked), we could add support for that style in a new gnulib
12573         module, but in the meantime it's better to be consistent and to
12574         support common usage.
12575
12576         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
12577         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
12578         that we are compiling in checking mode, and if not C++, and
12579         if not already wrapping fwrite for some other reason.
12580         (fwrite): #define to rpl_fwrite if the latter is defined.
12581
12582 2011-03-20  Bruno Haible  <bruno@clisp.org>
12583
12584         verror: Fix compilation error introduced on 2011-02-13.
12585         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
12586         instead of __attribute__.
12587         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12588
12589 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12590             Bruno Haible  <bruno@clisp.org>
12591
12592         socklen: do not depend on sys_socket
12593         While trying to modify Emacs to use gnulib's socklen module,
12594         I discovered a circular dependency: socklen depends on sys_socket
12595         and vice versa.  Emacs can use socklen, but it does not need
12596         sys_socket because it has its own substitute for sys/socket.h.
12597         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
12598         gl_TYPE_SOCKLEN_T.
12599         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
12600         gl_PREREQ_SYS_H_SOCKET.
12601         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
12602         gl_PREREQ_SYS_H_SOCKET.
12603         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
12604         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
12605         * modules/socklen (Depends-on): Do not depend on sys_socket.
12606         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
12607
12608 2011-03-20  Jim Meyering  <meyering@redhat.com>
12609
12610         maint.mk: sort file names *after* new transformation
12611         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
12612         prefix would have led to an unwarranted failure in GNU parted.
12613         Sort after that transformation.
12614
12615 2011-03-19  Jim Meyering  <meyering@redhat.com>
12616
12617         maint.mk: fix po-file syntax-check rule
12618         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
12619         Patch by Bruno Haible.
12620
12621 2011-03-19  Bruno Haible  <bruno@clisp.org>
12622
12623         socklen: Update comment.
12624         * m4/socklen.m4: Update comment about platforms.
12625
12626 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12627             Bruno Haible  <bruno@clisp.org>
12628
12629         inet_ntop, inet_pton: Simplify.
12630         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
12631         documented to provide socklen_t and we already depend on sys_socket.
12632         * modules/inet_pton (Depends-on): Likewise.
12633         * lib/arpa_inet.in.h: Adjust comment.
12634
12635 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12636             Bruno Haible  <bruno@clisp.org>
12637
12638         netdb: Simplify.
12639         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
12640         documented to provide socklen_t and we already depend on sys_socket.
12641         * lib/netdb.in.h: Adjust comment.
12642
12643 2011-03-19  Bruno Haible  <bruno@clisp.org>
12644
12645         sys_socket, netdb: Document problem with socklen_t.
12646         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
12647         platforms.
12648         * doc/posix-headers/netdb.texi: Likewise.
12649
12650 2011-03-18  Eric Blake  <eblake@redhat.com>
12651
12652         maint.mk: let po check work in VPATH build
12653         * top/maint.mk (po_file): Allow cfg.mk override.
12654         (sc_po_check): Allow VPATH use.
12655         Reported by Jiri Denemark.
12656
12657 2011-03-16  Jim Meyering  <meyering@redhat.com>
12658
12659         maint.mk: allow fine-grained syntax-check exclusion via Make variables
12660         Before, you would have had to create one .x-sc_ file per rule in order
12661         to exempt offending files.  Now, you may instead use a Make variable --
12662         usually defined in cfg.mk -- whose name identifies the affected rule.
12663         * top/maint.mk (_sc_excl): Define.
12664         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
12665         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
12666
12667 2011-03-13  Bruno Haible  <bruno@clisp.org>
12668
12669         ignore-value tests: Avoid warnings.
12670         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
12671         empty for gcc < 3.4.
12672
12673 2011-03-13  Bruno Haible  <bruno@clisp.org>
12674
12675         passfd: Fix link error on Solaris.
12676         * modules/passfd (Description): Correct.
12677         (Depends-on): Add socketlib.
12678         (Link): New section.
12679         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
12680
12681 2011-03-13  Bruno Haible  <bruno@clisp.org>
12682
12683         passfd: Fix link error on AIX 5.2.
12684         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
12685
12686 2011-03-13  Bruno Haible  <bruno@clisp.org>
12687
12688         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
12689         * lib/sys_socket.in.h: Include <stddef.h>.
12690         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
12691         CMSG_FIRSTHDR. Remove unused variable.
12692
12693 2011-03-13  Bruno Haible  <bruno@clisp.org>
12694
12695         passfd: Fix compilation error on OpenBSD.
12696         * lib/passfd.c: Include <sys/uio.h>.
12697
12698 2011-03-13  Bruno Haible  <bruno@clisp.org>
12699
12700         passfd test: Fix warnings.
12701         * tests/test-passfd.c: Include <sys/wait.h>.
12702         (main): Fix typo.
12703
12704 2011-03-13  Bruno Haible  <bruno@clisp.org>
12705
12706         passfd module, part 4, tweaks.
12707         * tests/test-passfd.c: Reorder includes.
12708         (main): Fix perror and printf calls.
12709
12710 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12711
12712         passfd module, part 4.
12713         * modules/passfd-tests: New file.
12714         * tests/test-passfd.c: New file.
12715
12716 2011-03-13  Jim Meyering  <meyering@redhat.com>
12717
12718         Makefile: rely on GNU make; derive syntax-check rule names
12719         Rather than requiring that each sc_ rule be listed as a dependent
12720         of "check", use features of GNU make to derive the list.
12721         * Makefile (syntax-check-rules): Define.
12722         (check): Depend on the new variable, not the hard-coded list.
12723
12724 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
12725             Bruno Haible  <bruno@clisp.org>
12726
12727         passfd module, part 3.
12728         * lib/passfd.h (recvfd): Add a flags argument.
12729         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
12730         (recvfd): Add a flags argument.
12731         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
12732         exists.
12733         * modules/passfd (Depends-on): Add cloexec.
12734         Suggested by Eric Blake.
12735
12736 2011-03-13  Bruno Haible  <bruno@clisp.org>
12737
12738         passfd module, part 2, tweaks.
12739         * modules/passfd (Files): Reorder.
12740         (Depends-on): Remove errno.
12741         (Include): Remove <sys/socket.h>, <sys/un.h>.
12742         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
12743         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
12744         specification header. Include <sys/socket.h> always. Don't include
12745         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
12746         (sendfd): Clarify that it sets errno when it fails.
12747         (recvfd): Fix specification.
12748
12749 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12750
12751         passfd module, part 2.
12752         * modules/passfd: New file.
12753         * lib/passfd.h: New file.
12754         * lib/passfd.c: New file.
12755
12756 2011-03-12  Bruno Haible  <bruno@clisp.org>
12757
12758         wcswidth, mbswidth: Avoid integer overflow.
12759         * lib/wcswidth.c: Include <limits.h>.
12760         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
12761         * lib/mbswidth.c: Include <limits.h>.
12762         (mbsnwidth): Avoid 'int' overflow.
12763         Reported by Jim Meyering.
12764
12765 2011-03-12  Bruno Haible  <bruno@clisp.org>
12766
12767         futimens, utimensat: Avoid endless recursion on Solaris 10.
12768         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
12769         Solaris.
12770         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
12771         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
12772
12773 2011-03-11  Jim Meyering  <meyering@redhat.com>
12774
12775         maint.mk: relax a regexp to accommodate other formatting styles
12776         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
12777         between "ngettext" and the following "(".
12778
12779 2011-03-11  Pádraig Brady <P@draigBrady.com>
12780
12781         maint.mk: suppress a false positive warning
12782         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
12783         diagnostics are marked with ngettext.
12784
12785 2011-03-10  Eric Blake  <eblake@redhat.com>
12786
12787         wchar: add explicit dependencies, for Tru64
12788         * modules/mbmemcasecoll (Depends-on): Add wchar.
12789         * modules/mbtowc (Depends-on): Likewise.
12790         * modules/vasnprintf (Depends-on): Likewise.
12791         * modules/unistdio/u-printf-args (Depends-on): Likewise.
12792         * modules/wctomb (Depends-on): Likewise.
12793         Reported by Peter O'Gorman.
12794
12795 2011-03-08  Bruno Haible  <bruno@clisp.org>
12796
12797         passfd module, part 1, tweaks.
12798         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
12799         Improve indentation. Improve AC_MSG_CHECKING messages.
12800         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
12801         gl_SOCKET_FAMILIES.
12802
12803 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12804
12805         passfd module, part 1.
12806         * m4/afunix.m4: New file.
12807         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
12808         sockets.
12809
12810 2011-03-08  Bruno Haible  <bruno@clisp.org>
12811
12812         regex-quote: New API.
12813         * lib/regex-quote.h: Include <stdbool.h>.
12814         (struct regex_quote_spec): New type.
12815         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12816         New declarations.
12817         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12818         'const struct regex_quote_spec *' argument.
12819         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
12820         (pcre_special): New constant.
12821         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12822         New functions.
12823         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12824         'const struct regex_quote_spec *' argument.
12825         * modules/regex-quote (Depends-on): Add stdbool.
12826         * tests/test-regex-quote.c (check): Update for new API. Add test for
12827         anchored results.
12828         * NEWS: Mention the API change.
12829         Reported by Reuben Thomas and Eric Blake.
12830
12831 2011-03-06  Bruno Haible  <bruno@clisp.org>
12832
12833         regex-quote: Fix creation of POSIX extended regular expressions.
12834         * lib/regex-quote.c (ere_special): Add grouping and alternation
12835         operators.
12836
12837 2011-03-05  Bruno Haible  <bruno@clisp.org>
12838
12839         doc: Improve doc regarding autopoint vs. gnulib.
12840         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
12841         disable autopoint while running autoreconf.
12842         Suggested by Ralf Wildenhues.
12843
12844 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12845
12846         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
12847         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
12848
12849 2011-03-03  Bruce Korb  <bkorb@gnu.org>
12850
12851         parse-duration: remove xalloc.h dependency
12852         * lib/parse-duration.c (parse_period): handle NULL return from
12853         strdup instead of calling xstrdup().
12854         * modules/parse-duration: remove "xalloc" dependency
12855
12856 2011-03-03  Matthew Booth  <mbooth@redhat.com>
12857
12858         bootstrap: honor m4_base when running aclocal
12859         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
12860
12861 2011-03-02  Jim Meyering  <meyering@redhat.com>
12862
12863         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
12864         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
12865         on request from Matt Booth.
12866
12867 2011-03-01  Eric Blake  <eblake@redhat.com>
12868
12869         test-link: work on Hurd
12870         * tests/test-link.h (test_link): Hurd rejects linking directories
12871         with EISDIR instead of the POSIX-mandated EPERM.
12872
12873 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
12874
12875         stdio: simplify by moving files to printf-posix, sigpipe
12876         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
12877         since this symbol is needed only if printf is replaced.
12878         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
12879         Require gl_ASM_SYMBOL_PREFIX.
12880         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
12881         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
12882         (Depends-on): Add 'raise'.
12883         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
12884         * modules/stdio (Files): Remove lib/stdio-write.c,
12885         m4/asm-underscore.m4.
12886         (Depends-on): Remove 'raise'.
12887
12888         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
12889         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
12890         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
12891         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
12892
12893 2011-02-28  Bruno Haible  <bruno@clisp.org>
12894
12895         localcharset: Assume ANSI C behaviour of free().
12896         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
12897         calling free().
12898         Suggested by Simon Josefsson <simon@josefsson.org>.
12899
12900 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
12901             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
12902             Bruno Haible  <bruno@clisp.org>  (tiny change)
12903
12904         On Cygwin, use /proc file system instead of win32 API.
12905         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
12906         Win32 file names.
12907         (DllMain): Simplify by removing Cygwin specific code.
12908         (find_shared_library_fullname): Use Linux specific implementation also
12909         for Cygwin.
12910         (get_shared_library_fullname): Update accordingly.
12911         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
12912         Win32 file names.
12913         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
12914         Cygwin specific code.
12915
12916 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
12917             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
12918
12919         Fix OpenMP flag detection for various Fortran compilers.
12920         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
12921         OpenMP-conditional compilation construct, to force compile
12922         failure with missing OpenMP flag.
12923         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
12924
12925 2011-02-25  Eric Blake  <eblake@redhat.com>
12926
12927         strstr: expand test coverage
12928         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
12929         compilation.
12930         * tests/test-memmem.c (main): Duplicate tests.
12931         * tests/test-strcasestr.c (main): Likewise.
12932         * tests/test-c-strcasestr.c (main): Likewise.
12933
12934 2011-02-25  Jim Meyering  <meyering@redhat.com>
12935
12936         maint.mk: detect missing-NL-at-EOF, too
12937         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
12938         it also detects when a file lacks a newline at EOF.
12939         (require_exactly_one_NL_at_EOF_): Renamed from
12940         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
12941         since people may well have .x-sc_... file names tied to the
12942         existing name.  Suggested by Eric Blake.
12943
12944 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12945
12946         dirname: move m4/dos.m4 functionality into lib/dosname.h
12947
12948         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
12949         extracts symbols from it, puts them into config.h; but it's much
12950         easier to use the symbols directly.  filename.h already does this,
12951         but it disagrees with dos.m4 in some respects.  This patch
12952         introduces a different include file dosname.h that packages up
12953         dos.m4, and then later we can work on merging filename.h and
12954         dosname.h.  Applications that need only the easy-to-configure
12955         symbols should consider including dosname.h rather than dirname.h.
12956         * NEWS: Mention incompatible changes.
12957         * m4/dos.m4: Remove.
12958         * lib/dosname.h, modules/dosname: New files.
12959         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
12960         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
12961         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
12962         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
12963         Include dosname.h, not dirname.h.
12964         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
12965         Include dosname.h, for definitions of symbols like ISSLASH
12966         that used to be in config.h.
12967         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
12968         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
12969         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
12970         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
12971         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
12972         * modules/rmdir (Files): Likewise.
12973         * modules/stat (Files): Likewise.
12974         * modules/unlink (Files): Likewise.
12975         * modules/dirname-lgpl (Depends-on): Add dosname.
12976         * modules/lstat (Depends-on): Likewise.
12977         * modules/openat (Depends-on): Likewise.
12978         * modules/rmdir (Depends-on): Likewise.
12979         * modules/savewd (Depends-on): Likewise.
12980         * modules/stat (Depends-on): Likewise.
12981         * modules/unlink (Depends-on): Likewise.
12982         * modules/openat (Depends-on): Remove dirname-lgpl.
12983         * modules/savewd (Depends-on): Likewise.
12984         * tests/test-dirname.c: Do not use removed symbols like
12985         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
12986         the remaining symbols, e.g., ISSLASH ('\\').
12987
12988 2011-02-25  Eric Blake  <eblake@redhat.com>
12989
12990         strstr: revert patches that introduced bug and pessimization
12991         * lib/str-two-way.h: Add another reference.
12992         (two_way_short_needle, two_way_long_needle): Revert changes from
12993         2011-02-24; they pessimize search speed.
12994         (critical_factorization): Partially revert changes from
12995         2010-06-22; they violate the requirement that the left half of the
12996         needle be smaller than the period of the needle.
12997
12998 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
12999
13000         filenamecat: remove unnecessary dependency on dirname-lgpl
13001         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
13002         is no direct dependency, just an indirect one via filenamecat-lgpl.
13003
13004         remove: remove unnecessary use of m4/dos.m4
13005         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
13006         * modules/remove (FILES): Remove m4/dos.m4.
13007
13008         * lib/openat-proc.c: Don't include dirname.h; not needed.
13009
13010         backupfile: remove unnecessary use of m4/dos.m4
13011         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
13012         of its symbols are used by the backupfile code.  backupfile.c does
13013         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
13014         for the rare case of programs that want all their backup file
13015         names to live within 8+3 limits, and dos.m4 doesn't address that.
13016         * modules/backupfile (Files): Remove m4/dos.m4.
13017
13018 2011-02-24  Jim Meyering  <meyering@redhat.com>
13019
13020         strstr: fix a bug whereby strstr would mistakenly return NULL
13021         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
13022         in period calculation.
13023         (two_way_long_needle): Likewise.
13024         The original problem was reported by Mike Stump in
13025         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
13026         Ralf Wildenhues provided the short needle and haystack.
13027         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
13028         Add a more involved test to trigger the bug in two_way_long_needle.
13029
13030 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13031
13032         gnulib-tool: remove use of bold display in help screen
13033         * gnulib-tool (func_usage): Do not use bold display anymore in the
13034         help screen.  That was just meant to be a temporary emphasis for a
13035         backward-incompatible change.
13036
13037 2011-02-23  Bruno Haible  <bruno@clisp.org>
13038
13039         Fix misindentation of preprocessor directives.
13040         * lib/argp-namefrob.h: Reindent preprocessor directives.
13041         * lib/getopt_int.h (struct _getopt_data): Likewise.
13042         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
13043         * lib/vasnprintf.c (decode_long_double): Likewise.
13044         * tests/test-argmatch.c: Insert blank lines, for clarity.
13045         * tests/test-exclude.c: Likewise.
13046
13047 2011-02-22  Bruno Haible  <bruno@clisp.org>
13048
13049         ioctl: Fix for MacOS X in 64-bit mode.
13050         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
13051         value.
13052         Suggested by Eric Blake.
13053         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
13054
13055 2011-02-22  Jim Meyering  <meyering@redhat.com>
13056
13057         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
13058         * Makefile (sc_cpp_indent_check): Don't limit the check to files
13059         in lib/.
13060
13061 2011-02-22  Eric Blake  <eblake@redhat.com>
13062
13063         maint: avoid any CDPATH issue
13064         * Makefile (sc_cpp_indent_check): Anchor cd argument.
13065
13066         maint: adjust cpp indentation for my modules, as well
13067         * Makefile (sc_cpp_indent_check): Add my name.
13068         * lib/fbufmode.c: Filter through cppi.
13069         * lib/fpurge.c: Likewise.
13070         * lib/freadable.c: Likewise.
13071         * lib/freading.c: Likewise.
13072         * lib/fwritable.c: Likewise.
13073         * lib/fwriting.c: Likewise.
13074         * lib/sigaction.c: Likewise.
13075
13076 2011-02-22  Jim Meyering  <meyering@redhat.com>
13077
13078         maint: adjust cpp indentation to reflect nesting depth
13079         I.e., in a block of code that begins with an unnested "#if",
13080         put one space between the "#" in column 1 and following token.
13081         For example,
13082         -#include <sys/vfs.h>
13083         +# include <sys/vfs.h>
13084         Do this only in .c files that are part of a module I maintain.
13085         * lib/linkat.c: Filter through cppi.
13086         * lib/nanosleep.c: Likewise.
13087         * lib/openat.c: Likewise.
13088         * lib/openat-die.c: Likewise.
13089         * lib/dup3.c: Likewise.
13090         * lib/fchownat.c: Likewise.
13091         * lib/flock.c: Likewise.
13092         * lib/fsync.c: Likewise.
13093         * lib/fts.c: Likewise.
13094         * lib/getpass.c: Likewise.
13095         * lib/gettimeofday.c: Likewise.
13096         * lib/userspec.c: Likewise.
13097         * Makefile (sc_cpp_indent_check): New rule, to check this.
13098
13099 2011-02-22  Bruno Haible  <bruno@clisp.org>
13100
13101         New module 'wctomb'.
13102         * lib/stdlib.in.h (wctomb): New declaration.
13103         * lib/wctomb.c: New file.
13104         * lib/wctomb-impl.h: New file.
13105         * m4/wctomb.m4: New file.
13106         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
13107         REPLACE_WCTOMB.
13108         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
13109         REPLACE_WCTOMB.
13110         * modules/wctomb: New file.
13111         * tests/test-stdlib-c++.cc: Test signature of wctomb.
13112         * doc/posix-functions/wctomb.texi: Mention the new module.
13113         * modules/wctob (Depends-on): Add wctomb.
13114
13115 2011-02-22  Bruno Haible  <bruno@clisp.org>
13116
13117         New module 'mbtowc'.
13118         * lib/stdlib.in.h (mbtowc): New declaration.
13119         * lib/mbtowc.c: New file.
13120         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
13121         * m4/mbtowc.m4: New file.
13122         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
13123         REPLACE_MBTOWC.
13124         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
13125         REPLACE_MBTOWC.
13126         * modules/mbtowc: New file.
13127         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
13128         * doc/posix-functions/mbtowc.texi: Mention the new module.
13129         * modules/btowc (Depends-on): Add mbtowc.
13130
13131 2011-02-22  Bruno Haible  <bruno@clisp.org>
13132
13133         wcrtomb: Add more tests for native Windows platforms.
13134         * tests/test-wcrtomb-w32-1.sh: New file.
13135         * tests/test-wcrtomb-w32-2.sh: New file.
13136         * tests/test-wcrtomb-w32-3.sh: New file.
13137         * tests/test-wcrtomb-w32-4.sh: New file.
13138         * tests/test-wcrtomb-w32-5.sh: New file.
13139         * tests/test-wcrtomb-w32.c: New file.
13140         * modules/wcrtomb-tests (Files): Add them.
13141         (Makefile.am): Arrange to run these tests.
13142         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
13143         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
13144
13145 2011-02-20  Bruno Haible  <bruno@clisp.org>
13146
13147         wcrtomb: Enhance test.
13148         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
13149
13150 2011-02-20  Bruno Haible  <bruno@clisp.org>
13151
13152         mbrtowc: Tiny optimization.
13153         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
13154
13155 2011-02-20  Jim Meyering  <meyering@redhat.com>
13156
13157         test-exclude.c: remove unmatched #endif
13158         * tests/test-exclude.c: Remove stray #endif, left over from
13159         the change of a week ago.
13160
13161 2011-02-19  Jim Meyering  <meyering@redhat.com>
13162
13163         git-version-gen: skip "-dirty" check when appropriate
13164         * build-aux/git-version-gen: Don't run any git commands when the
13165         version string comes from .tarball-version.  Prior to this, we
13166         would run git update-index --refresh even from a just-unpacked
13167         tarball directory, and that could affect a .git/ directory in a
13168         parent of the build directory.  Reported by Mike Frysinger.
13169
13170 2011-02-19  Bruno Haible  <bruno@clisp.org>
13171
13172         unictype/property-byname: Reduce the size of the 'data' segment.
13173         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
13174
13175 2011-02-19  Bruno Haible  <bruno@clisp.org>
13176
13177         unictype/scripts: Reduce the size of the 'data' segment.
13178         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
13179         '%pic'.
13180         * lib/unictype/scripts_byname.gperf: Regenerated.
13181
13182 2011-02-19  Bruno Haible  <bruno@clisp.org>
13183
13184         stdint: Update documentation.
13185         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
13186
13187 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13188
13189         stdint: omit redundant check for wchar.h
13190         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
13191         always tests whether wchar.h exists, so remove the now-redundant test.
13192
13193 2011-02-18  Bruno Haible  <bruno@clisp.org>
13194
13195         stdint: Cut dependency to module 'wchar'.
13196         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
13197         include the necessary prerequisites.
13198         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
13199         * modules/stdint (Depends-on): Remove wchar.
13200         (Makefile.am): Substitute HAVE_WCHAR_H.
13201         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
13202
13203 2011-02-18  Eric Blake  <eblake@redhat.com>
13204
13205         longlong: skip, rather than fail, on cross-compilation
13206         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
13207         when cross-compiling; regression from 2011-02-16.
13208
13209 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13210
13211         * NEWS: Mention 2011-02-08 change to stdlib.
13212
13213 2011-02-17  Bruno Haible  <bruno@clisp.org>
13214
13215         getloadavg: Add comments about platforms.
13216         * m4/getloadavg.m4: Add comment.
13217         * lib/getloadavg.c: Likewise.
13218
13219 2011-02-17  Bruno Haible  <bruno@clisp.org>
13220
13221         getloadavg: Fix link error on Solaris 2.6.
13222         * modules/getloadavg (Link): New section.
13223         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
13224         linking test-getloadavg.
13225         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
13226         getloadavg.
13227
13228 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13229
13230         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
13231         It was 'int', but this doesn't match the IRIX 6.5 manual.
13232         Suggested by Bruno Haible in
13233         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
13234
13235 2011-02-17  Bruno Haible  <bruno@clisp.org>
13236
13237         havelib: Fix comments.
13238         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
13239         change.
13240
13241 2011-02-17  Bruno Haible  <bruno@clisp.org>
13242
13243         havelib: Update config.rpath.
13244         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
13245
13246 2011-02-17  Bruno Haible  <bruno@clisp.org>
13247
13248         getloadavg test: Add some plausibility checks.
13249         * tests/test-getloadavg.c (check_avg): Print a warning when the value
13250         is improbable.
13251
13252 2011-02-16  Eric Blake  <eblake@redhat.com>
13253
13254         maintainer-makefile: make syntax-check a no-op from tarballs
13255         * top/maint.mk (no-vc-detected): New rule.
13256         (local-checks-available): Use it to avoid hanging if someone tries
13257         'make syntax-check' from a tarball.  Also append to any non-syntax
13258         checks already defined in cfg.mk.
13259
13260 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13261
13262         longlong: tune, particularly for common case of c99
13263
13264         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
13265         or running anything if c99, or if unsigned long long int does not
13266         work.  In either case, we know the answer without further tests.
13267         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
13268         it at most once, and use its results for both long long int and
13269         unsigned long long int.  This is more likely to be efficient in
13270         the common case where the program wants to check for both long
13271         long int and unsigned long long int.
13272         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
13273         since the answer is already known.
13274
13275 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
13276
13277         getloadavg: set errno
13278         * lib/getloadavg.c: Set errno when returning -1.  If no other
13279         error number looks appropriate, set it to ENOSYS if the getloadavg
13280         looks like it can't possibly ever work, ENOTSUP otherwise.
13281         Suggested by Bruno Haible in
13282         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
13283
13284         getloadavg: trim unused parts and speed up 'configure'
13285         * NEWS: Document this.
13286         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
13287         always compiled if getloadavg is absent.
13288         Move test code to ...
13289         * tests/test-getloadavg.c: New file, containing previous
13290         contents of test from lib/getloadavg.c.  It also contains
13291         suggestions by Bruno Haible in
13292         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
13293         * modules/getloadavg-tests: New file.
13294         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
13295         Do tests in the same order as they're needed for getloadavg.c.
13296         Omit setgid-related tests that generate symbols KMEM_GROUP,
13297         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
13298         Do only the tests that are needed to see whether the system has
13299         getloadavg, moving the other tests into ...
13300         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
13301         NLIST_NAME_UNION; nobody should be using it.  Do not define
13302         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
13303         relevant, as the user of this module shouldn't care how getloadavg
13304         is implemented.
13305
13306         getloadavg: omit unused var
13307         * lib/getloadavg.c (getloadavg): Omit unused local variable.
13308
13309 2011-02-15  Jim Meyering  <meyering@redhat.com>
13310
13311         doc: update users.txt
13312         * users.txt: Update iwhd's URL.
13313
13314 2011-02-13  Bruno Haible  <bruno@clisp.org>
13315
13316         Consistent macro naming for macros that use GCC __attribute__.
13317         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
13318         _ATTRIBUTE_NONNULL_.
13319         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
13320         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
13321         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
13322         ATTRIBUTE_DEPRECATED.
13323         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
13324         ATTRIBUTE_NORETURN.
13325         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13326         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13327         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13328         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13329         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
13330         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
13331         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
13332         ATTRIBUTE_SENTINEL.
13333         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
13334         ATTRIBUTE_RETURN_CHECK.
13335         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
13336         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
13337         ATTRIBUTE_NORETURN.
13338         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
13339         Reported by Paul Eggert.
13340
13341 2011-02-13  Bruno Haible  <bruno@clisp.org>
13342
13343         Don't interfere with a program's definition of __attribute__.
13344         * lib/argp.h (__attribute__): Remove definition.
13345         (_GL_ATTRIBUTE_FORMAT): New macro.
13346         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
13347         * lib/argp-fmtstream.h (__attribute__): Remove definition.
13348         (_GL_ATTRIBUTE_FORMAT): New macro.
13349         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
13350         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
13351         GCC 3 or newer.
13352         * lib/error.h (__attribute__): Remove definition.
13353         (_GL_ATTRIBUTE_FORMAT): New macro.
13354         (error, error_at_line): Use it.
13355         * lib/hash.h (__attribute__): Remove definition.
13356         (ATTRIBUTE_WUR): Update definition. Define always.
13357         * lib/openat.h (__attribute__): Remove definition.
13358         (ATTRIBUTE_NORETURN): Update definition. Define always.
13359         * lib/sigpipe-die.h (__attribute__): Remove definition.
13360         (ATTRIBUTE_NORETURN): Update definition. Define always.
13361         * lib/vasnprintf.h (__attribute__): Remove definition.
13362         (_GL_ATTRIBUTE_FORMAT): New macro.
13363         (asnprintf, vasnprintf): Use it.
13364         * lib/xalloc.h (__attribute__): Remove definition.
13365         (ATTRIBUTE_NORETURN): Update definition. Define always.
13366         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
13367         * lib/xmemdup0.h (__attribute__): Remove definition.
13368         (ATTRIBUTE_NORETURN): Update definition. Define always.
13369         * lib/xprintf.h (__attribute__): Remove definition.
13370         (_GL_ATTRIBUTE_FORMAT): New macro.
13371         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
13372         * lib/xstrtol.h (__attribute__): Remove definition.
13373         (ATTRIBUTE_NORETURN): Update definition. Define always.
13374         * lib/xvasprintf.h (__attribute__): Remove definition.
13375         (_GL_ATTRIBUTE_FORMAT): New macro.
13376         (xasprintf, xvasprintf): Use it.
13377         * tests/test-argmatch.c (__attribute__): Remove definition.
13378         (ATTRIBUTE_NORETURN): Update definition. Define always.
13379         * tests/test-exclude.c (__attribute__): Remove definition.
13380         (ATTRIBUTE_NORETURN): Update definition. Define always.
13381         Reported by Paul Eggert.
13382
13383 2011-02-13  Bruno Haible  <bruno@clisp.org>
13384
13385         mbrtowc: Add more tests for native Windows platforms.
13386         * tests/test-mbrtowc-w32-1.sh: New file.
13387         * tests/test-mbrtowc-w32-2.sh: New file.
13388         * tests/test-mbrtowc-w32-3.sh: New file.
13389         * tests/test-mbrtowc-w32-4.sh: New file.
13390         * tests/test-mbrtowc-w32-5.sh: New file.
13391         * tests/test-mbrtowc-w32.c: New file.
13392         * modules/mbrtowc-tests (Files): Add them.
13393         (Makefile.am): Arrange to run these tests.
13394         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
13395         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
13396
13397 2011-02-13  Bruno Haible  <bruno@clisp.org>
13398
13399         mbrtowc: Work around native Windows bug.
13400         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
13401         guess when no suitable locale for testing was found.
13402         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
13403
13404 2011-02-13  Bruno Haible  <bruno@clisp.org>
13405
13406         mbsinit: Work around mingw bug.
13407         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
13408         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
13409         Windows.
13410         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
13411
13412 2011-02-13  Bruno Haible  <bruno@clisp.org>
13413
13414         mbsinit: Don't crash for a NULL argument.
13415         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
13416         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
13417
13418 2011-02-13  Bruno Haible  <bruno@clisp.org>
13419
13420         Don't interfere with a program's definition of __attribute__.
13421         * lib/stdio.in.h (__attribute__): Remove definition.
13422         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
13423         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
13424         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
13425         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
13426         * lib/string.in.h (__attribute__): Remove definition.
13427         Reported by Paul Eggert.
13428
13429 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13430
13431         stdlib: don't get in the way of non-GCC __attribute__
13432         See thread starting at
13433         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
13434         Revert previous stdlib change, installing the following instead:
13435         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
13436         to get in the way of a non-GCC compiler that supports __attribute__.
13437         (_GL_ATTRIBUTE_RETURN): New macro.
13438         (_Exit): Use it instead of __attribute__.
13439
13440 2011-02-12  Bruno Haible  <bruno@clisp.org>
13441
13442         quotearg test: Avoid test failure on mingw.
13443         * tests/test-quotearg.sh: Convert the locale identifier from native
13444         Windows syntax to Unix syntax.
13445
13446 2011-02-12  Bruno Haible  <bruno@clisp.org>
13447
13448         setlocale: Prefer gnulib's override over libintl's override.
13449         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
13450         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
13451         GNULIB_defined_setlocale is set.
13452
13453 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13454
13455         stdlib: support non-GCC __attribute__
13456
13457         Fix a serious and tricky problem encountered when attempting to
13458         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
13459         5.5, but it crashed due to memory corruption on Solaris 10 with
13460         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
13461         bits that are otherwise zero.  This tagging is optional inside
13462         Emacs but is preferred and is used when __attribute__ ((__aligned
13463         (8))) works, as it does with both recent-enough GCC and with Sun C
13464         5.11.  However, Sun C 5.11 is not GCC and does not #define
13465         __GNUC__ and __GNUC_MINOR__.
13466
13467         When I added the getloadavg module to Emacs, it brought in
13468         stdlib.in.h, which contained this fragment:
13469
13470            #ifndef __attribute__
13471            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13472            #  define __attribute__(Spec)   /* empty */
13473            # endif
13474            #endif
13475
13476         When files that include <stdlib.h> were compiled with Sun C 5.11,
13477         the above code disabled __attribute__ ((__aligned (8))), which
13478         caused variables to not be properly aligned, which eventually led
13479         to the pointer corruption mentioned above.  (This was a bit hard
13480         to diagnose, unfortunately.)
13481
13482         Several "#define __attribute__(X) /* empty */" code snippets need
13483         to be eradicated from Gnulib to work with non-GCC compilers that
13484         support __attribute__.  The Autoconf way to do this is to test for
13485         each kind of attribute that we want support for, and selectively
13486         enable that in source code.
13487
13488         Fix this problem just for stdlib.h, by adding a test for the
13489         __noreturn__ attribute, and change stdlib.in.h to use that test
13490         when needed.  This technique can be easily generalized to the
13491         other *.in.h files and attributes, and a similar technique can be
13492         used for *.h and *.c files.  This patch is enough to solve the
13493         problem for Emacs + getloadavg, and I thought I'd publish it for
13494         feedback before undertaking further, similar fixes in other
13495         modules.
13496
13497         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13498         because it's not needed for stdlib.h.  It merely substitutes the
13499         value directly into stdlib.h.  We may well need to #define it, or
13500         similar symbols, for other modules, but it's nice to also have an
13501         option to not #define it for applications like Emacs that do not
13502         need it.
13503
13504         * lib/stdlib.in.h (__attribute__): Do not #define.
13505         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13506         be defined only if the _Exit module is also used.
13507         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13508         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13509         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13510         platforms.
13511         * modules/_Exit (Files): Add m4/attribute.m4.
13512         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13513         * m4/attribute.m4: New file.
13514
13515 2011-02-12  Bruno Haible  <bruno@clisp.org>
13516
13517         wcsrtombs: Work around bug on native Windows.
13518         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13519         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13520         instead of len.
13521         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13522
13523 2011-02-12  Bruno Haible  <bruno@clisp.org>
13524
13525         mbsrtowcs: Work around bug on native Windows.
13526         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
13527         against mingw bug.
13528         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
13529
13530 2011-02-12  Bruno Haible  <bruno@clisp.org>
13531
13532         Avoid setlocale bugs in tests.
13533         * modules/btowc (Dependencies): Add setlocale.
13534         * modules/c-strcase (Dependencies): Likewise.
13535         * modules/mbmemcasecmp (Dependencies): Likewise.
13536         * modules/mbmemcasecoll (Dependencies): Likewise.
13537         * modules/mbrtowc (Dependencies): Likewise.
13538         * modules/mbscasecmp (Dependencies): Likewise.
13539         * modules/mbscasestr (Dependencies): Likewise.
13540         * modules/mbschr (Dependencies): Likewise.
13541         * modules/mbscspn (Dependencies): Likewise.
13542         * modules/mbsinit (Dependencies): Likewise.
13543         * modules/mbsncasecmp (Dependencies): Likewise.
13544         * modules/mbsnrtowcs (Dependencies): Likewise.
13545         * modules/mbspbrk (Dependencies): Likewise.
13546         * modules/mbspcasecmp (Dependencies): Likewise.
13547         * modules/mbsrchr (Dependencies): Likewise.
13548         * modules/mbsrtowcs (Dependencies): Likewise.
13549         * modules/mbsspn (Dependencies): Likewise.
13550         * modules/mbsstr (Dependencies): Likewise.
13551         * modules/nl_langinfo (Dependencies): Likewise.
13552         * modules/quotearg (Dependencies): Likewise.
13553         * modules/unicase/locale-language (Dependencies): Likewise.
13554         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
13555         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
13556         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
13557         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
13558         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
13559         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
13560         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
13561         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
13562         * modules/vasnprintf-posix (Dependencies): Likewise.
13563         * modules/wcrtomb (Dependencies): Likewise.
13564         * modules/wcsnrtombs (Dependencies): Likewise.
13565         * modules/wcsrtombs (Dependencies): Likewise.
13566
13567 2011-02-12  Bruno Haible  <bruno@clisp.org>
13568
13569         setlocale: Workaround native Windows bug.
13570         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
13571         succeeds but sets LC_CTYPE to "C", report a failure.
13572         * tests/test-setlocale2.sh: New file.
13573         * tests/test-setlocale2.c: New file.
13574         * modules/setlocale-tests (Files): Add the new files.
13575         (Makefile.am): Enable test-setlocale2.sh test.
13576         * doc/posix-functions/setlocale.texi: Mention workaround.
13577
13578 2011-02-11  Bruno Haible  <bruno@clisp.org>
13579
13580         Tests for module 'setlocale'.
13581         * modules/setlocale-tests: New file.
13582         * tests/test-setlocale1.sh: New file.
13583         * tests/test-setlocale1.c: New file.
13584
13585         New module 'setlocale'.
13586         * lib/locale.in.h (setlocale): New declaration.
13587         * lib/setlocale.c: New file, based on
13588         gettext/gettext-runtime/intl/setlocale.c.
13589         * m4/setlocale.m4: New file.
13590         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
13591         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
13592         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
13593         REPLACE_SETLOCALE.
13594         * modules/setlocale: New file.
13595         * tests/test-locale-c++.cc: Test the declaration of setlocale.
13596         * doc/posix-functions/setlocale.texi: Mention the new module.
13597
13598 2011-02-11  Bruno Haible  <bruno@clisp.org>
13599
13600         Prepare for locale dependent tests on mingw.
13601         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
13602         because it has the wrong locale encoding.
13603         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
13604         French_France.1252 instead of "fr".
13605         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
13606         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
13607         because it has the wrong locale encoding.
13608         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
13609         native Windows, try Turkish_Turkey.65001.
13610         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
13611         Chinese_China.54936.
13612
13613         Prepare for locale dependent tests on mingw.
13614         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
13615         differently.
13616         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13617         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13618         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13619         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13620
13621 2011-02-11  Eric Blake  <eblake@redhat.com>
13622
13623         strptime: avoid compiler warnings
13624         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
13625         compiler warnings about dead code.
13626         Reported by Daniel P. Berrange.
13627
13628 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
13629
13630         doc: update users.txt
13631         * users.txt: Add rcs.
13632
13633 2011-02-10  John W. Eaton  <jwe@gnu.org>
13634
13635         doc: update users.txt
13636         * users.txt: Add octave.
13637
13638 2011-02-10  Jim Meyering  <meyering@redhat.com>
13639
13640         doc: update users.txt
13641         * users.txt: Add iwhd.
13642
13643 2011-02-09  Bruno Haible  <bruno@clisp.org>
13644
13645         gnulib-tool: Make copyright notice adjustment more robust.
13646         * gnulib-tool (func_import): In sed_transform_main_lib_file,
13647         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
13648         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
13649         License".
13650         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
13651
13652 2011-02-06  Bruno Haible  <bruno@clisp.org>
13653
13654         New module 'towctrans'.
13655         * modules/towctrans: New file.
13656         * lib/wctype.in.h (towctrans): New declaration.
13657         * lib/towctrans.c: New file.
13658         * lib/towctrans-impl.h: New file.
13659         * m4/towctrans.m4: New file.
13660         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
13661         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
13662         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
13663         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13664         * doc/posix-functions/towctrans.texi: Mention the new module.
13665
13666 2011-02-06  Bruno Haible  <bruno@clisp.org>
13667
13668         New module 'wctrans'.
13669         * modules/wctrans: New file.
13670         * lib/wctype.in.h (wctrans): New declaration.
13671         * lib/wctrans.c: New file.
13672         * lib/wctrans-impl.h: New file.
13673         * m4/wctrans.m4: New file.
13674         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
13675         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
13676         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
13677         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
13678         * doc/posix-functions/wctrans.texi: Mention the new module.
13679
13680 2011-02-06  Bruno Haible  <bruno@clisp.org>
13681
13682         New module 'iswctype'.
13683         * modules/iswctype: New file.
13684         * lib/wctype.in.h (iswctype): New declaration.
13685         * lib/iswctype.c: New file.
13686         * lib/iswctype-impl.h: New file.
13687         * m4/iswctype.m4: New file.
13688         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
13689         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
13690         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
13691         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
13692         * doc/posix-functions/iswctype.texi: Mention the new module and the
13693         HP-UX 11.00 problem.
13694
13695 2011-02-06  Bruno Haible  <bruno@clisp.org>
13696
13697         New module 'wctype'.
13698         * modules/wctype: Change to represent the wctype() substitute.
13699         * lib/wctype.in.h (wctype): New declaration.
13700         * lib/wctype.c: New file.
13701         * lib/wctype-impl.h: New file.
13702         * m4/wctype.m4: New file.
13703         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
13704         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
13705         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
13706         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
13707         * doc/posix-functions/wctype.texi: Mention the new module and the
13708         HP-UX 11.00 problem.
13709
13710 2011-02-06  Bruno Haible  <bruno@clisp.org>
13711
13712         wctype-h: Ensure wctype_t and wctrans_t are defined.
13713         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
13714         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13715         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13716         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
13717         HAVE_WCTRANS_T.
13718         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
13719
13720 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
13721
13722         flock: fix license typo
13723
13724         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
13725         omitted.
13726
13727 2011-02-08  Bruno Haible  <bruno@clisp.org>
13728
13729         Split large sed scripts, for HP-UX sed.
13730         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
13731         to avoid HP-UX limit of 99 commands, in the near future.
13732         * modules/stdlib (Makefile.am): Likewise.
13733         * modules/unistd (Makefile.am): Likewise.
13734         * modules/wchar (Makefile.am): Likewise.
13735         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13736         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
13737         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
13738
13739 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13740             Bruno Haible  <bruno@clisp.org>
13741
13742         stdlib: improve random_r modularization
13743         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
13744         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
13745         you also need the random_r module to get this material right.
13746         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
13747         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
13748         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
13749
13750 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13751
13752         stdlib: don't depend on stdint
13753         * lib/stdlib.in.h: Don't include <stdint.h> merely because
13754         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
13755         be independent of whether stdint.h is needed.
13756         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
13757         here, instead of ...
13758         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
13759         struct random_data should be using the random_r module, not just
13760         the stdlib module (which wouldn't make sense: what package needs
13761         just struct random_data without also needing random_r?).
13762         * modules/stdlib (Depends-on): Remove stdint.
13763
13764         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
13765         See the thread rooted at
13766         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
13767         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
13768         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
13769         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
13770         __VMS)); previously it was always included (via fcntl--.h).
13771         (getloadavg): Do not use c_strtod.  Instead, approximate it by
13772         hand; this is good enough for load averages.  Also, do not use
13773         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
13774         flags directly if available and don't bother otherwise.  (Packages
13775         that need the extra reliability should use the modules that define
13776         these flags on older platforms that lack them.)
13777         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
13778         fcntl-safer.
13779
13780 2011-02-08  Jim Meyering  <meyering@redhat.com>
13781
13782         di-set.h, ino-map.h: add multiple-inclusion guard
13783         Technically, the guard is required only for ino-map.h, due to its
13784         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
13785         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
13786         * lib/ino-map.h: Likewise.
13787
13788 2011-02-06  Bruno Haible  <bruno@clisp.org>
13789
13790         iswblank: Ensure declaration on glibc systems.
13791         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
13792         * modules/iswblank (Dependencies): Add 'extensions'.
13793         * doc/posix-functions/iswblank.texi: Document the glibc problem.
13794
13795 2011-02-06  Bruno Haible  <bruno@clisp.org>
13796
13797         New module 'iswblank'.
13798         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
13799         * modules/iswblank: New file.
13800         * modules/wctype-h (Files): Remove lib/iswblank.c.
13801         (Makefile.am): Substitute GNULIB_ISWBLANK.
13802         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
13803         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
13804         (gl_WCTYPE_H_DEFAULTS): New macro.
13805         (gl_WCTYPE_H): Require it. Remove iswblank related code.
13806         * modules/iswblank-tests: New file.
13807         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
13808         * tests/test-wctype-h.c (main): Remove iswblank tests.
13809         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
13810         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
13811         of 'wctype-h'.
13812         * NEWS: Mention the change.
13813         * modules/mbchar (Depends-on): Add iswblank.
13814
13815 2011-02-08  Bruno Haible  <bruno@clisp.org>
13816
13817         di-set tests: Refactor.
13818         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
13819         unnecessary includes.
13820         (ASSERT): Remove macro.
13821         (main): Make C90 compliant by avoiding variable declaration after
13822         statement.
13823         * modules/di-set-tests (Files): Add tests/macros.h.
13824
13825 2011-02-08  Bruno Haible  <bruno@clisp.org>
13826
13827         ino-map tests: Refactor.
13828         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
13829         unnecessary includes.
13830         (ASSERT): Remove macro.
13831         (main): Make C90 compliant by avoiding variable declaration after
13832         statement.
13833         * modules/ino-map-tests (Files): Add tests/macros.h.
13834
13835 2011-02-08  Jim Meyering  <meyering@redhat.com>
13836
13837         di-set: add "const" to a cast
13838         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
13839         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
13840
13841 2011-02-06  Bruno Haible  <bruno@clisp.org>
13842
13843         Rename module 'wctype' to 'wctype-h'.
13844         * modules/wctype-h: Renamed from modules/wctype.
13845         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
13846         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
13847         (Files, Depends-on, Makefile.am): Update.
13848         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
13849         (Files, Makefile.am): Update.
13850         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
13851         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
13852         * doc/posix-headers/wctype.texi: Update.
13853         * doc/posix-functions/iswalnum.texi: Update.
13854         * doc/posix-functions/iswalpha.texi: Update.
13855         * doc/posix-functions/iswblank.texi: Update.
13856         * doc/posix-functions/iswcntrl.texi: Update.
13857         * doc/posix-functions/iswdigit.texi: Update.
13858         * doc/posix-functions/iswgraph.texi: Update.
13859         * doc/posix-functions/iswlower.texi: Update.
13860         * doc/posix-functions/iswprint.texi: Update.
13861         * doc/posix-functions/iswpunct.texi: Update.
13862         * doc/posix-functions/iswspace.texi: Update.
13863         * doc/posix-functions/iswupper.texi: Update.
13864         * doc/posix-functions/iswxdigit.texi: Update.
13865         * doc/posix-functions/towlower.texi: Update.
13866         * doc/posix-functions/towupper.texi: Update.
13867         * NEWS: Mention the change.
13868         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
13869         * modules/mbchar (Dependencies): Likewise.
13870         * modules/mbswidth (Dependencies): Likewise.
13871         * modules/quotearg (Dependencies): Likewise.
13872         * modules/regex (Dependencies): Likewise.
13873         * modules/wcscasecmp (Dependencies): Likewise.
13874         * modules/wcsncasecmp (Dependencies): Likewise.
13875         * modules/wcwidth (Dependencies): Likewise.
13876
13877 2011-02-06  Bruno Haible  <bruno@clisp.org>
13878
13879         New module 'wcswidth'.
13880         * modules/wcswidth: New file.
13881         * lib/wchar.in.h (wcswidth): New declaration.
13882         * lib/wcswidth.c: New file.
13883         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
13884         * m4/wcswidth.m4: New file.
13885         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
13886         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
13887         REPLACE_WCSWIDTH.
13888         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
13889         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
13890         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
13891         * doc/posix-functions/wcswidth.texi: Mention the new module.
13892
13893 2011-02-06  Bruno Haible  <bruno@clisp.org>
13894
13895         New module 'wcstok'.
13896         * modules/wcstok: New file.
13897         * lib/wchar.in.h (wcstok): New declaration.
13898         * lib/wcstok.c: New file.
13899         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
13900         * m4/wcstok.m4: New file.
13901         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
13902         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
13903         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
13904         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
13905         * doc/posix-functions/wcstok.texi: Mention the new module.
13906
13907 2011-02-06  Bruno Haible  <bruno@clisp.org>
13908
13909         New module 'wcsstr'.
13910         * modules/wcsstr: New file.
13911         * lib/wchar.in.h (wcsstr): New declaration.
13912         * lib/wcsstr.c: New file.
13913         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
13914         * m4/wcsstr.m4: New file.
13915         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
13916         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
13917         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
13918         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
13919         * doc/posix-functions/wcsstr.texi: Mention the new module.
13920
13921 2011-02-06  Bruno Haible  <bruno@clisp.org>
13922
13923         New module 'wcspbrk'.
13924         * modules/wcspbrk: New file.
13925         * lib/wchar.in.h (wcspbrk): New declaration.
13926         * lib/wcspbrk.c: New file.
13927         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
13928         * m4/wcspbrk.m4: New file.
13929         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
13930         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
13931         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
13932         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
13933         * doc/posix-functions/wcspbrk.texi: Mention the new module.
13934
13935 2011-02-06  Bruno Haible  <bruno@clisp.org>
13936
13937         New module 'wcsspn'.
13938         * modules/wcsspn: New file.
13939         * lib/wchar.in.h (wcsspn): New declaration.
13940         * lib/wcsspn.c: New file.
13941         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
13942         * m4/wcsspn.m4: New file.
13943         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
13944         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
13945         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
13946         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
13947         * doc/posix-functions/wcsspn.texi: Mention the new module.
13948
13949 2011-02-06  Bruno Haible  <bruno@clisp.org>
13950
13951         New module 'wcscspn'.
13952         * modules/wcscspn: New file.
13953         * lib/wchar.in.h (wcscspn): New declaration.
13954         * lib/wcscspn.c: New file.
13955         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
13956         * m4/wcscspn.m4: New file.
13957         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
13958         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
13959         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
13960         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
13961         * doc/posix-functions/wcscspn.texi: Mention the new module.
13962
13963 2011-02-06  Bruno Haible  <bruno@clisp.org>
13964
13965         New module 'wcsrchr'.
13966         * modules/wcsrchr: New file.
13967         * lib/wchar.in.h (wcsrchr): New declaration.
13968         * lib/wcsrchr.c: New file.
13969         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
13970         * m4/wcsrchr.m4: New file.
13971         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
13972         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
13973         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
13974         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
13975         * doc/posix-functions/wcsrchr.texi: Mention the new module.
13976
13977 2011-02-06  Bruno Haible  <bruno@clisp.org>
13978
13979         New module 'wcschr'.
13980         * modules/wcschr: New file.
13981         * lib/wchar.in.h (wcschr): New declaration.
13982         * lib/wcschr.c: New file.
13983         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
13984         * m4/wcschr.m4: New file.
13985         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
13986         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
13987         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
13988         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
13989         * doc/posix-functions/wcschr.texi: Mention the new module.
13990
13991 2011-02-06  Bruno Haible  <bruno@clisp.org>
13992
13993         New module 'wcsdup'.
13994         * modules/wcsdup: New file.
13995         * lib/wchar.in.h (wcsdup): New declaration.
13996         * lib/wcsdup.c: New file.
13997         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
13998         * m4/wcsdup.m4: New file.
13999         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
14000         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
14001         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
14002         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
14003         * doc/posix-functions/wcsdup.texi: Mention the new module.
14004
14005 2011-02-06  Bruno Haible  <bruno@clisp.org>
14006
14007         New module 'wcsxfrm'.
14008         * modules/wcsxfrm: New file.
14009         * lib/wchar.in.h (wcsxfrm): New declaration.
14010         * lib/wcsxfrm.c: New file.
14011         * lib/wcsxfrm-impl.h: New file.
14012         * m4/wcsxfrm.m4: New file.
14013         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
14014         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
14015         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
14016         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
14017         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
14018
14019 2011-02-06  Bruno Haible  <bruno@clisp.org>
14020
14021         New module 'wcscoll'.
14022         * modules/wcscoll: New file.
14023         * lib/wchar.in.h (wcscoll): New declaration.
14024         * lib/wcscoll.c: New file.
14025         * lib/wcscoll-impl.h: New file.
14026         * m4/wcscoll.m4: New file.
14027         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
14028         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
14029         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
14030         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
14031         * doc/posix-functions/wcscoll.texi: Mention the new module.
14032
14033 2011-02-06  Bruno Haible  <bruno@clisp.org>
14034
14035         New module 'wcsncasecmp'.
14036         * modules/wcsncasecmp: New file.
14037         * lib/wchar.in.h (wcsncasecmp): New declaration.
14038         * lib/wcsncasecmp.c: New file.
14039         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
14040         * m4/wcsncasecmp.m4: New file.
14041         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
14042         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
14043         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
14044         HAVE_WCSNCASECMP.
14045         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
14046         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
14047
14048 2011-02-06  Bruno Haible  <bruno@clisp.org>
14049
14050         New module 'wcscasecmp'.
14051         * modules/wcscasecmp: New file.
14052         * lib/wchar.in.h (wcscasecmp): New declaration.
14053         * lib/wcscasecmp.c: New file.
14054         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
14055         * m4/wcscasecmp.m4: New file.
14056         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
14057         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
14058         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
14059         HAVE_WCSCASECMP.
14060         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
14061         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
14062
14063 2011-02-05  Bruno Haible  <bruno@clisp.org>
14064
14065         New module 'wcsncmp'.
14066         * modules/wcsncmp: New file.
14067         * lib/wchar.in.h (wcsncmp): New declaration.
14068         * lib/wcsncmp.c: New file.
14069         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
14070         * m4/wcsncmp.m4: New file.
14071         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
14072         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
14073         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
14074         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
14075         * doc/posix-functions/wcsncmp.texi: Mention the new module.
14076
14077 2011-02-05  Bruno Haible  <bruno@clisp.org>
14078
14079         New module 'wcscmp'.
14080         * modules/wcscmp: New file.
14081         * lib/wchar.in.h (wcscmp): New declaration.
14082         * lib/wcscmp.c: New file.
14083         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
14084         * m4/wcscmp.m4: New file.
14085         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
14086         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
14087         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
14088         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
14089         * doc/posix-functions/wcscmp.texi: Mention the new module.
14090
14091 2011-02-05  Bruno Haible  <bruno@clisp.org>
14092
14093         New module 'wcsncat'.
14094         * modules/wcsncat: New file.
14095         * lib/wchar.in.h (wcsncat): New declaration.
14096         * lib/wcsncat.c: New file.
14097         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
14098         * m4/wcsncat.m4: New file.
14099         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
14100         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
14101         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
14102         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
14103         * doc/posix-functions/wcsncat.texi: Mention the new module.
14104
14105 2011-02-05  Bruno Haible  <bruno@clisp.org>
14106
14107         New module 'wcscat'.
14108         * modules/wcscat: New file.
14109         * lib/wchar.in.h (wcscat): New declaration.
14110         * lib/wcscat.c: New file.
14111         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
14112         * m4/wcscat.m4: New file.
14113         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
14114         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
14115         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
14116         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
14117         * doc/posix-functions/wcscat.texi: Mention the new module.
14118
14119 2011-02-05  Bruno Haible  <bruno@clisp.org>
14120
14121         New module 'wcpncpy'.
14122         * modules/wcpncpy: New file.
14123         * lib/wchar.in.h (wcpncpy): New declaration.
14124         * lib/wcpncpy.c: New file.
14125         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
14126         * m4/wcpncpy.m4: New file.
14127         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
14128         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
14129         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
14130         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
14131         * doc/posix-functions/wcpncpy.texi: Mention the new module.
14132
14133 2011-02-05  Bruno Haible  <bruno@clisp.org>
14134
14135         New module 'wcsncpy'.
14136         * modules/wcsncpy: New file.
14137         * lib/wchar.in.h (wcsncpy): New declaration.
14138         * lib/wcsncpy.c: New file.
14139         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
14140         * m4/wcsncpy.m4: New file.
14141         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
14142         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
14143         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
14144         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
14145         * doc/posix-functions/wcsncpy.texi: Mention the new module.
14146
14147 2011-02-05  Bruno Haible  <bruno@clisp.org>
14148
14149         New module 'wcpcpy'.
14150         * modules/wcpcpy: New file.
14151         * lib/wchar.in.h (wcpcpy): New declaration.
14152         * lib/wcpcpy.c: New file.
14153         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
14154         * m4/wcpcpy.m4: New file.
14155         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
14156         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
14157         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
14158         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
14159         * doc/posix-functions/wcpcpy.texi: Mention the new module.
14160
14161 2011-02-05  Bruno Haible  <bruno@clisp.org>
14162
14163         New module 'wcscpy'.
14164         * modules/wcscpy: New file.
14165         * lib/wchar.in.h (wcscpy): New declaration.
14166         * lib/wcscpy.c: New file.
14167         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
14168         * m4/wcscpy.m4: New file.
14169         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
14170         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
14171         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
14172         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
14173         * doc/posix-functions/wcscpy.texi: Mention the new module.
14174
14175 2011-02-05  Bruno Haible  <bruno@clisp.org>
14176
14177         New module 'wcsnlen'.
14178         * modules/wcsnlen: New file.
14179         * lib/wchar.in.h (wcsnlen): New declaration.
14180         * lib/wcsnlen.c: New file.
14181         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
14182         * m4/wcsnlen.m4: New file.
14183         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
14184         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
14185         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
14186         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
14187         * doc/posix-functions/wcsnlen.texi: Mention the new module.
14188
14189 2011-02-05  Bruno Haible  <bruno@clisp.org>
14190
14191         New module 'wcslen'.
14192         * modules/wcslen: New file.
14193         * lib/wchar.in.h (wcslen): New declaration.
14194         * lib/wcslen.c: New file.
14195         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
14196         * m4/wcslen.m4: New file.
14197         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
14198         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
14199         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
14200         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
14201         * doc/posix-functions/wcslen.texi: Mention the new module.
14202
14203 2011-02-05  Bruno Haible  <bruno@clisp.org>
14204
14205         New module 'wmemset'.
14206         * modules/wmemset: New file.
14207         * lib/wchar.in.h (wmemset): New declaration.
14208         * lib/wmemset.c: New file.
14209         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
14210         * m4/wmemset.m4: New file.
14211         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
14212         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
14213         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
14214         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
14215         * doc/posix-functions/wmemset.texi: Mention the new module.
14216
14217 2011-02-05  Bruno Haible  <bruno@clisp.org>
14218
14219         New module 'wmemmove'.
14220         * modules/wmemmove: New file.
14221         * lib/wchar.in.h (wmemmove): New declaration.
14222         * lib/wmemmove.c: New file.
14223         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
14224         * m4/wmemmove.m4: New file.
14225         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
14226         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
14227         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
14228         HAVE_WMEMMOVE.
14229         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
14230         * doc/posix-functions/wmemmove.texi: Mention the new module.
14231
14232 2011-02-05  Bruno Haible  <bruno@clisp.org>
14233
14234         New module 'wmemcpy'.
14235         * modules/wmemcpy: New file.
14236         * lib/wchar.in.h (wmemcpy): New declaration.
14237         * lib/wmemcpy.c: New file.
14238         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
14239         * m4/wmemcpy.m4: New file.
14240         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
14241         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
14242         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
14243         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
14244         * doc/posix-functions/wmemcpy.texi: Mention the new module.
14245
14246 2011-02-05  Bruno Haible  <bruno@clisp.org>
14247
14248         New module 'wmemcmp'.
14249         * modules/wmemcmp: New file.
14250         * lib/wchar.in.h (wmemcmp): New declaration.
14251         * lib/wmemcmp.c: New file.
14252         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
14253         * m4/wmemcmp.m4: New file.
14254         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
14255         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
14256         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
14257         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
14258         * doc/posix-functions/wmemcmp.texi: Mention the new module.
14259
14260 2011-02-07  Jim Meyering  <meyering@redhat.com>
14261
14262         di-set, ino-map: new modules, from coreutils
14263         * lib/di-set.c: New file.
14264         * lib/di-set.h: Likewise.
14265         * lib/ino-map.c: Likewise.
14266         * lib/ino-map.h: Likewise.
14267         * modules/di-set: Likewise.
14268         * modules/di-set-tests: Likewise.
14269         * modules/ino-map: Likewise.
14270         * modules/ino-map-tests: Likewise.
14271         * tests/test-di-set.c: Likewise.
14272         * tests/test-ino-map.c: Likewise.
14273
14274 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
14275
14276         getloadavg: merge minor changes from Emacs
14277
14278         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
14279         (getloadavg): Use memset, not bzero.
14280
14281         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
14282         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
14283         clash (bug#86).
14284
14285 2010-11-14  Bruno Haible  <bruno@clisp.org>
14286
14287         Allow multiple gnulib generated replacements to coexist.
14288         * lib/getopt.in.h (struct option): Avoid identical redefinition.
14289         * lib/inttypes.in.h (imaxdiv_t): Likewise.
14290         * lib/langinfo.in.h (nl_item): Likewise.
14291         * lib/math.in.h (_NaN, NAN): Likewise.
14292         * lib/netdb.in.h (struct addrinfo): Likewise.
14293         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
14294         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
14295         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
14296         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
14297         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
14298         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
14299         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
14300         pthread_mutexattr_init, pthread_mutexattr_settype,
14301         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
14302         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
14303         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
14304         pthread_spin_trylock, pthread_spin_unlock): Likewise.
14305         * lib/sched.in.h (struct sched_param): Likewise.
14306         * lib/se-selinux.in.h (security_class_t, security_context_t,
14307         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
14308         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
14309         lsetfilecon, fsetfilecon, security_check_context,
14310         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
14311         Likewise.
14312         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
14313         Likewise.
14314         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
14315         _gl_function_taking_int_returning_void_t, union sigval,
14316         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
14317         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
14318         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14319         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
14320         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
14321         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
14322         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
14323         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
14324         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
14325         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
14326         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
14327         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
14328         socklen_t, rpl_fd_isset): Likewise.
14329         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
14330         * lib/sys_time.in.h (struct timeval): Likewise.
14331         * lib/sys_times.in.h (struct tms): Likewise.
14332         * lib/sys_utsname.in.h (struct utsname):
14333         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
14334         * lib/unistd.in.h (getpagesize): Likewise.
14335         * lib/wchar.in.h (mbstate_t): Likewise.
14336         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
14337         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
14338         towlower, towupper): Likewise.
14339         Reported by Sam Steingold <sds@gnu.org>.
14340
14341 2011-02-05  Eric Blake  <eblake@redhat.com>
14342
14343         unsetenv: work around Haiku issues
14344         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
14345         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
14346
14347 2010-12-30  Bruce Korb  <bkorb@gnu.org>
14348
14349         libposix: avoid calling error() within libposix
14350         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
14351         is defined.
14352
14353 2011-02-05  Eric Blake  <eblake@redhat.com>
14354
14355         strerror_r-posix: port to cygwin
14356         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
14357         implementation.
14358         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
14359         * tests/test-strerror_r.c (main): Fix test.
14360         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14361         issue.
14362
14363 2011-02-05  Bruno Haible  <bruno@clisp.org>
14364
14365         New module 'wmemchr'.
14366         * modules/wmemchr: New file.
14367         * lib/wchar.in.h (wmemchr): New declaration.
14368         * lib/wmemchr.c: New file.
14369         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
14370         * m4/wmemchr.m4: New file.
14371         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
14372         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
14373         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
14374         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
14375         * doc/posix-functions/wmemchr.texi: Mention the new module.
14376
14377 2011-02-04  Eric Blake  <eblake@redhat.com>
14378
14379         fdopendir: detect FreeBSD bug
14380         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
14381         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
14382
14383 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14384
14385         stdbool: do not define HAVE_STDBOOL_H
14386         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
14387         AC_HEADER_STDBOOL.  All uses changed.  Do not define
14388         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
14389         imported from the latest Autoconf git.  It was motivated by Emacs,
14390         which uses gnulib but does not need HAVE_STDBOOL_H.
14391
14392 2011-02-04  Bruno Haible  <bruno@clisp.org>
14393
14394         wcsnrtombs: Prepare for new module wwcsnrtombs.
14395         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
14396         * lib/wcsnrtombs.c: Include it.
14397         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
14398
14399         wcsrtombs: Prepare for new module wwcsrtombs.
14400         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
14401         * lib/wcsrtombs.c: Include it.
14402         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
14403
14404         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
14405         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
14406         * lib/mbsnrtowcs.c: Include it.
14407         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
14408
14409         mbsrtowcs: Prepare for new module mbsrtowwcs.
14410         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
14411         * lib/mbsrtowcs.c: Include it.
14412         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
14413
14414 2011-02-04  Bruno Haible  <bruno@clisp.org>
14415
14416         vasnprintf: Reduce use of malloc for small format strings.
14417         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
14418         (arguments): Add room for the first 7 arguments.
14419         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
14420         (char_directives, u8_directives, u16_directives, u32_directives): Add
14421         room for the first 7 directives.
14422         * lib/printf-parse.c: Include <string.h>.
14423         (PRINTF_PARSE): Change memory handling code so that it uses the first
14424         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
14425         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
14426         Reported by Pádraig Brady <P@draigbrady.com>.
14427
14428 2011-01-31  Eric Blake  <eblake@redhat.com>
14429
14430         dup2: work around Haiku bug
14431         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
14432         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
14433         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14434         * tests/test-dup2.c (main): Enhance test.
14435
14436 2011-01-31  Simon Josefsson  <simon@josefsson.org>
14437
14438         doc: off_t is not available in eglibc 2.11.2 stdio.h.
14439         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
14440         declared by eglibc 2.11.2.
14441         * lib/stdio.in.h: Likewise.
14442
14443 2011-01-31  Eric Blake  <eblake@redhat.com>
14444
14445         ignore-value: add missing test dependency
14446         * tests/test-ignore-value.c: Revert previous change; stdio.h
14447         provides off_t.
14448         * modules/ignore-value-tests (Depends-on): Add missing dependency.
14449
14450 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14451
14452         mktime: clarify long_int width checking
14453         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
14454         the top level, to make it clearer that the assumption about
14455         long_int width is being checked.  See
14456         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
14457
14458 2011-01-30  Simon Josefsson  <simon@josefsson.org>
14459
14460         ignore-value: Fix self-test.
14461         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14462
14463 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14464
14465         TYPE_MAXIMUM: avoid theoretically undefined behavior
14466         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14467         negative number, which the C Standard says has undefined behavior.
14468         In practice this is not a problem, but might as well do it by the book.
14469         Reported by Rich Felker and Eric Blake; see
14470         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14471         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14472         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14473         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14474         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14475         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14476         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14477
14478         mktime: #undef mktime before #defining it
14479         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14480
14481         mktime: systematically normalize tm_isdst comparisons
14482         * lib/mktime.c (isdst_differ): New function.
14483         (__mktime_internal): Use it systematically for all isdst comparisons.
14484         This completes the fix for libc BZ #6723, and removes the need for
14485         normalizing tm_isdst.  See
14486         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14487         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14488
14489         mktime: fix some integer overflow issues and sidestep the rest
14490
14491         This was prompted by a bug report by Benjamin Lindner for MinGW
14492         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14493         His bug is due to signed integer overflow (0 - INT_MIN), and I
14494         I scanned through mktime.c looking for other integer overflow
14495         problems, fixing all the bugs I found.
14496
14497         Although the C Standard says the resulting code is still not safe
14498         in the presence of integer overflow, in practice it should be good
14499         enough for all real-world two's-complement implementations, except
14500         for debugging environments that deliberately trap on integer
14501         overflow (e.g., gcc -ftrapv).
14502
14503         * lib/mktime.c (WRAPV): New macro.
14504         (SHR): Also check that long_int and time_t shift right in the
14505         usual way, before using the fast-but-unportable method.
14506         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14507         used.  The code already assumed two's complement, so there's
14508         no need to test for alternatives.  All uses removed.
14509         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14510         the C standard.  Problem reported by Rich Felker in
14511         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14512         (twos_complement_arithmetic): Also check long_int and time_t.
14513         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14514         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14515         (__mktime_internal): Avoid integer overflow with unary subtraction
14516         in two instances where -1 - X is an adequate replacement for -X,
14517         since the calculations are approximate.
14518
14519 2011-01-29  Eric Blake  <eblake@redhat.com>
14520
14521         mktime: avoid infinite loop
14522         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14523         type; behavior is still undefined but portable to all known targets.
14524         Reported by Rich Felker.
14525
14526 2011-01-29  Simon Josefsson  <simon@josefsson.org>
14527
14528         rename, unlink, same-inode: Relicense.
14529         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
14530         * modules/unlink (License): Likewise.
14531         * modules/same-inode (License): Likewise.
14532
14533 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14534
14535         mktime: avoid problems on NetBSD 5 / i386
14536         * lib/mktime.c (long_int): New type.  This works around a problem
14537         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
14538         but time_t is 64 bits, and where I expect the existing code is
14539         wrong in some cases.
14540         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
14541         (ydhms_diff): Bring back the compile-time check for wide-enough
14542         year and yday.
14543
14544         mktime: fix misspelling in comment
14545         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
14546         This merges all recent glibc changes of importance.
14547
14548 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14549
14550         move-if-change: cope with concurrent mv of identical file.
14551         * build-aux/move-if-change (CMPPROG): Accept environment
14552         variable as an override for `cmp'.
14553         (usage): Document CMPPROG.
14554         Adjust comparison to drop stdout.  Cope with failure of mv if
14555         the target file exists and is identical to the source, for
14556         parallel builds.
14557         Report from H.J. Lu against binutils in PR binutils/12283.
14558
14559 2011-01-28  Bruce Korb  <bkorb@gnu.org>
14560
14561         * users.txt: Mention sharutils.
14562
14563 2011-01-28  Simon Josefsson  <simon@josefsson.org>
14564
14565         * users.txt: Mention OATH Toolkit.
14566
14567 2011-01-27  Bruno Haible  <bruno@clisp.org>
14568
14569         Prepare for supporting FreeBSD 10.
14570         * build-aux/config.libpath: Remove handling of freebsd1*.
14571
14572 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
14573
14574         Prepare for supporting FreeBSD 10.
14575         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
14576         match FreeBSD 10.0.
14577
14578 2011-01-27  Bruno Haible  <bruno@clisp.org>
14579
14580         vma-iter, get-rusage-as: Add OpenBSD support.
14581         * modules/vma-iter (configure.ac): Test for mquery.
14582         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
14583         * lib/vma-iter.c: Include <sys/mman.h>.
14584         (vma_iterate): Add an implementation based on mquery().
14585         * lib/resource-ext.h (get_rusage_as): Update comments.
14586         * lib/get-rusage-as.c: Likewise.
14587         * lib/get-rusage-data.c: Likewise.
14588
14589 2011-01-26  Karl Berry  <karl@gnu.org>
14590
14591         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
14592         variables to make it easier to override the makeinfo program used.
14593
14594 2011-01-26  Eric Blake  <eblake@redhat.com>
14595
14596         fcntl: work around Haiku F_DUPFD bugs
14597         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
14598         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
14599         cloexec bit on duplication.
14600         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
14601
14602 2011-01-26  Bruno Haible  <bruno@clisp.org>
14603
14604         Enable memory leak tests on AIX.
14605         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
14606         * tests/test-fprintf-posix3.c (main): Likewise.
14607
14608 2011-01-26  Bruno Haible  <bruno@clisp.org>
14609
14610         Tests for module 'get-rusage-data'.
14611         * modules/get-rusage-data-tests: New file.
14612         * tests/test-get-rusage-data.c: New file.
14613
14614         New module 'get-rusage-data'.
14615         * lib/resource-ext.h (get_rusage_data): New declaration.
14616         * lib/get-rusage-data.c: New file.
14617         * modules/get-rusage-data: New file.
14618
14619 2011-01-25  Bruno Haible  <bruno@clisp.org>
14620
14621         get-rusage-as: Allow for easier testing.
14622         * lib/resource-ext.h (get_rusage_as): Add comment.
14623         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
14624         (main): New function for interactive testing.
14625
14626 2011-01-25  Bruno Haible  <bruno@clisp.org>
14627
14628         vma-iter: Treat Haiku like BeOS.
14629         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
14630         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
14631
14632 2011-01-25  Eric Blake  <eblake@redhat.com>
14633
14634         c-stack: fix regression on cygwin when libsigsegv is present
14635         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
14636
14637 2011-01-24  Bruno Haible  <bruno@clisp.org>
14638
14639         vma-iter: Avoid empty intervals.
14640         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
14641         on an empty interval.
14642
14643 2011-01-24  Jim Meyering  <meyering@redhat.com>
14644
14645         u64: remove unnecessary #include
14646         * lib/u64.h: Don't include <stddef.h>.  It was not used.
14647
14648 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14649
14650         Allow the user to avoid the HAVE_RAW_DECL_* macros.
14651         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
14652
14653 2011-01-23  Bruno Haible  <bruno@clisp.org>
14654
14655         New module 'vma-iter'.
14656         * lib/vma-iter.h: New file.
14657         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
14658         * modules/vma-iter: New file.
14659         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
14660         for get_rusage_as_via_iterator.
14661         (vma_iterate_callback): New function.
14662         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
14663         * modules/get-rusage-as (Depends-on): Add vma-iter.
14664
14665 2011-01-23  Bruno Haible  <bruno@clisp.org>
14666
14667         uninorm: Tweak includes.
14668         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
14669         Reported by Jim Meyering.
14670
14671 2011-01-23  Bruno Haible  <bruno@clisp.org>
14672
14673         get-rusage-as: Improve on NetBSD.
14674         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
14675         /proc, like on FreeBSD.
14676
14677 2011-01-23  Jim Meyering  <meyering@redhat.com>
14678
14679         xreadlink.h: remove unnecessary #include
14680         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
14681
14682         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
14683         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
14684
14685 2011-01-23  Bruno Haible  <bruno@clisp.org>
14686
14687         get-rusage-as: Fix bug.
14688         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
14689         original limit when aborting the first loop.
14690
14691 2011-01-23  Bruno Haible  <bruno@clisp.org>
14692
14693         wctype: Ensure valid C syntax.
14694         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
14695         unconditionally, instead of gl_NEXT_HEADERS conditionally.
14696
14697 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14698
14699         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
14700         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
14701         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
14702         as they are needed only for configure's test case.
14703         This removes two unnecessary symbols from config.h.
14704
14705         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
14706         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
14707         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
14708         AC_CHECK_HEADERS_ONCE on a header that we also invoke
14709         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
14710         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
14711         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
14712         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14713         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14714         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14715         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14716         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14717         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14718         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14719         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14720         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14721         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14722         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14723
14724 2011-01-21  Eric Blake  <eblake@redhat.com>
14725
14726         maintainer-makefile: work with older git for submodule check
14727         * top/maint.mk (public-submodule-commit): Rewrite to avoid
14728         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
14729         Reported by Matthias Bolte.
14730
14731         bootstrap: minor portability fixes
14732         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
14733         (usage): Omit leading capital and trailing . on help phrases, per
14734         GNU Coding Standards.
14735         (check_versions, top level): Prefix messages with script name.
14736
14737 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
14738
14739         bootstrap: support --no-git option
14740         * build-aux/bootstrap: Add --no-git option, to be used when
14741         --gnulib-srcdir points to the exact desired checkout.
14742
14743 2011-01-21  Eric Blake  <eblake@redhat.com>
14744
14745         strerror_r-posix: work with glibc 2.13
14746         * lib/strerror_r.c (strerror_r): Fix return type.
14747
14748 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14749             Bruno Haible  <bruno@clisp.org>
14750
14751         uN_strstr: New unit tests.
14752         * modules/unistr/u8-strstr-tests: New file.
14753         * modules/unistr/u16-strstr-tests: New file.
14754         * modules/unistr/u32-strstr-tests: New file.
14755         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
14756         * tests/unistr/test-u8-strstr.c: New file.
14757         * tests/unistr/test-u16-strstr.c: New file.
14758         * tests/unistr/test-u32-strstr.c: New file.
14759
14760 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14761             Bruno Haible  <bruno@clisp.org>
14762
14763         Make uN_strstr functions O(n) worst-case.
14764         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
14765         16-bit and 32-bit unit cases, use the unibyte algorithm from
14766         lib/mbsstr.c.
14767         * lib/unistr/u8-strstr.c: Include <string.h>.
14768         (UNIT_IS_UINT8_T): New macro.
14769         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
14770         (U_STRLEN, U_STRNLEN): New macros.
14771         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
14772         (U_STRLEN, U_STRNLEN): New macros.
14773         * modules/unistr/u8-strstr (Depends-on): Add strstr.
14774         (configure.ac): Update required libunistring version.
14775         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
14776         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
14777         malloca.
14778         (configure.ac): Update required libunistring version.
14779         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
14780         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
14781         malloca.
14782         (configure.ac): Update required libunistring version.
14783
14784 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14785             Bruno Haible  <bruno@clisp.org>
14786
14787         Prepare for faster uN_strstr functions.
14788         * lib/str-kmp.h: Support definable UNITs.
14789         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
14790         needle_len argument.
14791         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
14792         * lib/mbscasestr.c (mbscasestr): Likewise.
14793
14794 2011-01-21  Pádraig Brady <P@draigBrady.com>
14795
14796         malloca-tests: make faster by unsetting MALLOC_PERTURB_
14797         * tests/test-malloca.c (main): Unset the environment variable
14798         to greatly speed up the test.
14799         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
14800         * modules/malloca-tests: Depend on unsetenv.
14801
14802 2011-01-21  Pádraig Brady <P@draigBrady.com>
14803
14804         ignore-value: remove stdint dependency
14805         * lib/ignore-value.h: Remove <stdint.h>
14806         * modules/ignore-value: Remove stdint dependency.
14807
14808 2011-01-21  Jim Meyering  <meyering@redhat.com>
14809
14810         maint.mk: adjust variable name to be consistent with other gl_ vars
14811         * top/maint.mk (gl_public_submodule_commit): Rename the variable
14812         to be lower case.
14813
14814 2011-01-20  Jim Meyering  <meyering@redhat.com>
14815
14816         maint.mk: make "check" depend on public-submodule-commit by default
14817         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
14818
14819 2011-01-20  Bruno Haible  <bruno@clisp.org>
14820
14821         mbfile, mbiter: Complete change from 2008-12-21.
14822         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
14823         * m4/mbiter.m4 (gl_MBITER): Likewise.
14824
14825 2011-01-20  Jim Meyering  <meyering@redhat.com>
14826
14827         init.sh: insert space between each function name and "()"
14828         * tests/init.sh: Make it a little easier to see that a function's
14829         name is "warn_", and not "warn" when looking at the first part of
14830         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
14831
14832 2011-01-20  Jim Meyering  <meyering@redhat.com>
14833
14834         mountlist: clean up code formatting
14835         * lib/mountlist.c (read_file_system_list): Split a long line,
14836         correct bracing style, use NULL in place of "(struct statfs *)0",
14837         don't parenthesize return value, add spaces around "=" and after
14838         ";-in-for-stmt".
14839
14840 2011-01-14  Markus Duft <mduft@gentoo.org>
14841
14842         mountlist: add support for Interix
14843         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
14844         Apply statvfs to all entries of /dev/fs.
14845         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
14846         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
14847
14848 2011-01-20  Jim Meyering  <meyering@redhat.com>
14849
14850         maint.mk: improve the public-submodule-commit rule
14851         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
14852         to suppress printing of its commands... unless V=1.
14853         Add git submodule's --quiet option to suppress printing of e.g.,
14854         "Entering gnulib" output.
14855         "cd" into $(srcdir) before running git submodule.
14856
14857 2011-01-20  Bruno Haible  <bruno@clisp.org>
14858
14859         include_next: Fix bug introduced on 2011-01-18.
14860         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
14861         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
14862         ac_cv_header_... variable if the second argument is not 'check'.
14863         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
14864         gl_NEXT_HEADERS_INTERNAL.
14865
14866 2011-01-20  Bruno Haible  <bruno@clisp.org>
14867
14868         Allow the user to avoid the GNULIB_TEST_* macros.
14869         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
14870         Suggested by Paul Eggert.
14871
14872 2011-01-14  Jim Meyering  <meyering@redhat.com>
14873
14874         bootstrap: avoid failure when there is no .gitmodules file
14875         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
14876         has been assigned to, even when its value is the empty string.
14877         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
14878         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
14879         Reported by John W. Eaton <jwe@gnu.org>.
14880
14881 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14882
14883         assume <ctype.h>, ..., <time.h> exist
14884         For years gnulib has been assuming the existence of the headers
14885         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
14886         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
14887         them, since they don't appear to be needed.
14888         * README (Portability guidelines): Document this.
14889         * lib/flock.c: Assume <fcntl.h> exists.
14890         * lib/regex_internal.h: Assume <locale.h> exists.
14891         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
14892         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
14893         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
14894         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
14895         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
14896         * m4/regex.m4 (gl_REGEX): Likewise.
14897         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
14898         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
14899         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
14900         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
14901         * tests/test-argp.c: Likewise.
14902         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
14903
14904         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
14905         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
14906         AA_APPLE_UNIVERSAL_BUILD.  See
14907         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
14908         * NEWS: Document this.
14909
14910 2011-01-19  Eric Blake  <eblake@redhat.com>
14911
14912         c-stack: assume stack overflow if SA_SIGINFO unsupported
14913         * lib/c-stack.c (SIGACTION_WORKS): Rename...
14914         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
14915         sigaction will work.
14916         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
14917         behavior match Linux.
14918         * tests/test-c-stack.c (main): Prefer NULL for pointers.
14919
14920         stdbool-tests: accomodate Haiku
14921         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
14922
14923         binary-io: fix O_TEXT on Haiku
14924         * modules/binary-io (Depends-on): Add fcntl-h.
14925         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
14926         than blindly undefining O_TEXT.
14927         Reported by Scott McCreary.
14928
14929 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14930
14931         include_next: do not check for standard headers like stddef.h
14932
14933         I found this problem when modifying Emacs to use gnulib.
14934         I noticed that it added HAVE_STDDEF_H to config.h, even though
14935         gnulib always assumes <stddef.h> exists as per README and this
14936         symbol is unnecessary.
14937         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
14938         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
14939         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
14940         faster for headers like stddef.h that are known to exist.
14941         (gl_CHECK_NEXT_HEADERS): Use it.
14942         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
14943         rather than gl_CHECK_NEXT_HEADERS.
14944         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
14945         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
14946
14947 2011-01-18  Eric Blake  <eblake@redhat.com>
14948
14949         ansi-c++-opt: skip C++ dependency style if C++ is unused
14950         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
14951         tests when we know C++ compilation is not desired.
14952         Reported by Scott McCreary.
14953
14954 2011-01-18  Bruno Haible  <bruno@clisp.org>
14955
14956         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
14957         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
14958         (main): Perform test also when getrlimit and setrlimit don't exist or
14959         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
14960         limiting the address space size using setrlimit, compare the address
14961         space size before and after the the test.
14962         * tests/test-dprintf-posix2.c: Likewise.
14963         * tests/test-fprintf-posix3.sh: Update skip messages.
14964         * tests/test-dprintf-posix2.sh: Likewise.
14965         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
14966         * modules/dprintf-posix-tests (Depends-on): Likewise.
14967         Reported by Bruce Korb <bkorb@gnu.org> and
14968         Gary V. Vaughan <gary@gnu.org>.
14969
14970 2011-01-18  Bruno Haible  <bruno@clisp.org>
14971
14972         get-rusage-as: Improvement for Cygwin.
14973         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
14974         areas that are merely reserved.
14975
14976 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14977
14978         strftime: remove dependencies on multibyte modules
14979
14980         strftime depended on mbrlen, mbsinit, and wchar, but these modules
14981         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
14982         only if __osf__ is defined, and I suspect OSF doesn't need these
14983         other modules.  If my guess is wrong, we'll need to come up with a
14984         variant of strftime that doesn't need the multibyte modules.
14985
14986         I discovered this problem when attempting modify Emacs to use the
14987         strftime module.  With the previous gnulib, this caused Emacs to
14988         need 31 new files, ranging from lib/config.charset to
14989         m4/wint_t.m4.  This was overkill and I expect would be offputting
14990         to the Emacs maintainers.  After this change, only 6 new files are
14991         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
14992         stdbool.m4, and tm_gmtoff.m4.
14993
14994         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
14995         Suggested by Bruno Haible in
14996         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
14997         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
14998         and do not check for wchar.h.
14999         * modules/strftime (Files): Remove m4/mbstate_t.m4.
15000         (Depends-on): Remove mbrlen, mbsinit, wchar.
15001
15002 2011-01-18  Bruno Haible  <bruno@clisp.org>
15003
15004         Tests for module 'get-rusage-as'.
15005         * modules/get-rusage-as-tests: New file.
15006         * tests/test-get-rusage-as.c: New file.
15007
15008         New module 'get-rusage-as'.
15009         * modules/get-rusage-as: New file.
15010         * lib/resource-ext.h: New file.
15011         * lib/get-rusage-as.c: New file.
15012
15013 2011-01-17  Eric Blake  <eblake@redhat.com>
15014
15015         sigaction: relax license from LGPLv3+ to LGPLv2+
15016         * modules/sigaction (License): Relax to LGPLv2+.
15017
15018 2011-01-14  Bruno Haible  <bruno@clisp.org>
15019
15020         filemode: Make function declarations usable in C++ mode.
15021         * lib/filemode.h: Enclose function declarations in extern "C" block.
15022         Reported by John W. Eaton <jwe@gnu.org>.
15023
15024 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
15025
15026         save-cwd: no longer include "xgetcwd.h"
15027         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
15028         This avoids a compilation failure in projects that use save-cwd
15029         without also using the xgetcwd module.
15030
15031 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15032
15033         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
15034         This is so that a program like Emacs, which needs only dtoastr,
15035         does not have to bother with distributing and compiling ftoastr
15036         and ldtoastr.
15037         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
15038         * modules/dtoastr, modules/ldtoastr: New files.
15039         * modules/ftoastr: Now works just for 'float'.
15040         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
15041         (Makefile.am): Remove ftoastr.h (not needed and no effect),
15042         dtoastr.c, ldtoastr.c.
15043
15044 2011-01-11  Jim Meyering  <meyering@redhat.com>
15045
15046         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
15047         There is no need to work around the lack of the fchdir function,
15048         since gnulib can now provide a replacement when required.
15049         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
15050         * modules/save-cwd (Depends-on): Add fchdir.
15051
15052 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15053
15054         openat, save-cwd: avoid xmalloc
15055
15056         This removes a direct (but undocumented) dependency of openat on
15057         xalloc, along with an indirect dependency via save-cwd.  It also
15058         removes a dependency of save-cwd on xgetcwd, and thereby
15059         indirectly on xalloc.  This change causes the openat substitute
15060         to fall back on save_cwd when memory is tight, and for save_cwd to
15061         fail instead of dying when memory is tight, but that's good enough.
15062         Problem and initial idea for fix reported by Bastien Roucaries in
15063         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
15064
15065         * lib/openat-proc.c: Include stdlib.h (for malloc), not
15066         xalloc.h (for xmalloc).
15067         (openat_proc_name): Use malloc, not xmalloc.
15068         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
15069         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
15070
15071         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
15072         This avoids heap allocation for file names whose lengths are in
15073         the range 512..1023, with the upper bound increasing to at most
15074         4031 depending on the platform's PATH_MAX.  (We do not want
15075         pathmax.h here as it might supply a non-constant PATH_MAX.)
15076         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
15077         Perhaps they should be moved to malloca.h?
15078         (OPENAT_BUFFER_SIZE): Use them.
15079
15080 2011-01-10  Bruno Haible  <bruno@clisp.org>
15081
15082         doc: Update users.txt.
15083         * users.txt: Add recutils.
15084
15085 2011-01-09  Karl Berry  <karl@gnu.org>
15086
15087         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
15088
15089         * doc/configmake.texi: New file.
15090         * doc/gnulib.texi: Include it.
15091         * modules/configmake: Move documentation from here.
15092
15093 2011-01-09  Bruno Haible  <bruno@clisp.org>
15094
15095         Update to Unicode 6.0.0.
15096         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
15097         (get_lbp): Update for Unicode 6.0.0.
15098         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
15099         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
15100         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
15101         U+11001, U+11038..U+11046. Remove U+06DE.
15102         (uc_width): Fix bounds of planes.
15103         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15104         lib/uniwidth/width.c.
15105         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
15106         trailing whitespace removed.
15107         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
15108         without comments, but with the original copyright notice.
15109         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
15110         * lib/unicase/ignorable.h: Likewise.
15111         * lib/unicase/tocasefold.h: Likewise.
15112         * lib/unicase/tolower.h: Likewise.
15113         * lib/unicase/totitle.h: Likewise.
15114         * lib/unicase/toupper.h: Likewise.
15115         * lib/unictype/bidi_of.h: Likewise.
15116         * lib/unictype/blocks.h: Likewise.
15117         * lib/unictype/categ_C.h: Likewise.
15118         * lib/unictype/categ_Cn.h: Likewise.
15119         * lib/unictype/categ_L.h: Likewise.
15120         * lib/unictype/categ_Ll.h: Likewise.
15121         * lib/unictype/categ_Lm.h: Likewise.
15122         * lib/unictype/categ_Lo.h: Likewise.
15123         * lib/unictype/categ_Lu.h: Likewise.
15124         * lib/unictype/categ_M.h: Likewise.
15125         * lib/unictype/categ_Mc.h: Likewise.
15126         * lib/unictype/categ_Me.h: Likewise.
15127         * lib/unictype/categ_Mn.h: Likewise.
15128         * lib/unictype/categ_N.h: Likewise.
15129         * lib/unictype/categ_Nd.h: Likewise.
15130         * lib/unictype/categ_No.h: Likewise.
15131         * lib/unictype/categ_P.h: Likewise.
15132         * lib/unictype/categ_Po.h: Likewise.
15133         * lib/unictype/categ_S.h: Likewise.
15134         * lib/unictype/categ_Sc.h: Likewise.
15135         * lib/unictype/categ_Sk.h: Likewise.
15136         * lib/unictype/categ_Sm.h: Likewise.
15137         * lib/unictype/categ_So.h: Likewise.
15138         * lib/unictype/categ_of.h: Likewise.
15139         * lib/unictype/combining.h: Likewise.
15140         * lib/unictype/ctype_alnum.h: Likewise.
15141         * lib/unictype/ctype_alpha.h: Likewise.
15142         * lib/unictype/ctype_graph.h: Likewise.
15143         * lib/unictype/ctype_lower.h: Likewise.
15144         * lib/unictype/ctype_print.h: Likewise.
15145         * lib/unictype/ctype_punct.h: Likewise.
15146         * lib/unictype/ctype_upper.h: Likewise.
15147         * lib/unictype/decdigit.h: Likewise.
15148         * lib/unictype/digit.h: Likewise.
15149         * lib/unictype/numeric.h: Likewise.
15150         * lib/unictype/pr_alphabetic.h: Likewise.
15151         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15152         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15153         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15154         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15155         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15156         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15157         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15158         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15159         * lib/unictype/pr_case_ignorable.h: Likewise.
15160         * lib/unictype/pr_cased.h: Likewise.
15161         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
15162         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
15163         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
15164         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
15165         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
15166         * lib/unictype/pr_combining.h: Likewise.
15167         * lib/unictype/pr_composite.h: Likewise.
15168         * lib/unictype/pr_currency_symbol.h: Likewise.
15169         * lib/unictype/pr_decimal_digit.h: Likewise.
15170         * lib/unictype/pr_deprecated.h: Likewise.
15171         * lib/unictype/pr_format_control.h: Likewise.
15172         * lib/unictype/pr_grapheme_base.h: Likewise.
15173         * lib/unictype/pr_grapheme_extend.h: Likewise.
15174         * lib/unictype/pr_grapheme_link.h: Likewise.
15175         * lib/unictype/pr_id_continue.h: Likewise.
15176         * lib/unictype/pr_id_start.h: Likewise.
15177         * lib/unictype/pr_ideographic.h: Likewise.
15178         * lib/unictype/pr_lowercase.h: Likewise.
15179         * lib/unictype/pr_math.h: Likewise.
15180         * lib/unictype/pr_numeric.h: Likewise.
15181         * lib/unictype/pr_other_alphabetic.h: Likewise.
15182         * lib/unictype/pr_other_id_continue.h: Likewise.
15183         * lib/unictype/pr_other_math.h: Likewise.
15184         * lib/unictype/pr_punctuation.h: Likewise.
15185         * lib/unictype/pr_sentence_terminal.h: Likewise.
15186         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15187         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15188         * lib/unictype/pr_unified_ideograph.h: Likewise.
15189         * lib/unictype/pr_uppercase.h: Likewise.
15190         * lib/unictype/pr_xid_continue.h: Likewise.
15191         * lib/unictype/pr_xid_start.h: Likewise.
15192         * lib/unictype/scripts.h: Likewise.
15193         * lib/unictype/scripts_byname.gperf: Likewise.
15194         * lib/unictype/sy_java_ident.h: Likewise.
15195         * lib/unigbrk/gbrkprop.h: Likewise.
15196         * lib/unilbrk/lbrkprop1.h: Likewise.
15197         * lib/unilbrk/lbrkprop2.h: Likewise.
15198         * lib/uninorm/decomposition-table2.h: Likewise.
15199         * lib/uniwbrk/wbrkprop.h: Likewise.
15200         * tests/unicase/test-cased.c: Likewise.
15201         * tests/unicase/test-ignorable.c: Likewise.
15202         * tests/unicase/test-uc_tolower.c: Likewise.
15203         * tests/unicase/test-uc_totitle.c: Likewise.
15204         * tests/unicase/test-uc_toupper.c: Likewise.
15205         * tests/unictype/test-categ_C.c: Likewise.
15206         * tests/unictype/test-categ_Cn.c: Likewise.
15207         * tests/unictype/test-categ_L.c: Likewise.
15208         * tests/unictype/test-categ_Ll.c: Likewise.
15209         * tests/unictype/test-categ_Lm.c: Likewise.
15210         * tests/unictype/test-categ_Lo.c: Likewise.
15211         * tests/unictype/test-categ_Lu.c: Likewise.
15212         * tests/unictype/test-categ_M.c: Likewise.
15213         * tests/unictype/test-categ_Mc.c: Likewise.
15214         * tests/unictype/test-categ_Me.c: Likewise.
15215         * tests/unictype/test-categ_Mn.c: Likewise.
15216         * tests/unictype/test-categ_N.c: Likewise.
15217         * tests/unictype/test-categ_Nd.c: Likewise.
15218         * tests/unictype/test-categ_No.c: Likewise.
15219         * tests/unictype/test-categ_P.c: Likewise.
15220         * tests/unictype/test-categ_Po.c: Likewise.
15221         * tests/unictype/test-categ_S.c: Likewise.
15222         * tests/unictype/test-categ_Sc.c: Likewise.
15223         * tests/unictype/test-categ_Sk.c: Likewise.
15224         * tests/unictype/test-categ_Sm.c: Likewise.
15225         * tests/unictype/test-categ_So.c: Likewise.
15226         * tests/unictype/test-ctype_alnum.c: Likewise.
15227         * tests/unictype/test-ctype_alpha.c: Likewise.
15228         * tests/unictype/test-ctype_graph.c: Likewise.
15229         * tests/unictype/test-ctype_lower.c: Likewise.
15230         * tests/unictype/test-ctype_print.c: Likewise.
15231         * tests/unictype/test-ctype_punct.c: Likewise.
15232         * tests/unictype/test-ctype_upper.c: Likewise.
15233         * tests/unictype/test-decdigit.h: Likewise.
15234         * tests/unictype/test-digit.h: Likewise.
15235         * tests/unictype/test-numeric.h: Likewise.
15236         * tests/unictype/test-pr_alphabetic.c: Likewise.
15237         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15238         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
15239         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
15240         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15241         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15242         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15243         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15244         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15245         * tests/unictype/test-pr_case_ignorable.c: Likewise.
15246         * tests/unictype/test-pr_cased.c: Likewise.
15247         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
15248         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
15249         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
15250         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
15251         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
15252         * tests/unictype/test-pr_combining.c: Likewise.
15253         * tests/unictype/test-pr_composite.c: Likewise.
15254         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15255         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15256         * tests/unictype/test-pr_deprecated.c: Likewise.
15257         * tests/unictype/test-pr_format_control.c: Likewise.
15258         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15259         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15260         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15261         * tests/unictype/test-pr_id_continue.c: Likewise.
15262         * tests/unictype/test-pr_id_start.c: Likewise.
15263         * tests/unictype/test-pr_ideographic.c: Likewise.
15264         * tests/unictype/test-pr_lowercase.c: Likewise.
15265         * tests/unictype/test-pr_math.c: Likewise.
15266         * tests/unictype/test-pr_numeric.c: Likewise.
15267         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15268         * tests/unictype/test-pr_other_id_continue.c: Likewise.
15269         * tests/unictype/test-pr_other_math.c: Likewise.
15270         * tests/unictype/test-pr_punctuation.c: Likewise.
15271         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15272         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15273         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15274         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15275         * tests/unictype/test-pr_uppercase.c: Likewise.
15276         * tests/unictype/test-pr_xid_continue.c: Likewise.
15277         * tests/unictype/test-pr_xid_start.c: Likewise.
15278         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15279         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15280         changes.
15281         * lib/unictype/categ_Cc.h: Likewise.
15282         * lib/unictype/categ_Cf.h: Likewise.
15283         * lib/unictype/categ_Co.h: Likewise.
15284         * lib/unictype/categ_Cs.h: Likewise.
15285         * lib/unictype/categ_Lt.h: Likewise.
15286         * lib/unictype/categ_Nl.h: Likewise.
15287         * lib/unictype/categ_Pc.h: Likewise.
15288         * lib/unictype/categ_Pd.h: Likewise.
15289         * lib/unictype/categ_Pe.h: Likewise.
15290         * lib/unictype/categ_Pf.h: Likewise.
15291         * lib/unictype/categ_Pi.h: Likewise.
15292         * lib/unictype/categ_Ps.h: Likewise.
15293         * lib/unictype/categ_Z.h: Likewise.
15294         * lib/unictype/categ_Zl.h: Likewise.
15295         * lib/unictype/categ_Zp.h: Likewise.
15296         * lib/unictype/categ_Zs.h: Likewise.
15297         * lib/unictype/ctype_blank.h: Likewise.
15298         * lib/unictype/ctype_cntrl.h: Likewise.
15299         * lib/unictype/ctype_digit.h: Likewise.
15300         * lib/unictype/ctype_space.h: Likewise.
15301         * lib/unictype/ctype_xdigit.h: Likewise.
15302         * lib/unictype/mirror.h: Likewise.
15303         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15304         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15305         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15306         * lib/unictype/pr_bidi_control.h: Likewise.
15307         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15308         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15309         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15310         * lib/unictype/pr_bidi_pdf.h: Likewise.
15311         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15312         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15313         * lib/unictype/pr_dash.h: Likewise.
15314         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15315         * lib/unictype/pr_diacritic.h: Likewise.
15316         * lib/unictype/pr_extender.h: Likewise.
15317         * lib/unictype/pr_hex_digit.h: Likewise.
15318         * lib/unictype/pr_hyphen.h: Likewise.
15319         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15320         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15321         * lib/unictype/pr_ignorable_control.h: Likewise.
15322         * lib/unictype/pr_iso_control.h: Likewise.
15323         * lib/unictype/pr_join_control.h: Likewise.
15324         * lib/unictype/pr_left_of_pair.h: Likewise.
15325         * lib/unictype/pr_line_separator.h: Likewise.
15326         * lib/unictype/pr_logical_order_exception.h: Likewise.
15327         * lib/unictype/pr_non_break.h: Likewise.
15328         * lib/unictype/pr_not_a_character.h: Likewise.
15329         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15330         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15331         * lib/unictype/pr_other_id_start.h: Likewise.
15332         * lib/unictype/pr_other_lowercase.h: Likewise.
15333         * lib/unictype/pr_other_uppercase.h: Likewise.
15334         * lib/unictype/pr_paired_punctuation.h: Likewise.
15335         * lib/unictype/pr_paragraph_separator.h: Likewise.
15336         * lib/unictype/pr_pattern_syntax.h: Likewise.
15337         * lib/unictype/pr_pattern_white_space.h: Likewise.
15338         * lib/unictype/pr_private_use.h: Likewise.
15339         * lib/unictype/pr_quotation_mark.h: Likewise.
15340         * lib/unictype/pr_radical.h: Likewise.
15341         * lib/unictype/pr_soft_dotted.h: Likewise.
15342         * lib/unictype/pr_space.h: Likewise.
15343         * lib/unictype/pr_titlecase.h: Likewise.
15344         * lib/unictype/pr_variation_selector.h: Likewise.
15345         * lib/unictype/pr_white_space.h: Likewise.
15346         * lib/unictype/pr_zero_width.h: Likewise.
15347         * lib/unictype/sy_c_ident.h: Likewise.
15348         * lib/unictype/sy_c_whitespace.h: Likewise.
15349         * lib/unictype/sy_java_whitespace.h: Likewise.
15350         * lib/uninorm/composition-table.gperf: Likewise.
15351         * lib/uninorm/decomposition-table1.h: Likewise.
15352         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
15353         LB8.
15354         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15355         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15356         * modules/unictype/*: Bump version number of expected libunistring
15357         version.
15358
15359 2011-01-09  Bruno Haible  <bruno@clisp.org>
15360
15361         Update to Unicode 5.2.0.
15362         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
15363         trailing whitespace removed.
15364
15365 2011-01-09  Bruno Haible  <bruno@clisp.org>
15366
15367         New Unicode character properties, from Unicode 5.2.0.
15368         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
15369         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
15370         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
15371         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
15372         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
15373         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
15374         uc_is_property_cased, uc_is_property_case_ignorable,
15375         uc_is_property_changes_when_lowercased,
15376         uc_is_property_changes_when_uppercased,
15377         uc_is_property_changes_when_titlecased,
15378         uc_is_property_changes_when_casefolded,
15379         uc_is_property_changes_when_casemapped): New declarations.
15380         * lib/unictype/pr_byname.gperf: Add the new properties.
15381         * modules/unictype/property-byname (Depends-on): Depend on the new
15382         properties modules.
15383         * modules/unictype/property-all (Depends-on): Likewise.
15384         * MODULES.html.sh (Unicode string functions): Add
15385         unictype/property-case-ignorable, unictype/property-cased,
15386         unictype/property-changes-when-casefolded,
15387         unictype/property-changes-when-casemapped,
15388         unictype/property-changes-when-lowercased,
15389         unictype/property-changes-when-titlecased,
15390         unictype/property-changes-when-uppercased.
15391
15392         New module 'unictype/property-changes-when-casemapped'.
15393         * modules/unictype/property-changes-when-casemapped: New file.
15394         * lib/unictype/pr_changes_when_casemapped.c: New file.
15395         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
15396         generated by gen-uni-tables.
15397         * modules/unictype/property-changes-when-casemapped-tests: New file.
15398         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
15399         automatically generated by gen-uni-tables.
15400
15401         New module 'unictype/property-changes-when-casefolded'.
15402         * modules/unictype/property-changes-when-casefolded: New file.
15403         * lib/unictype/pr_changes_when_casefolded.c: New file.
15404         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
15405         generated by gen-uni-tables.
15406         * modules/unictype/property-changes-when-casefolded-tests: New file.
15407         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
15408         automatically generated by gen-uni-tables.
15409
15410         New module 'unictype/property-changes-when-titlecased'.
15411         * modules/unictype/property-changes-when-titlecased: New file.
15412         * lib/unictype/pr_changes_when_titlecased.c: New file.
15413         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
15414         generated by gen-uni-tables.
15415         * modules/unictype/property-changes-when-titlecased-tests: New file.
15416         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
15417         automatically generated by gen-uni-tables.
15418
15419         New module 'unictype/property-changes-when-uppercased'.
15420         * modules/unictype/property-changes-when-uppercased: New file.
15421         * lib/unictype/pr_changes_when_uppercased.c: New file.
15422         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
15423         generated by gen-uni-tables.
15424         * modules/unictype/property-changes-when-uppercased-tests: New file.
15425         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
15426         automatically generated by gen-uni-tables.
15427
15428         New module 'unictype/property-changes-when-lowercased'.
15429         * modules/unictype/property-changes-when-lowercased: New file.
15430         * lib/unictype/pr_changes_when_lowercased.c: New file.
15431         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
15432         generated by gen-uni-tables.
15433         * modules/unictype/property-changes-when-lowercased-tests: New file.
15434         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
15435         automatically generated by gen-uni-tables.
15436
15437         New module 'unictype/property-case-ignorable'.
15438         * modules/unictype/property-case-ignorable: New file.
15439         * lib/unictype/pr_case_ignorable.c: New file.
15440         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
15441         by gen-uni-tables.
15442         * modules/unictype/property-case-ignorable-tests: New file.
15443         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
15444         generated by gen-uni-tables.
15445
15446         New module 'unictype/property-cased'.
15447         * modules/unictype/property-cased: New file.
15448         * lib/unictype/pr_cased.c: New file.
15449         * lib/unictype/pr_cased.h: New file, automatically generated by
15450         gen-uni-tables.
15451         * modules/unictype/property-cased-tests: New file.
15452         * tests/unictype/test-pr_cased.c: New file, automatically generated by
15453         gen-uni-tables.
15454
15455 2011-01-09  Bruno Haible  <bruno@clisp.org>
15456
15457         Update to Unicode 5.2.0.
15458         * lib/gen-uni-tables.c (output_predicate, output_category,
15459         output_combclass, output_bidi_category, output_decimal_digit_test,
15460         output_decimal_digit, output_digit_test, output_digit,
15461         output_numeric_test, output_numeric, output_mirror, output_scripts,
15462         output_scripts_byname, output_blocks, output_ident_category): Fix
15463         comment header.
15464         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15465         get_wbp.
15466         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15467         items.
15468         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15469         Changes_When_Lowercased, Changes_When_Uppercased,
15470         Changes_When_Titlecased, Changes_When_Casefolded,
15471         Changes_When_Casemapped.
15472         (is_property_alphabetic, is_property_default_ignorable_code_point):
15473         Update for Unicode 5.2.0.
15474         (is_property_cased, is_property_case_ignorable,
15475         is_property_changes_when_lowercased,
15476         is_property_changes_when_uppercased,
15477         is_property_changes_when_titlecased,
15478         is_property_changes_when_casefolded,
15479         is_property_changes_when_casemapped): New functions.
15480         (output_properties): Output also the properties cased, case_ignorable,
15481         changes_when_lowercased, changes_when_uppercased,
15482         changes_when_titlecased, changes_when_casefolded,
15483         changes_when_casemapped.
15484         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15485         Unicode TR#11 revision 17 -> 19.
15486         (LBP_CP): New enumeration value.
15487         (LBP_*): Adjust values accordingly.
15488         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15489         TR#14 revision 22 -> 24.
15490         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15491         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15492         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15493         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15494         is_WBP_MIDLETTER.
15495         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15496         the code1 and code2 of each composition rule.
15497         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15498         * lib/unicase/ignorable.h: Likewise.
15499         * lib/unicase/tocasefold.h: Likewise.
15500         * lib/unicase/tolower.h: Likewise.
15501         * lib/unicase/totitle.h: Likewise.
15502         * lib/unicase/toupper.h: Likewise.
15503         * lib/unictype/bidi_of.h: Likewise.
15504         * lib/unictype/blocks.h: Likewise.
15505         * lib/unictype/categ_C.h: Likewise.
15506         * lib/unictype/categ_Cf.h: Likewise.
15507         * lib/unictype/categ_Cn.h: Likewise.
15508         * lib/unictype/categ_L.h: Likewise.
15509         * lib/unictype/categ_Ll.h: Likewise.
15510         * lib/unictype/categ_Lm.h: Likewise.
15511         * lib/unictype/categ_Lo.h: Likewise.
15512         * lib/unictype/categ_Lu.h: Likewise.
15513         * lib/unictype/categ_M.h: Likewise.
15514         * lib/unictype/categ_Mc.h: Likewise.
15515         * lib/unictype/categ_Mn.h: Likewise.
15516         * lib/unictype/categ_N.h: Likewise.
15517         * lib/unictype/categ_Nd.h: Likewise.
15518         * lib/unictype/categ_Nl.h: Likewise.
15519         * lib/unictype/categ_No.h: Likewise.
15520         * lib/unictype/categ_P.h: Likewise.
15521         * lib/unictype/categ_Pd.h: Likewise.
15522         * lib/unictype/categ_Po.h: Likewise.
15523         * lib/unictype/categ_S.h: Likewise.
15524         * lib/unictype/categ_Sc.h: Likewise.
15525         * lib/unictype/categ_So.h: Likewise.
15526         * lib/unictype/categ_of.h: Likewise.
15527         * lib/unictype/combining.h: Likewise.
15528         * lib/unictype/ctype_alnum.h: Likewise.
15529         * lib/unictype/ctype_alpha.h: Likewise.
15530         * lib/unictype/ctype_graph.h: Likewise.
15531         * lib/unictype/ctype_lower.h: Likewise.
15532         * lib/unictype/ctype_print.h: Likewise.
15533         * lib/unictype/ctype_punct.h: Likewise.
15534         * lib/unictype/ctype_upper.h: Likewise.
15535         * lib/unictype/decdigit.h: Likewise.
15536         * lib/unictype/digit.h: Likewise.
15537         * lib/unictype/numeric.h: Likewise.
15538         * lib/unictype/pr_alphabetic.h: Likewise.
15539         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15540         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15541         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15542         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15543         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15544         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15545         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15546         * lib/unictype/pr_combining.h: Likewise.
15547         * lib/unictype/pr_composite.h: Likewise.
15548         * lib/unictype/pr_currency_symbol.h: Likewise.
15549         * lib/unictype/pr_dash.h: Likewise.
15550         * lib/unictype/pr_decimal_digit.h: Likewise.
15551         * lib/unictype/pr_deprecated.h: Likewise.
15552         * lib/unictype/pr_diacritic.h: Likewise.
15553         * lib/unictype/pr_extender.h: Likewise.
15554         * lib/unictype/pr_grapheme_base.h: Likewise.
15555         * lib/unictype/pr_grapheme_extend.h: Likewise.
15556         * lib/unictype/pr_grapheme_link.h: Likewise.
15557         * lib/unictype/pr_id_continue.h: Likewise.
15558         * lib/unictype/pr_id_start.h: Likewise.
15559         * lib/unictype/pr_ideographic.h: Likewise.
15560         * lib/unictype/pr_ignorable_control.h: Likewise.
15561         * lib/unictype/pr_logical_order_exception.h: Likewise.
15562         * lib/unictype/pr_lowercase.h: Likewise.
15563         * lib/unictype/pr_numeric.h: Likewise.
15564         * lib/unictype/pr_other_alphabetic.h: Likewise.
15565         * lib/unictype/pr_punctuation.h: Likewise.
15566         * lib/unictype/pr_sentence_terminal.h: Likewise.
15567         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15568         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15569         * lib/unictype/pr_unified_ideograph.h: Likewise.
15570         * lib/unictype/pr_uppercase.h: Likewise.
15571         * lib/unictype/pr_xid_continue.h: Likewise.
15572         * lib/unictype/pr_xid_start.h: Likewise.
15573         * lib/unictype/pr_zero_width.h: Likewise.
15574         * lib/unictype/scripts.h: Likewise.
15575         * lib/unictype/scripts_byname.gperf: Likewise.
15576         * lib/unictype/sy_java_ident.h: Likewise.
15577         * lib/unigbrk/gbrkprop.h: Likewise.
15578         * lib/unilbrk/lbrkprop1.h: Likewise.
15579         * lib/unilbrk/lbrkprop2.h: Likewise.
15580         * lib/unilbrk/lbrktables.h: Likewise.
15581         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
15582         LBP_CP. Implement rule LB30.
15583         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
15584         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
15585         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
15586         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
15587         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
15588         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
15589         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
15590         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
15591         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
15592         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
15593         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
15594         bits instead of 16 bits in the code1 and code2 of each composition
15595         rule.
15596         (uc_composition): Update for Unicode 5.2.0.
15597         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
15598         * lib/uninorm/decomposition-table2.h: Likewise.
15599         * lib/uniwbrk/wbrkprop.h: Likewise.
15600         * tests/unicase/test-cased.c: Likewise.
15601         * tests/unicase/test-ignorable.c: Likewise.
15602         * tests/unicase/test-uc_tolower.c: Likewise.
15603         * tests/unicase/test-uc_totitle.c: Likewise.
15604         * tests/unicase/test-uc_toupper.c: Likewise.
15605         * tests/unictype/test-categ_C.c: Likewise.
15606         * tests/unictype/test-categ_Cf.c: Likewise.
15607         * tests/unictype/test-categ_Cn.c: Likewise.
15608         * tests/unictype/test-categ_L.c: Likewise.
15609         * tests/unictype/test-categ_Ll.c: Likewise.
15610         * tests/unictype/test-categ_Lm.c: Likewise.
15611         * tests/unictype/test-categ_Lo.c: Likewise.
15612         * tests/unictype/test-categ_Lu.c: Likewise.
15613         * tests/unictype/test-categ_M.c: Likewise.
15614         * tests/unictype/test-categ_Mc.c: Likewise.
15615         * tests/unictype/test-categ_Mn.c: Likewise.
15616         * tests/unictype/test-categ_N.c: Likewise.
15617         * tests/unictype/test-categ_Nd.c: Likewise.
15618         * tests/unictype/test-categ_Nl.c: Likewise.
15619         * tests/unictype/test-categ_No.c: Likewise.
15620         * tests/unictype/test-categ_P.c: Likewise.
15621         * tests/unictype/test-categ_Pd.c: Likewise.
15622         * tests/unictype/test-categ_Po.c: Likewise.
15623         * tests/unictype/test-categ_S.c: Likewise.
15624         * tests/unictype/test-categ_Sc.c: Likewise.
15625         * tests/unictype/test-categ_So.c: Likewise.
15626         * tests/unictype/test-ctype_alnum.c: Likewise.
15627         * tests/unictype/test-ctype_alpha.c: Likewise.
15628         * tests/unictype/test-ctype_graph.c: Likewise.
15629         * tests/unictype/test-ctype_lower.c: Likewise.
15630         * tests/unictype/test-ctype_print.c: Likewise.
15631         * tests/unictype/test-ctype_punct.c: Likewise.
15632         * tests/unictype/test-ctype_upper.c: Likewise.
15633         * tests/unictype/test-decdigit.h: Likewise.
15634         * tests/unictype/test-digit.h: Likewise.
15635         * tests/unictype/test-numeric.h: Likewise.
15636         * tests/unictype/test-pr_alphabetic.c: Likewise.
15637         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15638         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15639         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
15640         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15641         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15642         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15643         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15644         * tests/unictype/test-pr_combining.c: Likewise.
15645         * tests/unictype/test-pr_composite.c: Likewise.
15646         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15647         * tests/unictype/test-pr_dash.c: Likewise.
15648         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15649         * tests/unictype/test-pr_deprecated.c: Likewise.
15650         * tests/unictype/test-pr_diacritic.c: Likewise.
15651         * tests/unictype/test-pr_extender.c: Likewise.
15652         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15653         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15654         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15655         * tests/unictype/test-pr_id_continue.c: Likewise.
15656         * tests/unictype/test-pr_id_start.c: Likewise.
15657         * tests/unictype/test-pr_ideographic.c: Likewise.
15658         * tests/unictype/test-pr_ignorable_control.c: Likewise.
15659         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
15660         * tests/unictype/test-pr_lowercase.c: Likewise.
15661         * tests/unictype/test-pr_numeric.c: Likewise.
15662         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15663         * tests/unictype/test-pr_punctuation.c: Likewise.
15664         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15665         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15666         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15667         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15668         * tests/unictype/test-pr_uppercase.c: Likewise.
15669         * tests/unictype/test-pr_xid_continue.c: Likewise.
15670         * tests/unictype/test-pr_xid_start.c: Likewise.
15671         * tests/unictype/test-pr_zero_width.c: Likewise.
15672         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15673         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
15674         changed behaviour: line breaking is now disallowed between a letter
15675         or '=' and '('.
15676         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15677         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15678         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15679         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
15680         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15681         lib/uniwidth/width.c.
15682         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
15683         without comments, but with the original copyright notice.
15684         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15685         changes.
15686         * lib/unictype/categ_Cc.h: Likewise.
15687         * lib/unictype/categ_Co.h: Likewise.
15688         * lib/unictype/categ_Cs.h: Likewise.
15689         * lib/unictype/categ_Lt.h: Likewise.
15690         * lib/unictype/categ_Me.h: Likewise.
15691         * lib/unictype/categ_Pc.h: Likewise.
15692         * lib/unictype/categ_Pe.h: Likewise.
15693         * lib/unictype/categ_Pf.h: Likewise.
15694         * lib/unictype/categ_Pi.h: Likewise.
15695         * lib/unictype/categ_Ps.h: Likewise.
15696         * lib/unictype/categ_Sk.h: Likewise.
15697         * lib/unictype/categ_Sm.h: Likewise.
15698         * lib/unictype/categ_Z.h: Likewise.
15699         * lib/unictype/categ_Zl.h: Likewise.
15700         * lib/unictype/categ_Zp.h: Likewise.
15701         * lib/unictype/categ_Zs.h: Likewise.
15702         * lib/unictype/ctype_blank.h: Likewise.
15703         * lib/unictype/ctype_cntrl.h: Likewise.
15704         * lib/unictype/ctype_digit.h: Likewise.
15705         * lib/unictype/ctype_space.h: Likewise.
15706         * lib/unictype/ctype_xdigit.h: Likewise.
15707         * lib/unictype/mirror.h: Likewise.
15708         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15709         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15710         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15711         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15712         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15713         * lib/unictype/pr_bidi_control.h: Likewise.
15714         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15715         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15716         * lib/unictype/pr_bidi_pdf.h: Likewise.
15717         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15718         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15719         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15720         * lib/unictype/pr_format_control.h: Likewise.
15721         * lib/unictype/pr_hex_digit.h: Likewise.
15722         * lib/unictype/pr_hyphen.h: Likewise.
15723         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15724         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15725         * lib/unictype/pr_iso_control.h: Likewise.
15726         * lib/unictype/pr_join_control.h: Likewise.
15727         * lib/unictype/pr_left_of_pair.h: Likewise.
15728         * lib/unictype/pr_line_separator.h: Likewise.
15729         * lib/unictype/pr_math.h: Likewise.
15730         * lib/unictype/pr_non_break.h: Likewise.
15731         * lib/unictype/pr_not_a_character.h: Likewise.
15732         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15733         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15734         * lib/unictype/pr_other_id_continue.h: Likewise.
15735         * lib/unictype/pr_other_id_start.h: Likewise.
15736         * lib/unictype/pr_other_lowercase.h: Likewise.
15737         * lib/unictype/pr_other_math.h: Likewise.
15738         * lib/unictype/pr_other_uppercase.h: Likewise.
15739         * lib/unictype/pr_paired_punctuation.h: Likewise.
15740         * lib/unictype/pr_paragraph_separator.h: Likewise.
15741         * lib/unictype/pr_pattern_syntax.h: Likewise.
15742         * lib/unictype/pr_pattern_white_space.h: Likewise.
15743         * lib/unictype/pr_private_use.h: Likewise.
15744         * lib/unictype/pr_quotation_mark.h: Likewise.
15745         * lib/unictype/pr_radical.h: Likewise.
15746         * lib/unictype/pr_soft_dotted.h: Likewise.
15747         * lib/unictype/pr_space.h: Likewise.
15748         * lib/unictype/pr_titlecase.h: Likewise.
15749         * lib/unictype/pr_variation_selector.h: Likewise.
15750         * lib/unictype/pr_white_space.h: Likewise.
15751         * lib/unictype/sy_c_ident.h: Likewise.
15752         * lib/unictype/sy_c_whitespace.h: Likewise.
15753         * lib/unictype/sy_java_whitespace.h: Likewise.
15754         * modules/uni*/*: Bump version number of expected libunistring version.
15755         Reported by Simon Josefsson.
15756
15757 2011-01-09  Karl Heuer  <kwzh@gnu.org>
15758
15759         useless-if-before-free: fix typo in --help and make the internal,
15760         automatic version date update process work once again.
15761         --help output contained a NUL character instead of the
15762         backslash-zero that was intended.  Also, the "must lie within
15763         the first 8 lines" line is on line 9, and hence not getting
15764         automatically updated.
15765         * build-aux/useless-if-before-free: Fix the former by adding a
15766         backslash, and the latter by condensing the three lines of what-it-does
15767         to a single line, leaving one line of slack for the future.
15768
15769 2011-01-09  Bruno Haible  <bruno@clisp.org>
15770
15771         uniwidth/width: Fix width of U+1D173..U+1D17A.
15772         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
15773         symbolic_width, output_width_property_test): New functions.
15774         (main): Invoke output_nonspacing_property, output_width_property_test.
15775         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
15776         U+1D173..U+1D17A.
15777         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
15778         1.
15779         * modules/uniwidth/*: Bump version number of expected libunistring
15780         version.
15781         * modules/unilbrk/*: Likewise.
15782
15783 2011-01-08  Bruno Haible  <bruno@clisp.org>
15784
15785         uninorm tests: Preserve copyright of Unicode data file.
15786         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
15787         Mention modifications.
15788
15789 2011-01-08  Bruno Haible  <bruno@clisp.org>
15790
15791         gen-uni-tables: Prepare for Unicode 5.2.0.
15792         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
15793         (debug_output_lbp, output_lbp): Update.
15794
15795 2011-01-08  Bruno Haible  <bruno@clisp.org>
15796
15797         unilbrk: Clarify gen-uni-tables.c code.
15798         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
15799         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
15800         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
15801
15802 2011-01-07  Bruno Haible  <bruno@clisp.org>
15803
15804         strtod: Restore errno when successfully parsing Infinity or NaN.
15805         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
15806         restore the original errno.
15807
15808 2011-01-07  Bruno Haible  <bruno@clisp.org>
15809
15810         remove test: Avoid failure on HP-UX 11.
15811         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
15812
15813 2011-01-07  Bruno Haible  <bruno@clisp.org>
15814
15815         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
15816         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
15817         error code.
15818
15819 2011-01-07  Pádraig Brady <P@draigBrady.com>
15820
15821         ignore-value: fixup comments, and add Eric Blake
15822         as an author since he rewrote the macros.
15823         * lib/ignore-value.h (ignore_value):  State that
15824         we now support aggregates.  Also specify exactly
15825         when the GCC warn_unused_result feature was added.
15826
15827 2011-01-06  Eric Blake  <eblake@redhat.com>
15828
15829         ignore-value: support aggregate types
15830         * lib/ignore-value.h (ignore_value): Provide separate gcc
15831         definition.
15832         * modules/ignore-value-tests: New test module.
15833         * tests/test-ignore-value.c: New test.
15834
15835         maint.mk: improve sc_prohibit_strcmp regex
15836         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
15837         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
15838         definition of STRNEQ.
15839
15840         signal: work around Haiku issue with SIGBUS
15841         * lib/siglist.h: Add comment.
15842         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
15843         strsignal's favoring of SIGSEGV.
15844         * tests/test-signal.c (main): Avoid test failure.
15845         * doc/posix-headers/signal.texi (signal.h): Document the issue.
15846         Reported by Scott McCreary.
15847
15848         maint.mk: add pre-release check to ensure submodule commits are public
15849         * top/maint.mk (public-submodule-commit): New rule.
15850         (submodule-checks): New variable.
15851         (alpha beta stable): Depend on the variable.
15852
15853 2011-01-05  Pádraig Brady <P@draigBrady.com>
15854         and Jim Meyering  <meyering@redhat.com>
15855
15856         ignore-value: make ignore_value more generic; deprecate ignore_ptr
15857         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
15858         (ATTRIBUTE_DEPRECATED): Define.
15859         (_ignore_case): New function.
15860         (ignore_value): New macro, to replace the old function.
15861         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
15862         * modules/ignore-value (Depends-on): Add stdint.
15863
15864 2011-01-04  Eric Blake  <eblake@redhat.com>
15865
15866         doc: regenerate INSTALL
15867         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
15868         @firstparagraphindent support, now that autoconf dropped it.
15869         (INSTALL_PRELUDE): Reinstate old macro.
15870         * doc/install.texi: Resync from autoconf.
15871         * doc/INSTALL: Reflect recent autoconf update.
15872         * doc/INSTALL.ISO: Likewise.
15873         * doc/INSTALL.UTF-8: Likewise.
15874         Reported by Karl Berry.
15875
15876 2011-01-04  Bruce Korb  <address@hidden>
15877
15878         git-version-gen: avoid a sub-shell
15879         * build-aux/git-version-gen: Redirect stderr in `...` via
15880         "exec 2>...", rather than via an added sub-shell.
15881
15882 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
15883
15884         git-version-gen: use (...) rather than sh -c '...'
15885         * build-aux/git-version-gen: Rather than hard-coding a shell's name
15886         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
15887
15888 2011-01-03  Jim Meyering  <meyering@redhat.com>
15889
15890         git-version-gen: convert leading TABs to spaces
15891         * build-aux/git-version-gen: Expand leading TABs.
15892
15893         git-version-gen: handle failed "git rev-list"
15894         * build-aux/git-version-gen: Rather than leaking a "fatal" error
15895         from git and proceeding as if it had succeeded but printed no SHA1
15896         checksums, suppress the diagnostic and handle the failure.
15897         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
15898
15899         git-version-gen: include command name in one more diagnostic
15900         * build-aux/git-version-gen: When the required .tarball-version file
15901         was missing or unreadable, you might see the diagnostic from "cat",
15902         but no trace of the name of the invoking script.  Now, you still see
15903         the diagnostic from cat, but also get one from "git-version-gen: ".
15904         Inspired by a patch from Bruce Korb.
15905
15906         update-copyright: adjust test to match changed code
15907         * tests/test-update-copyright.sh: Change test's expected output
15908         to match new actual output.
15909
15910 2011-01-02  Bruno Haible  <bruno@clisp.org>
15911
15912         getlogin_r: Avoid test failure on HP-UX 11.
15913         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
15914         ERANGE when the second argument is zero.
15915         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
15916         portability problem.
15917
15918 2011-01-02  Bruce Korb  <bkorb@gnu.org>
15919
15920         * build-aux/update-copyright: doc Simon's changes
15921
15922 2011-01-02  Simon Josefsson  <simon@josefsson.org>
15923
15924         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
15925         environment variable.
15926
15927 2011-01-02  Bruno Haible  <bruno@clisp.org>
15928
15929         unigbrk: Avoid gcc warnings.
15930         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
15931         unused variable.
15932         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
15933         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
15934         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
15935         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
15936         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
15937         Change type of first argument to 'const char *'.
15938         (main): Remove unused variable.
15939         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
15940         type of first argument to 'const char *'.
15941         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
15942         Likewise.
15943         (main): Change type of variable 's'.
15944         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
15945         to 'int'.
15946
15947 2011-01-02  Bruno Haible  <bruno@clisp.org>
15948
15949         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
15950         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
15951         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
15952         bug.
15953         * lib/pwrite.c: Undo 2010-12-31 patch.
15954         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
15955
15956 2011-01-02  Bruno Haible  <bruno@clisp.org>
15957
15958         pread: Fix test whether it works.
15959         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
15960
15961 2011-01-02  Bruno Haible  <bruno@clisp.org>
15962
15963         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
15964         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
15965         ends in "6". Don't require a specific month name. Try also the locale
15966         names found on HP-UX 11 and Solaris 7.
15967
15968 2011-01-02  Bruno Haible  <bruno@clisp.org>
15969
15970         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
15971         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
15972         C linkage.
15973         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
15974
15975 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15976
15977         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
15978         for consistency, since the "cluster" term is not used elsewhere.
15979         * lib/unigbrk.in.h: Update name.
15980         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
15981         * lib/unigbrk/u16-grapheme-next.c: Update name.
15982         * lib/unigbrk/u16-grapheme-prev.c: Update name.
15983         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
15984         * lib/unigbrk/u32-grapheme-next.c: Update name.
15985         * lib/unigbrk/u32-grapheme-prev.c: Update name.
15986         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
15987         * lib/unigbrk/u8-grapheme-next.c: Update name.
15988         * lib/unigbrk/u8-grapheme-prev.c: Update name.
15989         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
15990         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
15991         Suggested by Bruno Haible.
15992
15993 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15994
15995         Remove module 'u8-grapheme-len' as too redundant with
15996         'u8-grapheme-next'.
15997         * modules/unigbrk/u8-grapheme-len: Delete file.
15998         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
15999         * lib/unigbrk.in.h: Remove prototype for deleted function.
16000         * lib/unigbrk/u8-grapheme-len.c: Delete file.
16001         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
16002
16003         Remove module 'u16-grapheme-len' as too redundant with
16004         'u16-grapheme-next'.
16005         * modules/unigbrk/u16-grapheme-len: Delete file.
16006         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
16007         * lib/unigbrk.in.h: Remove prototype for deleted function.
16008         * lib/unigbrk/u16-grapheme-len.c: Delete file.
16009         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
16010
16011         Remove module 'u32-grapheme-len' as too redundant with
16012         'u32-grapheme-next'.
16013         * modules/unigbrk/u32-grapheme-len: Delete file.
16014         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
16015         * lib/unigbrk.in.h: Remove prototype for deleted function.
16016         * lib/unigbrk/u32-grapheme-len.c: Delete file.
16017         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
16018
16019         Suggested by Bruno Haible.
16020
16021 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16022
16023         * unigbrk.in.h: Fix typo: "ben" => "been".
16024         Reported by Bruno Haible.
16025
16026 2011-01-01  Jim Meyering  <meyering@redhat.com>
16027
16028         maint: update almost all copyright ranges to include 2011
16029         Run the new "make update-copyright" rule.
16030
16031 2011-01-01  Jim Meyering  <meyering@redhat.com>
16032
16033         maint: update-copyright: exempt doc/INSTALL*
16034         * Makefile (update-copyright): Also exclude doc/INSTALL*,
16035         since they are generated.  Suggested by Bruno Haible.
16036
16037 2011-01-01  Jim Meyering  <meyering@redhat.com>
16038
16039         maint: refine the update-copyright rule
16040         * Makefile (update-copyright): Also exclude any file that includes
16041         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
16042         code that merely generates the comment.
16043
16044 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16045
16046         New module 'u8-grapheme-len'.
16047         * modules/unigbrk/u8-grapheme-len: New file.
16048         * modules/unigbrk/u8-grapheme-len-tests: New file.
16049         * lib/unigbrk.in.h: Add prototype for new function.
16050         * lib/unigbrk/u8-grapheme-len.c: New file.
16051         * tests/unigbrk/test-u8-grapheme-len.c: New file.
16052
16053         New module 'u16-grapheme-len'.
16054         * modules/unigbrk/u16-grapheme-len: New file.
16055         * modules/unigbrk/u16-grapheme-len-tests: New file.
16056         * lib/unigbrk.in.h: Add prototype for new function.
16057         * lib/unigbrk/u16-grapheme-len.c: New file.
16058         * tests/unigbrk/test-u16-grapheme-len.c: New file.
16059
16060         New module 'u32-grapheme-len'.
16061         * modules/unigbrk/u32-grapheme-len: New file.
16062         * modules/unigbrk/u32-grapheme-len-tests: New file.
16063         * lib/unigbrk.in.h: Add prototype for new function.
16064         * lib/unigbrk/u32-grapheme-len.c: New file.
16065         * tests/unigbrk/test-u32-grapheme-len.c: New file.
16066
16067         New module 'u8-grapheme-next'.
16068         * modules/unigbrk/u8-grapheme-next: New file.
16069         * modules/unigbrk/u8-grapheme-next-tests: New file.
16070         * lib/unigbrk.in.h: Add prototype for new function.
16071         * lib/unigbrk/u8-grapheme-next.c: New file.
16072         * tests/unigbrk/test-u8-grapheme-next.c: New file.
16073
16074         New module 'u16-grapheme-next'.
16075         * modules/unigbrk/u16-grapheme-next: New file.
16076         * modules/unigbrk/u16-grapheme-next-tests: New file.
16077         * lib/unigbrk.in.h: Add prototype for new function.
16078         * lib/unigbrk/u16-grapheme-next.c: New file.
16079         * tests/unigbrk/test-u16-grapheme-next.c: New file.
16080
16081         New module 'u32-grapheme-next'.
16082         * modules/unigbrk/u32-grapheme-next: New file.
16083         * modules/unigbrk/u32-grapheme-next-tests: New file.
16084         * lib/unigbrk.in.h: Add prototype for new function.
16085         * lib/unigbrk/u32-grapheme-next.c: New file.
16086         * tests/unigbrk/test-u32-grapheme-next.c: New file.
16087
16088         New module 'u8-grapheme-prev'.
16089         * modules/unigbrk/u8-grapheme-prev: New file.
16090         * modules/unigbrk/u8-grapheme-prev-tests: New file.
16091         * lib/unigbrk.in.h: Add prototype for new function.
16092         * lib/unigbrk/u8-grapheme-prev.c: New file.
16093         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
16094
16095         New module 'u16-grapheme-prev'.
16096         * modules/unigbrk/u16-grapheme-prev: New file.
16097         * modules/unigbrk/u16-grapheme-prev-tests: New file.
16098         * lib/unigbrk.in.h: Add prototype for new function.
16099         * lib/unigbrk/u16-grapheme-prev.c: New file.
16100         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
16101
16102         New module 'u32-grapheme-prev'.
16103         * modules/unigbrk/u32-grapheme-prev: New file.
16104         * modules/unigbrk/u32-grapheme-prev-tests: New file.
16105         * lib/unigbrk.in.h: Add prototype for new function.
16106         * lib/unigbrk/u32-grapheme-prev.c: New file.
16107         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
16108
16109         New module 'u8-grapheme-breaks'.
16110         * modules/unigbrk/u8-grapheme-breaks: New file.
16111         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
16112         * lib/unigbrk.in.h: Add prototype for new function.
16113         * lib/unigbrk/u8-grapheme-breaks.c: New file.
16114         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
16115
16116         New module 'u16-grapheme-breaks'.
16117         * modules/unigbrk/u16-grapheme-breaks: New file.
16118         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
16119         * lib/unigbrk.in.h: Add prototype for new function.
16120         * lib/unigbrk/u16-grapheme-breaks.c: New file.
16121         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
16122
16123         New module 'u32-grapheme-breaks'.
16124         * modules/unigbrk/u32-grapheme-breaks: New file.
16125         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
16126         * lib/unigbrk.in.h: Add prototype for new function.
16127         * lib/unigbrk/u32-grapheme-breaks.c: New file.
16128         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
16129
16130         New module 'ulc-grapheme-breaks'.
16131         * modules/unigbrk/ulc-grapheme-breaks: New file.
16132         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
16133         * m4/locale-ar.m4: New file.
16134         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
16135         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
16136         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
16137
16138 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16139
16140         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
16141         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
16142         modified how this file was generated before I initially submitted
16143         the module, but failed to regenerate it.  This meant that several
16144         of the level2 entries were wrong.
16145         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
16146         Remove the division-by-2 that is folded into the table now that
16147         gbrkprop.h has been regenerated properly.  Now -1 entries are
16148         handled correctly.
16149
16150         New module 'unigbrk/uc-gbrk-prop-tests'.
16151         * modules/unigbrk/uc-gbrk-prop-tests: New file.
16152         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
16153         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
16154         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
16155
16156 2011-01-01  Bruno Haible  <bruno@clisp.org>
16157
16158         Avoid use of hexadecimal escapes.
16159         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
16160         instead of hexadecimal escapes.
16161
16162 2011-01-01  Jim Meyering  <meyering@redhat.com>
16163
16164         maint: new rule to update copyright year ranges
16165         * Makefile (update-copyright): New rule.
16166
16167         maint: indent with TABs in Makefile
16168         * Makefile: Expand leading sequences of spaces to TABs
16169
16170         version-etc: update the copyright year it reports
16171         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
16172
16173 2010-12-31  Bruno Haible  <bruno@clisp.org>
16174
16175         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
16176         * lib/isfinite.c (zerof, zerod, zerol): New variables.
16177         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
16178         zero.
16179
16180 2010-12-31  Bruno Haible  <bruno@clisp.org>
16181
16182         pwrite: Work around HP-UX 11.11 bug.
16183         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
16184         works and set REPLACE_PWRITE if not.
16185         * lib/pwrite.c (pwrite): Add an implementation that uses the system
16186         function.
16187         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
16188
16189 2010-12-31  Bruno Haible  <bruno@clisp.org>
16190
16191         pread: Work around HP-UX 11 bugs.
16192         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
16193         and set REPLACE_PREAD if not.
16194         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
16195
16196 2010-12-31  Eric Blake  <eblake@redhat.com>
16197
16198         nl_langinfo: fix YESEXPR on Irix 6.5
16199         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
16200         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
16201         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
16202         it.
16203
16204 2010-12-31  Bruno Haible  <bruno@clisp.org>
16205
16206         iconv: Document HP-UX 11 bug.
16207         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
16208
16209 2010-12-31  Bruno Haible  <bruno@clisp.org>
16210
16211         ldexpl: Fix link error on HP-UX 11.
16212         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
16213         LDEXPL_LIBM, using $ISNANL_LIBM.
16214
16215 2010-12-31  Eric Blake  <eblake@redhat.com>
16216
16217         ftello: avoid compilation failure with SunStudio c89
16218         * lib/ftello.c (ftello): Use lseek, not llseek.
16219
16220         tests: avoid failing coreutils tests on cygwin
16221         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
16222         (create_exe_shims_): Return 0 when skipping.
16223
16224 2010-12-31  Bruno Haible  <bruno@clisp.org>
16225
16226         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
16227         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
16228
16229 2010-12-31  Bruno Haible  <bruno@clisp.org>
16230
16231         waitpid: Fix link error in C++ mode.
16232         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
16233
16234 2010-12-31  Bruno Haible  <bruno@clisp.org>
16235
16236         isnan: Use GCC built-ins when possible.
16237         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
16238         __builtin_isnan.
16239         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
16240         (isnan): Define using GCC built-ins for GCC >= 4.0.
16241
16242 2010-12-31  Bruno Haible  <bruno@clisp.org>
16243
16244         isnand: Fix mistake.
16245         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
16246         __builtin_isnand.
16247
16248 2010-12-31  Bruno Haible  <bruno@clisp.org>
16249
16250         open: Avoid C++ error on HP-UX 11.
16251         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
16252
16253 2010-12-31  Bruno Haible  <bruno@clisp.org>
16254
16255         time_r: Add missing declarations on HP-UX 11.
16256         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
16257         instead of HAVE_LOCALTIME_R.
16258         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
16259         HAVE_LOCALTIME_R always.
16260         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
16261         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
16262         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
16263         HAVE_LOCALTIME_R.
16264         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
16265         * doc/posix-functions/localtime_r.texi: Likewise.
16266
16267 2010-12-29  Eric Blake  <eblake@redhat.com>
16268
16269         mountlist: tweak previous commit
16270         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
16271         Reported by Paul Eggert.
16272
16273         mountlist: fix local drive detection on cygwin
16274         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
16275         that works for cygwin.
16276
16277 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16278
16279         ftoastr, snprintf: ftoastr + snprintf module
16280         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
16281         since the snprintf module now should be good enough here.
16282         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
16283         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
16284         and gl_MODULE_INDICATOR([snprintf]), but the former enables
16285         GNULIB_SNPRINTF only for the test directory, and the latter
16286         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
16287         seems to suffice by itself.
16288
16289 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16290
16291         alloca: one step towards thread-safety
16292         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
16293         need for a static variable.  All callers changed.  This does not
16294         make the alloca replacement thread-safe, but it's one step.
16295
16296         tests: minor indenting change
16297         * tests/init.sh: Sync from coreutils housekeeping patch
16298         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
16299         to keep lines within 80 columns.
16300
16301 2010-12-28  Jim Meyering  <meyering@redhat.com>
16302
16303         regex: don't infloop on persistent failing calloc
16304         * lib/regexec.c (build_trtable): Return failure indication upon
16305         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
16306         In glibc, this was fixed for version 2.13:
16307         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
16308
16309 2010-12-28  Bruno Haible  <bruno@clisp.org>
16310             Paul Eggert <eggert@cs.ucla.edu>
16311
16312         linkat: Make implementation robust against system behaviour variations.
16313         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
16314         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
16315         way, and to -2 if it needs a generic runtime test.
16316         * lib/linkat.c (solaris_optimized_link_immediate,
16317         solaris_optimized_link_follow): New functions.
16318         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
16319         (check_same_link): Use it.
16320
16321 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
16322
16323         New module 'unigbrk/base'.
16324         * modules/unigbrk/base: New file.
16325         * lib/unigbrk.in.h: New file.
16326
16327         New module 'unigbrk/uc-gbrk-prop'.
16328         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
16329         * modules/unigbrk/uc-gbrk-prop: New file.
16330         * lib/unigbrk/gbrkprop.h: New file.
16331         * lib/unigbrk/uc-gbrk-prop.c: New file.
16332
16333         New module 'unigbrk/uc-is-grapheme-break'.
16334         * modules/unigbrk/uc-is-grapheme-break: New file.
16335         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
16336         * lib/unigbrk/uc-is-grapheme-break.c: New file.
16337         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
16338         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
16339         * tests/unigbrk/GraphemeBreakTest.txt: New file.
16340
16341         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
16342
16343 2010-12-27  Bruno Haible  <bruno@clisp.org>
16344
16345         linkat test: Avoid failure on Solaris 11 2010-11.
16346         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
16347
16348 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16349
16350         utimens: work around glibc rounding bug on more platforms
16351         * lib/utimens.c (fdutimens): Work around rounding bug even if
16352         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
16353         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
16354
16355 2010-12-27  Bruno Haible  <bruno@clisp.org>
16356
16357         select tests: Improve comments.
16358         * tests/test-select.c (do_select): Add comments.
16359
16360 2010-12-27  Bruno Haible  <bruno@clisp.org>
16361
16362         select tests: Safer way of handling timeout.
16363         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
16364         at every invocation.
16365
16366 2010-12-27  Bruno Haible  <bruno@clisp.org>
16367
16368         select tests: Use 'bool' where appropriate.
16369         * tests/test-select.c (connect_to_socket): Change argument type to
16370         'bool'.
16371
16372 2010-12-27  Bruno Haible  <bruno@clisp.org>
16373
16374         select tests: Use existing modules.
16375         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
16376         (configure.ac): Don't test for unistd.h.
16377         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
16378         declared in <unistd.h>.
16379
16380 2010-12-27  Bruno Haible  <bruno@clisp.org>
16381
16382         mbrtowc: Work around a Solaris 7 bug.
16383         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
16384         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
16385         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
16386         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
16387         MBRTOWC_NULL_ARG1_BUG.
16388         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
16389         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
16390         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
16391         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
16392
16393 2010-12-27  Jim Meyering  <meyering@redhat.com>
16394
16395         read-file.c: tweak syntax
16396         * lib/read-file.c (fread_file): Remove space after "*" in function
16397         definitions.
16398
16399 2010-12-27  Bruno Haible  <bruno@clisp.org>
16400
16401         times test: Avoid gcc warnings on OSF/1.
16402         * tests/test-times.c (main): Cast printf arguments from clock_t to
16403         'long int'.
16404
16405 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16406
16407         utimens: work around glibc rounding bug on older Linux kernels
16408         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
16409         on Linux with a glibc whose utimes might not work, then work
16410         around a longstanding glibc bug involving rounding rather than
16411         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
16412         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16413
16414 2010-12-26  Bruno Haible  <bruno@clisp.org>
16415
16416         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
16417         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
16418         _GL_CXXALIAS_SYS.
16419         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16420
16421 2010-12-26  Bruno Haible  <bruno@clisp.org>
16422
16423         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
16424         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
16425         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16426         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
16427         looking for the declaration.
16428         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
16429         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
16430         problem.
16431         * doc/posix-functions/inet_pton.texi: Likewise.
16432
16433 2010-12-26  Bruno Haible  <bruno@clisp.org>
16434
16435         arpa_inet: Use the common idioms with C++ support.
16436         * lib/arpa_inet.in.h: Include c++defs.h.
16437         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
16438         support.
16439         * modules/arpa_inet (Depends-on): Add c++defs.
16440         (Makefile.am): Substitute the contents of c++defs.h.
16441         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
16442         * modules/arpa_inet-c++-tests: New file.
16443         * tests/test-arpa_inet-c++.cc: New file.
16444
16445 2010-12-25  Bruno Haible  <bruno@clisp.org>
16446
16447         Fix more C++ link errors on Solaris 8.
16448         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
16449         $(LIB_EACCESS).
16450         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
16451         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
16452         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
16453         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
16454         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
16455
16456 2010-12-25  Bruno Haible  <bruno@clisp.org>
16457
16458         printf-posix: Fix link error when a non-GCC compiler is used.
16459         * lib/stdio.in.h (printf): When not using GCC, override printf
16460         correctly.
16461         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16462
16463 2010-12-25  Bruno Haible  <bruno@clisp.org>
16464
16465         strerror_r-posix: Update doc.
16466         * doc/posix-functions/strerror_r.texi: Update doc about the return
16467         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16468
16469 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16470
16471         utimens: simplify the logic of the previous change
16472         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16473         This should not affect whether the test succeeds or fails.
16474
16475         utimens: configure better on hosts with NFS clock skew
16476         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16477         uses the clock of the local host.  It might use the clock of the
16478         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16479         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16480
16481 2010-12-25  Bruno Haible  <bruno@clisp.org>
16482
16483         ptsname test: Avoid failure on Solaris.
16484         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16485         open a pseudo-terminal; don't use BSD-style ptys.
16486         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16487
16488 2010-12-25  Bruno Haible  <bruno@clisp.org>
16489
16490         ptsname: Avoid ERANGE failure on some systems.
16491         * lib/ptsname.c (buffer): Increase size.
16492
16493 2010-12-25  Bruno Haible  <bruno@clisp.org>
16494
16495         rename, renameat: Avoid test failures at NFS mounted locations.
16496         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16497         so that subsequent mkdir calls succeed.
16498
16499 2010-12-25  Bruno Haible  <bruno@clisp.org>
16500
16501         iswblank: Fix C++ link error on Solaris 8.
16502         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16503         _GL_FUNCDECL_SYS.
16504
16505 2010-12-25  Bruno Haible  <bruno@clisp.org>
16506
16507         unistd: Fix C++ link error on Solaris 8.
16508         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16509
16510 2010-12-25  Bruno Haible  <bruno@clisp.org>
16511
16512         readlink doc: Mention an old glibc bug.
16513         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16514
16515 2010-12-25  Bruno Haible  <bruno@clisp.org>
16516
16517         fcntl-h: Fix for use of C++ on glibc systems.
16518         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16519         also on glibc systems in C++ mode.
16520         Reported by Gary V. Vaughan <gary@gnu.org>.
16521
16522 2010-12-25  Bruno Haible  <bruno@clisp.org>
16523
16524         roundl-ieee: Make it work on OSF/1 5.1 with cc.
16525         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
16526
16527 2010-12-25  Bruno Haible  <bruno@clisp.org>
16528
16529         truncl-ieee: Make it work on OSF/1 5.1 with cc.
16530         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
16531         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
16532         test whether truncl works according to ISO C 99 with IEC 60559.
16533         * m4/truncl-ieee.m4: New file.
16534         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
16535         m4/signbit.m4.
16536         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
16537
16538 2010-12-25  Bruno Haible  <bruno@clisp.org>
16539
16540         ceill-ieee: Make it work on OSF/1 5.1 with cc.
16541         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
16542         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
16543         test whether ceill works according to ISO C 99 with IEC 60559.
16544         * m4/ceill-ieee.m4: New file.
16545         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
16546         m4/signbit.m4.
16547         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
16548
16549 2010-12-25  Bruno Haible  <bruno@clisp.org>
16550
16551         Ensure all prerequisites of <wchar.h> are included.
16552         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
16553         before <wchar.h>.
16554         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16555         gl_MBRLEN_NUL_RETVAL): Likewise.
16556         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16557         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
16558         AC_FUNC_MBRTOWC): Likewise.
16559         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16560         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16561         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16562         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16563         Likewise.
16564         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16565         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
16566         (gl_WCHAR_H): Improve comments.
16567         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16568
16569 2010-12-25  Bruno Haible  <bruno@clisp.org>
16570
16571         strtok_r: Fix C syntax error in autoconf macro.
16572         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
16573         characters in test program.
16574
16575 2010-12-24  Bruno Haible  <bruno@clisp.org>
16576
16577         ceil, trunc, round: Fix gcc warnings.
16578         * lib/ceil.c (MIN): Undefine before redefining.
16579         * lib/trunc.c (MIN): Likewise.
16580         * lib/round.c (MIN): Likewise.
16581         Include <math.h> first.
16582
16583 2010-12-24  Bruno Haible  <bruno@clisp.org>
16584
16585         select tests: Avoid failures on OSF/1 5.1.
16586         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
16587         failure of closing the last socket; it may fail with ECONNRESET.
16588
16589 2010-12-24  Eric Blake  <eblake@redhat.com>
16590
16591         stdint: avoid HP-UX 10.20 preprocessor bug
16592         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
16593         than #if.
16594         * tests/test-floor2.c (main): Likewise.
16595         Reported by Peter O'Gorman.
16596
16597         pipe: make obsoletion transition easier
16598         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
16599         * modules/pipe (Files): Include revived file.
16600         (Include): Drop reference, to mirror getdate's behavior.
16601
16602 2010-12-24  Bruno Haible  <bruno@clisp.org>
16603
16604         sys_socket: Hide mismatch of declarations on NonStop Kernel.
16605         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
16606         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
16607         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16608
16609 2010-12-24  Bruno Haible  <bruno@clisp.org>
16610
16611         gethostname: Ensure declaration on NonStop Kernel.
16612         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
16613         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16614
16615 2010-12-24  Bruno Haible  <bruno@clisp.org>
16616
16617         sys_select: Ensure all necessary types on NonStop Kernel.
16618         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
16619         include <sys/time.h>.
16620         * doc/posix-headers/sys_select.texi: Mention that it's missing on
16621         NonStop Kernel.
16622         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16623
16624 2010-12-24  Bruno Haible  <bruno@clisp.org>
16625
16626         sys_select: Remove unneeded include.
16627         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
16628         have <sys/select.h>.
16629
16630 2010-12-24  Bruno Haible  <bruno@clisp.org>
16631
16632         gethostname: Provide a fallback for HOST_NAME_MAX.
16633         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
16634         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
16635         instead.
16636         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16637
16638 2010-12-24  Bruno Haible  <bruno@clisp.org>
16639
16640         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
16641         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
16642         (SA_RESTART): Likewise.
16643         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16644
16645 2010-12-24  Bruno Haible  <bruno@clisp.org>
16646
16647         signal: Define NSIG.
16648         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
16649         * tests/test-signal.c (nsig): New variable.
16650         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16651
16652 2010-12-24  Bruno Haible  <bruno@clisp.org>
16653
16654         rename, renameat: Avoid test failures on OSF/1 5.1.
16655         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
16656         alternative error codes.
16657         * tests/test-renameat.c (main): Likewise.
16658
16659 2010-12-24  Bruno Haible  <bruno@clisp.org>
16660
16661         *printf: Detect large precisions bug on Solaris 10/SPARC.
16662         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
16663         by Paul Eggert.
16664         * tests/test-snprintf-posix.h (test_function): Add this test code here
16665         too.
16666         * tests/test-sprintf-posix.h (test_function): Likewise.
16667         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16668         * tests/test-vasprintf-posix.c (test_function): Likewise.
16669         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
16670         around by gnulib.
16671         * doc/posix-functions/printf.texi: Likewise.
16672         * doc/posix-functions/snprintf.texi: Likewise.
16673         * doc/posix-functions/sprintf.texi: Likewise.
16674         * doc/posix-functions/vfprintf.texi: Likewise.
16675         * doc/posix-functions/vprintf.texi: Likewise.
16676         * doc/posix-functions/vsnprintf.texi: Likewise.
16677         * doc/posix-functions/vsprintf.texi: Likewise.
16678         * doc/posix-functions/dprintf.texi: Undo last commit.
16679         * doc/posix-functions/vdprintf.texi: Likewise.
16680
16681 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16682
16683         tests: port test-fdutimensat.c to Solaris 8
16684         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
16685         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
16686         On Solaris 8, it fails with errno == ENOSYS, because there is no
16687         futimens (so it can't use the fd), and there is no lutimens (so it
16688         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
16689
16690         vsnprintf: make more consistent with snprintf; doc fixes
16691
16692         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
16693         the byte count return problem was promoted from the snprintf-posix
16694         to the snprintf module.
16695         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16696         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
16697         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
16698         * tests/test-snprintf.c (main): Check the byte count returned.
16699         * tests/test-vsnprintf.c (main): Likewise.
16700
16701 2010-12-23  Eric Blake  <eblake@redhat.com>
16702
16703         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
16704         * modules/sigpipe (License): Relax license.
16705
16706 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16707
16708         doc: document Solaris printf bug with large float precisions
16709         * doc/posix-functions/dprintf.texi (dprintf):
16710         * doc/posix-functions/fprintf.texi (fprintf):
16711         * doc/posix-functions/printf.texi (printf):
16712         * doc/posix-functions/snprintf.texi (snprintf):
16713         * doc/posix-functions/sprintf.texi (sprintf):
16714         * doc/posix-functions/vdprintf.texi (vdprintf):
16715         * doc/posix-functions/vfprintf.texi (vfprintf):
16716         * doc/posix-functions/vprintf.texi (vprintf):
16717         * doc/posix-functions/vsnprintf.texi (vsnprintf):
16718         * doc/posix-functions/vsprintf.texi (vsprintf):
16719         Mention that these functions mishandle large floating point
16720         precisions on Solaris 10.  The same bug is also present in Solaris
16721         8, and I assume earlier.  This causes "cd gnulib-tests; make
16722         check" to fail on Solaris 8 (and I assume, later) when building
16723         the latest coreutils, in test-vasprintf-posix's call to
16724         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
16725         the wide flavors (e.g., wprintf) so this patch just updates the
16726         documentation for the narrow ones.
16727
16728         test-posixtm.c: add two tests
16729         * tests/test-posixtm.c: Add two tests, to highlight the
16730         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
16731         around this bug; this is merely to document it.
16732
16733 2010-12-22  Bruno Haible  <bruno@clisp.org>
16734
16735         getlogin_r: Work around portability problem on OSF/1.
16736         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
16737         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
16738         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
16739         test for a truncated result.
16740         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
16741         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
16742         * modules/getlogin_r (Depends-on): Add memchr.
16743         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
16744
16745 2010-12-22  Bruno Haible  <bruno@clisp.org>
16746
16747         ptsname: Avoid test failure on OSF/1 5.1.
16748         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
16749         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
16750         (same_slave): New function.
16751         (main): Use it to compare ptsname's result with the expected file name.
16752
16753 2010-12-22  Bruno Haible  <bruno@clisp.org>
16754
16755         Port extended stdio modules to HP NonStop Kernel.
16756         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
16757         macros.
16758         * lib/fbufmode.c: Update comments.
16759         * lib/fflush.c: Likewise.
16760         * lib/fpurge.c: Likewise.
16761         * lib/freadable.c: Likewise.
16762         * lib/freadahead.c: Likewise.
16763         * lib/freading.c: Likewise.
16764         * lib/freadptr.c: Likewise.
16765         * lib/freadseek.c: Likewise.
16766         * lib/fseeko.c: Likewise.
16767         * lib/fseterr.c: Likewise.
16768         * lib/fwritable.c: Likewise.
16769         * lib/fwriting.c: Likewise.
16770         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16771
16772 2010-12-22  Bruno Haible  <bruno@clisp.org>
16773
16774         ttyname_r: Work around bug on OSF/1 5.1.
16775         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
16776         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
16777         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
16778         present.
16779         * lib/ttyname_r.c (ttyname_r): Update comments.
16780
16781 2010-12-22  Bruno Haible  <bruno@clisp.org>
16782
16783         round: Implement result sign according to IEEE 754.
16784         * lib/round.c (MIN, MINUS_ZERO): New macros.
16785         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
16786         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
16787         * tests/test-round-ieee.c (main): Likewise.
16788         * tests/test-roundl-ieee.c (main): Likewise.
16789
16790         trunc: Implement result sign according to IEEE 754.
16791         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
16792         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
16793         * tests/test-trunc2.c: Include minus-zero.h.
16794         (MINUS_ZERO): New macro.
16795         (trunc_reference): Keep in sync with lib/trunc.c.
16796         * tests/test-truncf2.c: Include minus-zero.h.
16797         (MINUS_ZERO): New macro.
16798         (truncf_reference): Keep in sync with lib/trunc.c.
16799         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
16800         * tests/test-trunc-ieee.c (main): Likewise.
16801         * tests/test-truncl-ieee.c (main): Likewise.
16802
16803         ceil: Implement result sign according to IEEE 754.
16804         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
16805         (FUNC): Return -0.0 for -1 < x < 0.
16806         * tests/test-ceil2.c: Include minus-zero.h.
16807         (MINUS_ZERO): New macro.
16808         (ceil_reference): Keep in sync with lib/ceil.c.
16809         * tests/test-ceilf2.c: Include minus-zero.h.
16810         (MINUS_ZERO): New macro.
16811         (ceilf_reference): Keep in sync with lib/ceil.c.
16812         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
16813         * tests/test-ceil-ieee.c (main): Likewise.
16814         * tests/test-ceill-ieee.c (main): Likewise.
16815
16816         floor: Implement result sign according to IEEE 754.
16817         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
16818         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
16819         * tests/test-floorf2.c (floorf_reference): Likewise.
16820         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
16821         * tests/test-floor-ieee.c (main): Likewise.
16822         * tests/test-floorl-ieee.c (main): Likewise.
16823
16824 2010-12-22  Bruno Haible  <bruno@clisp.org>
16825
16826         getaddrinfo: Update doc.
16827         * doc/posix-functions/gai_strerror.texi: Return type is also different
16828         on AIX and HP-UX.
16829
16830 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16831
16832         getaddrinfo, inet_ntop: Update doc for Solaris.
16833         * doc/posix-functions/gai_strerror.texi: Return type is also an
16834         issue on Solaris 9 and earlier.
16835         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
16836         on Solaris 10 and earlier.
16837
16838 2010-12-21  Bruno Haible  <bruno@clisp.org>
16839
16840         New module 'roundl-ieee'.
16841         * modules/roundl-ieee: New file.
16842         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
16843         test whether roundl works according to ISO C 99 with IEC 60559.
16844         * m4/roundl-ieee.m4: New file.
16845         * modules/roundl-ieee-tests: New file.
16846         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
16847         * tests/test-roundl.c (main): Remove signbit tests.
16848         * modules/roundl-tests (Depends-on): Remove signbit.
16849         * doc/posix-functions/roundl.texi: Mention the new module.
16850
16851 2010-12-21  Bruno Haible  <bruno@clisp.org>
16852
16853         New module 'truncl-ieee'.
16854         * modules/truncl-ieee: New file.
16855         * modules/truncl-ieee-tests: New file.
16856         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
16857         * tests/test-truncl.c (main): Remove signbit tests.
16858         * modules/truncl-tests (Depends-on): Remove signbit.
16859         * doc/posix-functions/truncl.texi: Mention the new module.
16860
16861 2010-12-21  Bruno Haible  <bruno@clisp.org>
16862
16863         New module 'ceill-ieee'.
16864         * modules/ceill-ieee: New file.
16865         * modules/ceill-ieee-tests: New file.
16866         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
16867         * tests/test-ceill.c (main): Remove signbit tests.
16868         * modules/ceill-tests (Depends-on): Remove signbit.
16869         * doc/posix-functions/ceill.texi: Mention the new module.
16870
16871 2010-12-21  Bruno Haible  <bruno@clisp.org>
16872
16873         New module 'floorl-ieee'.
16874         * modules/floorl-ieee: New file.
16875         * modules/floorl-ieee-tests: New file.
16876         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
16877         * tests/test-floorl.c (main): Remove signbit tests.
16878         * modules/floorl-tests (Depends-on): Remove signbit.
16879         * doc/posix-functions/floorl.texi: Mention the new module.
16880
16881 2010-12-21  Bruno Haible  <bruno@clisp.org>
16882
16883         New module 'round-ieee'.
16884         * modules/round-ieee: New file.
16885         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
16886         whether round works according to ISO C 99 with IEC 60559.
16887         * m4/round-ieee.m4: New file.
16888         * modules/round-ieee-tests: New file.
16889         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
16890         * tests/test-round1.c (main): Remove signbit tests.
16891         * modules/round-tests (Depends-on): Remove 'signbit'.
16892         * doc/posix-functions/round.texi: Mention the new module.
16893
16894 2010-12-21  Bruno Haible  <bruno@clisp.org>
16895
16896         New module 'trunc-ieee'.
16897         * modules/trunc-ieee: New file.
16898         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
16899         whether trunc works according to ISO C 99 with IEC 60559.
16900         * m4/trunc-ieee.m4: New file.
16901         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
16902         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
16903         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
16904         * modules/trunc-ieee-tests: New file.
16905         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
16906         * tests/test-trunc1.c (main): Remove signbit tests.
16907         * modules/trunc-tests (Depends-on): Remove 'signbit'.
16908         * doc/posix-functions/trunc.texi: Mention the new module.
16909
16910 2010-12-21  Bruno Haible  <bruno@clisp.org>
16911
16912         New module 'ceil-ieee'.
16913         * modules/ceil-ieee: New file.
16914         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
16915         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
16916         ISO C 99 with IEC 60559.
16917         * m4/ceil-ieee.m4: New file.
16918         * modules/ceil (Files): Add lib/ceil.c.
16919         (Depends-on): Add 'float'.
16920         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16921         * lib/math.in.h (ceil): New declaration.
16922         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
16923         REPLACE_CEIL.
16924         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
16925         * modules/ceil-ieee-tests: New file.
16926         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
16927         * tests/test-math-c++.cc: Check the signature of 'ceil'.
16928         * doc/posix-functions/ceil.texi: Mention the new module.
16929
16930 2010-12-21  Bruno Haible  <bruno@clisp.org>
16931
16932         New module 'floor-ieee'.
16933         * modules/floor-ieee: New file.
16934         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
16935         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
16936         ISO C 99 with IEC 60559.
16937         * m4/floor-ieee.m4: New file.
16938         * modules/floor (Files): Add lib/floor.c.
16939         (Depends-on): Add 'float'.
16940         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16941         * lib/math.in.h (floor): New declaration.
16942         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
16943         REPLACE_FLOOR.
16944         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
16945         * modules/floor-ieee-tests: New file.
16946         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
16947         * tests/test-math-c++.cc: Check the signature of 'floor'.
16948         * doc/posix-functions/floor.texi: Mention the new module.
16949
16950 2010-12-21  Bruno Haible  <bruno@clisp.org>
16951
16952         New module 'roundf-ieee'.
16953         * modules/roundf-ieee: New file.
16954         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
16955         test whether roundf works according to ISO C 99 with IEC 60559.
16956         * m4/roundf-ieee.m4: New file.
16957         * modules/roundf-ieee-tests: New file.
16958         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
16959         * tests/test-roundf1.c (main): Remove signbit tests.
16960         * modules/roundf-tests (Depends-on): Remove 'signbit'.
16961         * doc/posix-functions/roundf.texi: Mention the new module.
16962
16963 2010-12-21  Bruno Haible  <bruno@clisp.org>
16964
16965         New module 'truncf-ieee'.
16966         * modules/truncf-ieee: New file.
16967         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
16968         test whether truncf works according to ISO C 99 with IEC 60559.
16969         * m4/truncf-ieee.m4: New file.
16970         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
16971         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
16972         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
16973         * modules/truncf-ieee-tests: New file.
16974         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
16975         * tests/test-truncf1.c (main): Remove signbit tests.
16976         * modules/truncf-tests (Depends-on): Remove 'signbit'.
16977         * doc/posix-functions/truncf.texi: Mention the new module.
16978
16979 2010-12-21  Bruno Haible  <bruno@clisp.org>
16980
16981         New module 'ceilf-ieee'.
16982         * modules/ceilf-ieee: New file.
16983         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
16984         test whether ceilf works according to ISO C 99 with IEC 60559.
16985         * m4/ceilf-ieee.m4: New file.
16986         * modules/ceilf-ieee-tests: New file.
16987         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
16988         * tests/test-ceilf1.c (main): Remove signbit tests.
16989         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
16990         * doc/posix-functions/ceilf.texi: Mention the new module.
16991
16992 2010-12-21  Bruno Haible  <bruno@clisp.org>
16993
16994         New module 'floorf-ieee'.
16995         * modules/floorf-ieee: New file.
16996         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
16997         test whether floorf works according to ISO C 99 with IEC 60559.
16998         * m4/floorf-ieee.m4: New file.
16999         * modules/floorf-ieee-tests: New file.
17000         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
17001         * tests/test-floorf1.c (main): Remove signbit tests.
17002         * modules/floorf-tests (Depends-on): Remove 'signbit'.
17003         * doc/posix-functions/floorf.texi: Mention the new module.
17004
17005 2010-12-21  Bruno Haible  <bruno@clisp.org>
17006
17007         Support for minus zero in autoconf macros.
17008         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
17009         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
17010         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
17011         * tests/minus-zero.h: Update comments.
17012
17013 2010-12-21  Bruno Haible  <bruno@clisp.org>
17014
17015         Tests for module 'ceil'.
17016         * modules/ceil-tests: New file.
17017         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
17018         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
17019
17020 2010-12-21  Bruno Haible  <bruno@clisp.org>
17021
17022         Tests for module 'floor'.
17023         * modules/floor-tests: New file.
17024         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
17025         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
17026
17027 2010-12-21  Bruno Haible  <bruno@clisp.org>
17028
17029         math: Fix indentation.
17030         * lib/math.in.h (floorf): Fix indentation.
17031
17032 2010-12-21  Bruno Haible  <bruno@clisp.org>
17033
17034         Fix cross-compilation guesses on Solaris.
17035         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
17036         not match "solaris2.10".
17037         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17038         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
17039         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
17040
17041 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
17042
17043         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
17044         This fixes a problem observed with the latest coreutils snapshot
17045         that caused a test to fail on Solaris 8.  src/csplit.c's call
17046         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
17047         earlier, instead of returning the number of bytes that would have
17048         been generated; this causes csplit to incorrectly report memory
17049         exhaustion.
17050         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
17051         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
17052         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
17053         comments to match.
17054         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
17055         Fix typo in matching older versions of Solaris: "solaris2.10"
17056         is matched by the shell pattern "solaris2.[0-9]*".  This matters
17057         only for guessing while cross-compiling.
17058         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
17059
17060 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17061
17062         ftoastr: fix comment again
17063         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17064         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
17065         Also, simplify example a bit by using flags = 0.
17066
17067 2010-12-20  Bruno Haible  <bruno@clisp.org>
17068
17069         round*, trunc*: Update documentation regarding glibc.
17070         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
17071         * doc/posix-functions/round.texi: Likewise.
17072         * doc/posix-functions/roundl.texi: Likewise.
17073         * doc/posix-functions/truncf.texi: Likewise.
17074         * doc/posix-functions/trunc.texi: Likewise.
17075         * doc/posix-functions/truncl.texi: Likewise.
17076
17077 2010-12-20  Bruno Haible  <bruno@clisp.org>
17078
17079         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
17080         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
17081         * doc/posix-functions/round.texi: Likewise.
17082         * doc/posix-functions/roundl.texi: Likewise.
17083
17084 2010-12-20  Bruno Haible  <bruno@clisp.org>
17085
17086         ttyname_r: Add missing declaration on HP-UX 11.
17087         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
17088         HAVE_TTYNAME_R.
17089         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
17090         declared. Set HAVE_TTYNAME_R always.
17091         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17092         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
17093         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
17094         HAVE_TTYNAME_R.
17095         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
17096
17097 2010-12-20  Bruno Haible  <bruno@clisp.org>
17098
17099         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
17100         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
17101         * doc/posix-functions/getlogin_r.texi: Likewise.
17102         * tests/test-getlogin.c: Include <errno.h>.
17103         (main): Avoid test failure on HP-UX 11.11.
17104         * tests/test-getlogin_r.c (main): Likewise.
17105
17106 2010-12-20  Bruno Haible  <bruno@clisp.org>
17107
17108         getlogin_r: Add missing declaration on HP-UX 11.
17109         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
17110         declared also when it exists as a function.
17111         * doc/posix-functions/getlogin_r.texi: Document this workaround.
17112
17113 2010-12-20  Bruno Haible  <bruno@clisp.org>
17114
17115         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
17116         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
17117         through wcrtomb.
17118
17119 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
17120
17121         ftoastr: fix comment
17122         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17123         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
17124
17125 2010-12-19  Bruno Haible  <bruno@clisp.org>
17126
17127         isnan: Ensure it is a macro.
17128         * lib/math.in.h (isnan): Define as a macro if not already a macro.
17129         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
17130         Solaris.
17131
17132 2010-12-19  Bruno Haible  <bruno@clisp.org>
17133
17134         ldexpl test: Fix link error on OSF/1 5.1.
17135         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
17136
17137 2010-12-19  Bruno Haible  <bruno@clisp.org>
17138
17139         wctype: Make it work in C++ mode on OSF/1 5.1.
17140         * lib/wctype.in.h (iswblank): Declare but not define here.
17141         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
17142         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
17143         * modules/wctype (Files): Add lib/iswblank.c.
17144
17145 2010-12-19  Bruno Haible  <bruno@clisp.org>
17146
17147         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
17148         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
17149         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
17150
17151 2010-12-19  Bruno Haible  <bruno@clisp.org>
17152
17153         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
17154         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
17155         _POSIX_PII_SOCKET.
17156         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
17157         * doc/posix-functions/recvfrom.texi: Likewise.
17158         * doc/posix-functions/send.texi: Likewise.
17159         * doc/posix-functions/sendto.texi: Likewise.
17160
17161 2010-12-19  Bruno Haible  <bruno@clisp.org>
17162
17163         tcgetsid: Add missing declaration on OSF/1 5.1.
17164         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
17165         HAVE_TCGETSID.
17166         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
17167         Don't set HAVE_TCGETSID.
17168         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
17169         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
17170         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
17171         HAVE_TCGETSID.
17172         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
17173
17174 2010-12-19  Bruno Haible  <bruno@clisp.org>
17175
17176         stdio: Fix problem with popen() declaration on OSF/1 5.1.
17177         * lib/stdio.in.h: During the include_next statement, let recursive
17178         includes of this file include only the system header file.
17179
17180 2010-12-19  Bruno Haible  <bruno@clisp.org>
17181
17182         iconv_open: Fix regression from 2010-12-04.
17183         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
17184         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
17185
17186 2010-12-19  Bruno Haible  <bruno@clisp.org>
17187
17188         stdbool test: Avoid a gcc warning.
17189         * tests/test-stdbool.c (main): Fail if e1 is false.
17190         Reported by Jim Meyering.
17191
17192 2010-12-19  Jim Meyering  <meyering@redhat.com>
17193
17194         setenv: restore to working order
17195         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
17196         mistakenly removed.
17197         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
17198         HAVE_SETENV.
17199         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
17200         HAVE_SETENV.
17201
17202 2010-12-19  Bruno Haible  <bruno@clisp.org>
17203
17204         Document some different function declarations on OSF/1 5.1.
17205         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
17206         * doc/posix-functions/inet_ntop.texi: Likewise.
17207         * doc/posix-functions/gethostname.texi: Likewise.
17208         * lib/unistd.in.h (gethostname): Update comment.
17209
17210 2010-12-19  Bruno Haible  <bruno@clisp.org>
17211
17212         doc: Mention vasprintf-posix module.
17213         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
17214         the 'vasprintf-posix' module.
17215         * doc/glibc-functions/vasprintf.texi: Likewise.
17216
17217 2010-12-19  Bruno Haible  <bruno@clisp.org>
17218
17219         unsetenv: Add missing declaration on OSF/1 5.1.
17220         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
17221         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
17222         Don't set HAVE_UNSETENV. In the test program, set _BSD.
17223         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
17224         not HAVE_UNSETENV.
17225         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
17226         HAVE_UNSETENV.
17227         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
17228
17229 2010-12-19  Bruno Haible  <bruno@clisp.org>
17230
17231         setenv: Add missing declaration on OSF/1 5.1.
17232         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
17233         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
17234         declared. Don't set HAVE_SETENV.
17235         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
17236         not HAVE_SETENV.
17237         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
17238         HAVE_SETENV.
17239         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
17240
17241 2010-12-19  Bruno Haible  <bruno@clisp.org>
17242
17243         nl_langinfo tests: Avoid gcc warning.
17244         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
17245
17246 2010-12-19  Bruno Haible  <bruno@clisp.org>
17247
17248         mknod: Avoid error in C++ mode on OSF/1 with GCC.
17249         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
17250         _GL_CXXALIAS_SYS.
17251
17252 2010-12-19  Bruno Haible  <bruno@clisp.org>
17253
17254         stdbool: Relax test.
17255         * tests/test-stdbool.c (e): Don't require that casts from a variable's
17256         address to 'bool' work in static initializer, for compilers other than
17257         GCC.
17258
17259 2010-12-19  Bruno Haible  <bruno@clisp.org>
17260
17261         ftello: Add missing declaration on OSF/1 5.1.
17262         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
17263         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
17264         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
17265         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
17266         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
17267
17268 2010-12-19  Bruno Haible  <bruno@clisp.org>
17269
17270         fseeko: Add missing declaration on OSF/1 5.1.
17271         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
17272         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
17273         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
17274         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
17275         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
17276
17277 2010-12-19  Bruno Haible  <bruno@clisp.org>
17278
17279         fchdir: Add missing declaration on OSF/1 5.1.
17280         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
17281         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
17282         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
17283         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
17284         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
17285
17286 2010-12-19  Bruno Haible  <bruno@clisp.org>
17287
17288         relocatable-prog-wrapper: Separate from relocatable-prog.
17289         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
17290         uninstall-relocwrapper rule here.
17291         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
17292         Reported by Ian Beckwith <ianb@erislabs.net>.
17293
17294 2010-12-19  Bruno Haible  <bruno@clisp.org>
17295
17296         unistr/u8-mbsnlen: Add missing dependency.
17297         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
17298         Reported by Ian Beckwith <ianb@erislabs.net>.
17299
17300 2010-12-19  Bruno Haible  <bruno@clisp.org>
17301
17302         iconv: Make it possible again to use this module without 'iconv-h'.
17303         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
17304         if it is not defined.
17305         Reported by Ian Beckwith <ianb@erislabs.net>.
17306
17307 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
17308
17309         acl: port to Solaris 8 when copying from tmpfs to ufs
17310         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
17311         error number.  Problem observed on Solaris 8 with latest
17312         coreutils, with "mv A B", where A is on a tmpfs file system and B
17313         is on a ufs file system.  This caused coreutils' mv/part-symlink
17314         test to fail.
17315
17316         tests: set fail=0 at start
17317         * tests/init.sh (setup_): Move fail=0 initialization here ...
17318         (mktempd_): ... from here, so that tests can rely on fail being
17319         set to 0 initially.  This fixes a problem in coreutils; see:
17320         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
17321
17322 2010-12-18  Bruno Haible  <bruno@clisp.org>
17323
17324         memmem-simple: Stylistic changes.
17325         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
17326         Fix preprocessor directive indentation.
17327
17328 2010-12-15  Pádraig Brady <P@draigBrady.com>
17329
17330         memmem, memmem-simple: reorganize and expand empty needle check
17331         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
17332         functional checks to memmem-simple so that one has a fully functional
17333         memmem by using just this module.
17334         Restrict the performance only check to the memmem module.
17335         Also expand the empty needle check to ensure the correct
17336         pointer is returned, not just a non NULL pointer.
17337         * doc/glibc-functions/memmem.texi: Rearrange the portability
17338         documentation to correlate with the rearranged checks.
17339         Clarify exactly how the memmem and memmem-simple modules
17340         relate to each other.
17341
17342 2010-12-15  Pádraig Brady <P@draigBrady.com>
17343             Bruno Haible  <bruno@clisp.org>
17344
17345         Improve cross-compilation guesses for uClibc.
17346         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
17347         that uClibc does not have the glibc bug.
17348         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
17349         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
17350
17351 2010-12-14  Eric Blake  <eblake@redhat.com>
17352
17353         configmake: provide fallbacks for oldest supported autotools
17354         * m4/configmake.m4: New file.
17355         * modules/configmake (Files): Ship it.
17356         (configure.ac): Use it to guarantee fallbacks.
17357
17358 2010-12-13  Pádraig Brady <P@draigBrady.com>
17359
17360         read-file: Improve handling of large files
17361         * lib/read-file.c (fread_file): Minimize realloc()s
17362         for regular files, and better manage sizes around SIZE_MAX.
17363
17364 2010-12-13  Eric Blake  <eblake@redhat.com>
17365
17366         cloexec, fcntl: relax license
17367         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
17368         consent from all contributors.
17369         * modules/fcntl (License): Likewise.
17370
17371 2010-12-10  Bruno Haible  <bruno@clisp.org>
17372
17373         Tests for module 'pipe-posix'.
17374         * modules/pipe-posix-tests: New file.
17375         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
17376
17377 2010-12-10  Bruno Haible  <bruno@clisp.org>
17378
17379         pipe-posix: Make it work in C++ mode.
17380         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
17381         (pipe): Use common idiom, not a macro definition.
17382         * lib/pipe.c: New file.
17383         * m4/pipe.m4: New file.
17384         * modules/pipe-posix (Description): Enhance.
17385         (Files): Add lib/pipe.c, m4/pipe.m4.
17386         (configure.ac): Invoke gl_FUNC_PIPE.
17387         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
17388         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
17389         * tests/test-unistd-c++.cc: Check the signature of pipe.
17390
17391 2010-12-10  Bruno Haible  <bruno@clisp.org>
17392
17393         Rename module 'pipe' to 'spawn-pipe'.
17394         * modules/spawn-pipe: New file, renamed from modules/pipe.
17395         (Files, configure.ac, Makefile.am): Update.
17396         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
17397         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
17398         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
17399         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
17400         "spawn-pipe.h" instead of "pipe.h".
17401         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
17402         to gl_SPAWN_PIPE.
17403         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
17404         (Files, Makefile.am): Update.
17405         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
17406         Update.
17407         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
17408         Include "spawn-pipe.h" instead of "pipe.h".
17409         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
17410         * lib/javacomp.c: Likewise.
17411         * lib/javaversion.c: Likewise.
17412         * lib/pipe-filter-gi.c: Likewise.
17413         * lib/pipe-filter-ii.c: Likewise.
17414         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
17415         * modules/javacomp (Depends-on): Likewise.
17416         * modules/javaversion (Depends-on): Likewise.
17417         * modules/pipe-filter-gi (Depends-on): Likewise.
17418         * modules/pipe-filter-ii (Depends-on): Likewise.
17419         * MODULES.html.sh (Executing programs): Update.
17420         * NEWS: Mention the change.
17421
17422 2010-12-10  Eric Blake  <eblake@redhat.com>
17423
17424         pipe-posix: new module
17425         * modules/pipe-posix: New file.
17426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
17427         (gl_UNISTD_H): Check for declaration.
17428         * modules/unistd (Makefile.am): Substitute it.
17429         * lib/unistd.in.h (pipe): Provide it for mingw.
17430         * doc/posix-functions/pipe.texi (pipe): Update documentation.
17431         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
17432
17433 2010-12-07  Bruno Haible  <bruno@clisp.org>
17434
17435         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
17436         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
17437         u8_strcmp_gnu.
17438         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
17439
17440 2010-12-06  Bruno Haible  <bruno@clisp.org>
17441
17442         Update internal documentation.
17443         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
17444
17445 2010-12-04  Bruno Haible  <bruno@clisp.org>
17446
17447         Put more information about failed tests into the test return codes.
17448         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
17449         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
17450         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
17451         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
17452         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
17453         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17454         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17455         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17456         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
17457         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17458         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
17459         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17460         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
17461         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17462         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17463         returns a bit mask.
17464         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17465         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17466         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17467         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17468         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17469         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17470         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17471         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17472         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17473         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17474         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17475         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17476         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17477         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17478         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17479         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17480         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17481         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17482         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17483         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17484         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17485         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17486         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17487         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17488         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17489         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17490         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17491         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17492         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17493         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17494         gl_PRINTF_PRECISION): Likewise.
17495         * m4/regex.m4 (gl_REGEX): Likewise.
17496         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17497         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17498         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17499         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17500         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17501         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17502         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17503         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17504         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17505         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17506         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17507         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17508         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17509         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17510         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17511         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17512         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17513         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17514         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17515         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17516         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17517         enumerated value.
17518         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17519
17520 2010-12-04  Bruno Haible  <bruno@clisp.org>
17521
17522         Update for Solaris 11 2010-11.
17523         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17524         Express, released in November 2010.
17525
17526 2010-12-04  Bruno Haible  <bruno@clisp.org>
17527
17528         nproc: Relax license.
17529         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
17530         and Paul Eggert.
17531         Requested by Ludovic Courtès <ludo@gnu.org>.
17532
17533 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
17534
17535         utimecmp: fine-grained src to nearby coarse-grained dest
17536
17537         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
17538         and the source is on a file system with higher-resolution time
17539         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
17540         not work, and the time stamps are close together, the algorithm to
17541         determine the exact resolution from the read-back mtime was buggy:
17542         it had a "!=" where it should have had an "==".  This bug has been
17543         in the code ever since it was introduced to gnulib.
17544         Problem reported by Dan Jacobson in
17545         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
17546
17547 2010-11-30  Bruno Haible  <bruno@clisp.org>
17548
17549         strerror_r-posix: Fix autoconf test.
17550         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
17551
17552 2010-11-28  Bruno Haible  <bruno@clisp.org>
17553             Paul Eggert  <eggert@cs.ucla.edu>
17554
17555         Tests for module 'getdomainname'.
17556         * modules/getdomainname-tests: New file.
17557         * tests/test-getdomainname.c: New file, based on
17558         tests/test-gethostname.c.
17559
17560 2010-11-28  Bruno Haible  <bruno@clisp.org>
17561             Paul Eggert  <eggert@cs.ucla.edu>
17562
17563         getdomainname: Use the system function when possible.
17564         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
17565         (getdomainname): Replace if needed. Provide the declaration if it is
17566         missing. Don't use _GL_CXXALIAS_SYS_CAST.
17567         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
17568         (getdomainname): When the system has getdomainname, call the system
17569         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
17570         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17571         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
17572         found in libnsl. Look for the declaration also in <netdb.h>. Replace
17573         the function if its second argument is of type 'int' or if it is found
17574         in libnsl.
17575         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
17576         <sys/systeminfo.h> and sysinfo().
17577         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
17578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17579         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
17580         HAVE_GETDOMAINNAME.
17581         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
17582         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
17583         * doc/glibc-functions/getdomainname.texi: Document the problems with
17584         the getdomainname declaration.
17585
17586 2010-11-28  Bruno Haible  <bruno@clisp.org>
17587
17588         sys_socket: Ensure ss_family field on AIX.
17589         * lib/sys_socket.in.h (ss_family): New macro definition.
17590         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
17591         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
17592         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17593         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17594         * modules/sys_socket (Makefile.am): Substitute
17595         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17596         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
17597
17598 2010-11-27  Bruno Haible  <bruno@clisp.org>
17599
17600         readline: Improve configure output.
17601         * m4/readline.m4 (gl_FUNC_READLINE): Make the
17602         "checking for readline..." result understandable.
17603
17604 2010-11-27  Bruno Haible  <bruno@clisp.org>
17605
17606         *printf-posix: Detect a bug on Solaris 10/x86.
17607         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
17608         for floating-point output.
17609         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
17610         directive.
17611         * tests/test-snprintf-posix.h (test_function): Likewise.
17612         * tests/test-sprintf-posix.h (test_function): Likewise.
17613         * tests/test-vasprintf-posix.c (test_function): Likewise.
17614         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
17615         * doc/posix-functions/printf.texi: Likewise.
17616         * doc/posix-functions/snprintf.texi: Likewise.
17617         * doc/posix-functions/sprintf.texi: Likewise.
17618         * doc/posix-functions/vfprintf.texi: Likewise.
17619         * doc/posix-functions/vprintf.texi: Likewise.
17620         * doc/posix-functions/vsnprintf.texi: Likewise.
17621         * doc/posix-functions/vsprintf.texi: Likewise.
17622         * doc/glibc-functions/obstack_printf.texi: Likewise.
17623         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17624
17625 2010-11-27  Bruno Haible  <bruno@clisp.org>
17626
17627         Fix link error when module libunistring-optional is in use.
17628         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
17629         * modules/striconveha-tests (Makefile.am): Likewise.
17630
17631 2010-11-27  Bruno Haible  <bruno@clisp.org>
17632
17633         regex: Mention link dependencies.
17634         * modules/regex (Link): New section.
17635         * modules/rpmatch (Link): Likewise.
17636         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
17637
17638 2010-11-27  Bruno Haible  <bruno@clisp.org>
17639
17640         ftoastr: Fix compilation error on Solaris.
17641         * lib/ftoastr.c: Include <config.h>.
17642
17643 2010-11-27  Bruno Haible  <bruno@clisp.org>
17644
17645         getloadavg: Update documentation.
17646         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
17647
17648 2010-11-27  Bruno Haible  <bruno@clisp.org>
17649
17650         sys_socket: Fix test whether the functions are declared.
17651         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
17652         not <sys/select.h>.
17653
17654 2010-11-27  Bruno Haible  <bruno@clisp.org>
17655
17656         getpass: Make sure to get system declaration on some platforms.
17657         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
17658         gl_USE_SYSTEM_EXTENSIONS.
17659         * modules/getpass (Depends-on): Add extensions.
17660
17661 2010-11-26  Bruno Haible  <bruno@clisp.org>
17662
17663         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
17664         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
17665         'iconv' module is present.
17666         (ICONV_CONST): New macro.
17667         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
17668         ICONV_CONST.
17669         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
17670         set ICONV_CONST.
17671         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
17672         here.
17673         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
17674         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
17675         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
17676         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
17677         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
17678         present.
17679
17680 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17681
17682         ftoastr: comment fix
17683         * lib/ftoastr.c: "little" -> "little or no" in comment
17684
17685 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
17686
17687         stdint: port to GCC 4.3 + OSX + Octave
17688         On this platform, stdint.h is buggy and defines int64_t to long
17689         long int.  The replacement defined it to long int, causing
17690         problems with C++ style name mangling.  Instead, trust the system
17691         definition if INT64_MAX is defined, and likewise for the unsigned
17692         variant.   Problem reported by Jarno Rajahalme in
17693         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
17694         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
17695         and don't mess with int64_t and INT64_MAX in this case.
17696         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
17697
17698 2010-11-24  Bruno Haible  <bruno@clisp.org>
17699
17700         doc: Corrections regarding MacOS X 10.4 and 10.5.
17701         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
17702         MacOS X.
17703         Reported by Simon Josefsson.
17704
17705 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
17706
17707         Uninstall ".bin" files installed by relocwrapper.
17708         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
17709         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
17710         unless it is already there.
17711
17712 2010-11-21  Bruno Haible  <bruno@clisp.org>
17713
17714         Update for NetBSD 5.0.
17715         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17716         NetBSD; the test fails on NetBSD 5.0.
17717         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17718         about NetBSD.
17719
17720 2010-11-21  Bruno Haible  <bruno@clisp.org>
17721
17722         Update for HP-UX 11.23 and HP-UX 11.31.
17723         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
17724         HP-UX.
17725
17726 2010-11-21  Bruno Haible  <bruno@clisp.org>
17727
17728         Update for MacOS X 10.5.
17729         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17730         MacOS X; the test fails on MacOS X 10.5.8.
17731         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17732         about MacOS X.
17733
17734 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
17735
17736         bootstrap: add bootstrap_sync option.
17737         See discussion at
17738         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
17739         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
17740         * build-aux/bootstrap: Accept --bootstrap-sync to update
17741         bootstrap if it is not identical to the local gnulib's
17742         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
17743         enable this by default.  Accept --no-bootstrap-sync to disable
17744         it.
17745
17746 2010-11-20  Bruno Haible  <bruno@clisp.org>
17747
17748         Ensure that <features.h> is included before __GLIBC__ is tested.
17749         * lib/printf-parse.h: Include <features.h>.
17750         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
17751         Reported by Mike Frysinger <vapier@gentoo.org>.
17752
17753         Ensure that <features.h> is included before __GLIBC__ is tested.
17754         * lib/wchar.in.h: Include <features.h>.
17755         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
17756         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
17757         Reported by Mike Frysinger <vapier@gentoo.org>.
17758
17759         Ensure that <features.h> is included before __GLIBC__ is tested.
17760         * lib/arpa_inet.in.h: Include <features.h>.
17761         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
17762         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
17763         Reported by Mike Frysinger <vapier@gentoo.org>.
17764
17765         Ensure that <features.h> is included before __GLIBC__ is tested.
17766         * build-aux/link-warning.h: Include <features.h>.
17767         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
17768         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
17769         Reported by Mike Frysinger <vapier@gentoo.org>.
17770
17771         Ensure that <features.h> is included before __GLIBC__ is tested.
17772         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
17773         Reported by Mike Frysinger <vapier@gentoo.org>.
17774
17775 2010-11-20  Bruno Haible  <bruno@clisp.org>
17776
17777         memmem: Fix autoconf test.
17778         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
17779
17780 2010-11-20  Bruno Haible  <bruno@clisp.org>
17781
17782         Port to uClibc.
17783         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
17784         * lib/fcntl.in.h: Likewise.
17785         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
17786         * lib/mbrtowc.c (mbrtowc): Likewise.
17787         * lib/relocatable.c (find_shared_library_fullname): Likewise.
17788         * lib/strerror_r.c: Likewise.
17789         * lib/unistr/u8-strnlen.c: Likewise.
17790         * lib/vasnprintf.c (decimal_point_char): Likewise.
17791         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
17792         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
17793         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17794         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
17795         * tests/test-sigaction.c (handler, main): Likewise.
17796         * lib/freading.h: Treat uClibc like a non-glibc platform.
17797         * lib/freading.c: Likewise.
17798         * lib/gettext.h: Likewise.
17799         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
17800         Likewise.
17801         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
17802         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
17803         * lib/propername.c (proper_name_utf8): Likewise.
17804         * lib/spawn.in.h: Likewise.
17805         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
17806         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
17807         mem_cd_iconveh_internal): Likewise.
17808         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
17809         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
17810         strstr, strcasestr): Likewise.
17811         * lib/unicodeio.c (unicode_to_mb): Likewise.
17812         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
17813         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
17814         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
17815         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
17816         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
17817         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
17818         * lib/unistr/u8-stpncpy.c: Likewise.
17819         * lib/vasnprintf.c (VASNPRINTF): Likewise.
17820         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
17821         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17822         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17823         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
17824         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
17825         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
17826         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
17827         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17828         Likewise.
17829         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
17830         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17831         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17832         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17833         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17834         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17835         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17836         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17837         * tests/test-getopt.h (OPTIND_MIN): Likewise.
17838         * tests/test-striconveha.c (main): Likewise.
17839         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17840         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
17841         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
17842         * doc/posix-functions/getline.texi: Likewise.
17843         Reported by Mike Frysinger <vapier@gentoo.org>.
17844
17845 2010-11-20  Bruno Haible  <bruno@clisp.org>
17846
17847         nproc: Fix condition.
17848         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
17849         HAVE_PTHREAD_AFFINITY_NP.
17850
17851 2010-11-20  Bruno Haible  <bruno@clisp.org>
17852
17853         Fix a comment.
17854         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
17855
17856 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
17857
17858         ftoastr: don't assume snprintf
17859         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
17860         Implement a subset of snprintf here, by using sprintf safely.
17861         * modules/ftoastr (Depends-on): Remove snprintf.
17862
17863 2010-11-19  Jim Meyering  <meyering@redhat.com>
17864
17865         test-rename.h: fix compilation failure
17866         * tests/test-rename.h (test_rename): Add omitted "}".
17867
17868 2010-11-17  Jim Meyering  <meyering@redhat.com>
17869
17870         maint.mk: add a URL discussing the no-@acronym policy
17871         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
17872
17873 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
17874
17875         ftoastr: depend on snprintf, improve comments
17876         * lib/ftoastr.c: Also mention Loitsch's draft.
17877         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
17878         needed in the current implementation, but it might simplify
17879         speeding up the code later.
17880         * modules/ftoastr: Depend on snprintf; this improves portability.
17881         Suggested by Bruno Haible in the same email.
17882
17883         ftoastr: port to hosts lacking strtof and strtold
17884         Problem reported by Bruno Haible in
17885         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
17886         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
17887         environment and strtold (and presumably strtof) are not available.
17888         * modules/ftoastr (Files): Add m4/c-strtod.m4.
17889         (configure.ac): Require gl_C99_STRTOLD.
17890
17891 2010-11-18  Bruno Haible  <bruno@clisp.org>
17892
17893         c-strtold: Avoid link error on AIX 7.
17894         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
17895         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
17896         (gl_C_STRTOLD): Test whether strtold_l exists.
17897         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17898
17899 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
17900
17901         intprops: new macro INT_BITS_STRLEN_BOUND
17902         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
17903         ftoastr.h.  This exposes an internal of intprops.h that was formerly
17904         not exposed.  Also, it uses a slightly tighter bound than before;
17905         though this makes no practical difference, we might as well be as
17906         tight as we easily can.
17907
17908         ftoastr: new module, for lossless conversion of floats to short strings
17909         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
17910         * modules/ftoastr: New files.
17911
17912 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
17913
17914         bootstrap: port to Solaris sed
17915         * build-aux/bootstrap (get_version): Port to Solaris sed.
17916         See Ralf Wildenhues's note in
17917         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
17918
17919 2010-11-14  Jim Meyering  <meyering@redhat.com>
17920
17921         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
17922         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
17923         and move definition closer to sole use.
17924
17925 2010-11-13  Jim Meyering  <meyering@redhat.com>
17926
17927         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
17928         Now we require at least autoconf-2.59, which means the work-around
17929         is no longer needed.
17930         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
17931         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
17932         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
17933         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
17934         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17935
17936 2010-11-13  Bruno Haible  <bruno@clisp.org>
17937
17938         rename, renameat: Avoid test failures at NFS mounted locations.
17939         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
17940         functions.
17941         (test_rename): Use assert_nonexistent.
17942         * tests/test-rename.c: Include <dirent.h>.
17943         * tests/test-renameat.c: Likewise.
17944         Reported by Gary V. Vaughan <gary@gnu.org>.
17945
17946         rename, renameat: Document Linux bug with NFS
17947         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
17948         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
17949         * doc/posix-functions/renameat.texi: Likewise.
17950         Suggested by Eric Blake.
17951
17952 2010-11-13  Bruno Haible  <bruno@clisp.org>
17953
17954         rename test: Add comments.
17955         * tests/test-rename.h (test_rename): Add structure and comments.
17956
17957 2010-11-13  Eric Blake  <eblake@redhat.com>
17958
17959         maintainer-makefile: cover a few more files
17960         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
17961         scripts generated within C files, for libvirt.
17962
17963 2010-11-13  Bruno Haible  <bruno@clisp.org>
17964
17965         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
17966         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
17967         character, return the number of bytes that belong together, not always
17968         1.
17969         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
17970         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
17971         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
17972         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
17973         number of bytes of an invalid character.
17974         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
17975         (main): Invoke it.
17976         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
17977         results.
17978         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
17979         malformed byte sequences.
17980         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
17981         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
17982         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
17983         Reported by Ben Pfaff and Paolo Bonzini.
17984
17985 2010-11-13  Bruno Haible  <bruno@clisp.org>
17986
17987         openat: Work around glibc bug with fchownat() and empty file names.
17988         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
17989         (gl_FUNC_FCHOWNAT): Invoke it.
17990         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
17991         * doc/posix-functions/fchownat.texi: Document the glibc bug.
17992         Reported by Gary V. Vaughan <gary@gnu.org>.
17993
17994 2010-11-13  Bruno Haible  <bruno@clisp.org>
17995
17996         openat: Ensure autoconf macro ordering.
17997         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
17998         gl_USE_SYSTEM_EXTENSIONS.
17999         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
18000
18001 2010-11-13  Bruno Haible  <bruno@clisp.org>
18002
18003         Update comments.
18004         * lib/unistr/u8-check.c: Update file name in comments.
18005         * lib/unistr/u8-mblen.c: Likewise.
18006         * lib/unistr/u8-prev.c: Likewise.
18007         * lib/unistr/u8-strmblen.c: Likewise.
18008         * lib/unistr/u8-strmbtouc.c: Likewise.
18009
18010 2010-11-13  Jim Meyering  <meyering@redhat.com>
18011
18012         tests: avoid test failure on Solaris 10 due to lack of PATH export
18013         * tests/test-update-copyright.sh: Don't forget to export PATH.
18014
18015         init.sh: ensure that IFS is defined, just in case...
18016         * tests/init.sh (setup_): Ensure that IFS is defined,
18017         so that saving and restoring it works as expected.  This
18018         appears to be useful at least for an old version of dash
18019         from a long time ago (RH 6).  See here for details:
18020         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
18021
18022         maint.mk: tighten "test a == b" check
18023         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
18024         test to files that contain something like #!/bin/sh.
18025         Without this, coreutils would get two false positives in
18026         the comments of C source files.
18027
18028 2010-11-12  Eric Blake  <eblake@redhat.com>
18029
18030         bootstrap: fix typo in previous attempt
18031         * build-aux/bootstrap (buildreq): Correct the grouping.
18032         Reported by Paul Eggert.
18033
18034         maintainer-makefile: prohibit test x == x
18035         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
18036         Based on a report by Matthias Bolte.
18037
18038         bootstrap: allow FreeBSD gzip
18039         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
18040         which has no '.' and goes to stderr.
18041         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
18042         Reported by Matthias Bolte.
18043
18044         maintainer-makefile: check for i18n setup
18045         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
18046         will likely work.
18047
18048 2010-11-12  Bruno Haible  <bruno@clisp.org>
18049
18050         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
18051         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
18052         * lib/nanosleep.c (nanosleep): Likewise.
18053
18054 2010-11-11  Bruno Haible  <bruno@clisp.org>
18055
18056         fcntl-h: Fix for use of C++ on glibc systems.
18057         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18058         also on glibc systems in C++ mode.
18059         Reported by Gary V. Vaughan <gary@gnu.org>.
18060
18061 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18062
18063         mknod: avoid false failure with dash
18064         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
18065
18066 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18067
18068         unlink: Fix "is it should" typo in diagnostic.
18069         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
18070         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
18071
18072 2010-11-11  Bruno Haible  <bruno@clisp.org>
18073
18074         Tests for module 'strerror_r-posix'.
18075         * modules/strerror_r-posix-tests: New file.
18076         * tests/test-strerror_r.c: New file.
18077         * tests/test-string-c++.cc: Check the signature of strerror_r.
18078
18079         New module 'strerror_r-posix'.
18080         * lib/string.in.h (strerror_r): New declaration.
18081         * lib/strerror_r.c: New file.
18082         * m4/strerror_r.m4: New file.
18083         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
18084         of strerror_r.
18085         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
18086         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18087         * modules/strerror_r-posix: New file.
18088         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
18089         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18090         * doc/posix-functions/strerror_r.texi: Mention the new module and the
18091         portability problems.
18092
18093 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
18094
18095         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
18096         line is also considered for output. Quoted function name in shell
18097         command, so temporary files for functions like MyClass::operator()
18098         are removed correctly without errors.
18099
18100 2010-11-09  Bruno Haible  <bruno@clisp.org>
18101
18102         * doc/posix-functions/strerror.texi: List more failing platforms.
18103
18104         * doc/posix-functions/strerror.texi: Add a comment.
18105
18106 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
18107
18108         fdopendir: fix bug on MacOS X when low on file descriptors
18109
18110         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
18111         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
18112         All callers changed.
18113         (fdopendir): Invoke save_cwd at the top level, not after using
18114         multiple dup() calls to use up file descriptors.  Then retry
18115         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
18116         less than the maximum number of open file descriptors, because
18117         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
18118         on Mac OS X 10.6.4 for tar 1.24
18119         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
18120         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
18121         and for tar 1.25
18122         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
18123
18124 2010-11-07  Bruno Haible  <bruno@clisp.org>
18125
18126         vasnprintf: Support I flag on glibc systems.
18127         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
18128         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
18129         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
18130         snprintf function.
18131         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
18132         glibc systems.
18133         * tests/test-vasnprintf-posix3.c: New file.
18134         * modules/vasnprintf-posix-tests (Files): Add it.
18135         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
18136
18137 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18138
18139         [html] Fix copy/paste bug: Use unique name for compiler warnings.
18140         * MODULES.html.sh: For compiler warnings, use name
18141         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
18142
18143 2010-11-05  Eric Blake  <eblake@redhat.com>
18144
18145         ceil, floor: avoid spurious failure with icc
18146         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
18147         [denormals-as-zero] when optimizing without -mieee-fp option.
18148         * tests/test-floorf2.c (floorf_reference): Likewise.
18149         * tests/test-ceilf1.c (dummy): New function.
18150         (main): Use it to outsmart icc's optimization.
18151         * tests/test-floorf1.c (dummy, main): Likewise.
18152
18153         tests: require working signbit
18154         * modules/ceilf-tests (Depends-on): Add signbit.
18155         * modules/ceill-tests (Depends-on): Likewise.
18156         * modules/floorf-tests (Depends-on): Likewise.
18157         * modules/floorl-tests (Depends-on): Likewise.
18158         * modules/round-tests (Depends-on): Likewise.
18159         * modules/roundf-tests (Depends-on): Likewise.
18160         * modules/roundl-tests (Depends-on): Likewise.
18161         * modules/trunc-tests (Depends-on): Likewise.
18162         * modules/truncf-tests (Depends-on): Likewise.
18163         * modules/truncl-tests (Depends-on): Likewise.
18164
18165         strtod: work around icc bug
18166         * lib/strtod.c (minus_zero): Define to working value.
18167         (strtod): Use it to avoid icc bug.
18168
18169         copysign: enhance tests
18170         * modules/copysign-tests (Files): Add minus-zero.h.
18171         * tests/test-copysign.c (main): Also test zeros.
18172
18173 2010-11-04  Eric Blake  <eblake@redhat.com>
18174
18175         ceil, floor, round, trunc: enhance tests of -0
18176         * tests/test-ceilf1.c (main): Ensure correct sign of result.
18177         * tests/test-ceill.c (main): Likewise.
18178         * tests/test-floorf1.c (main): Likewise.
18179         * tests/test-floorl.c (main): Likewise.
18180         * tests/test-round1.c (main): Likewise.
18181         * tests/test-roundf1.c (main): Likewise.
18182         * tests/test-roundl.c (main): Likewise.
18183         * tests/test-trunc1.c (main): Likewise.
18184         * tests/test-truncf1.c (main): Likewise.
18185         * tests/test-truncl.c (main): Likewise.
18186
18187 2010-11-04  Eric Blake  <eblake@redhat.com>
18188
18189         frexp, tests: work around ICC bug with -zero
18190         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
18191         works with more compilers.
18192         * tests/minus-zero.h: New file.
18193         * modules/ceilf-tests (Files): Include it.
18194         * modules/ceill-tests (Files): Likewise.
18195         * modules/floorf-tests (Files): Likewise.
18196         * modules/floorl-tests (Files): Likewise.
18197         * modules/frexp-nolibm-tests (Files): Likewise.
18198         * modules/frexp-tests (Files): Likewise.
18199         * modules/frexpl-nolibm-tests (Files): Likewise.
18200         * modules/frexpl-tests (Files): Likewise.
18201         * modules/isnan-tests (Files): Likewise.
18202         * modules/isnand-nolibm-tests (Files): Likewise.
18203         * modules/isnand-tests (Files): Likewise.
18204         * modules/isnanf-nolibm-tests (Files): Likewise.
18205         * modules/isnanf-tests (Files): Likewise.
18206         * modules/isnanl-nolibm-tests (Files): Likewise.
18207         * modules/isnanl-tests (Files): Likewise.
18208         * modules/round-tests (Files): Likewise.
18209         * modules/roundf-tests (Files): Likewise.
18210         * modules/roundl-tests (Files): Likewise.
18211         * modules/ldexpl-tests (Files): Likewise.
18212         * modules/signbit-tests (Files): Likewise.
18213         * modules/snprintf-posix-tests (Files): Likewise.
18214         * modules/sprintf-posix-tests (Files): Likewise.
18215         * modules/strtod-tests (Files): Likewise.
18216         * modules/trunc-tests (Files): Likewise.
18217         * modules/truncf-tests (Files): Likewise.
18218         * modules/truncl-tests (Files): Likewise.
18219         * modules/vsnprintf-posix-tests (Files): Likewise.
18220         * modules/vsprintf-posix-tests (Files): Likewise.
18221         * modules/vasnprintf-posix-tests (Files): Likewise.
18222         * modules/vasprintf-posix-tests (Files): Likewise.
18223         * tests/test-ceilf1.c (main): Use it.
18224         * tests/test-ceill.c (main): Likewise.
18225         * tests/test-floorf1.c (main): Likewise.
18226         * tests/test-floorl.c (main): Likewise.
18227         * tests/test-frexp.c (main): Likewise.
18228         * tests/test-frexpl.c (main): Likewise.
18229         * tests/test-isnan.c (main): Likewise.
18230         * tests/test-isnand.h (main): Likewise.
18231         * tests/test-isnanf.h (main): Likewise.
18232         * tests/test-isnanl.h (main): Likewise.
18233         * tests/test-ldexpl.c (main): Likewise.
18234         * tests/test-round.c (main): Likewise.
18235         * tests/test-roundf.c (main): Likewise.
18236         * tests/test-roundl.c (main): Likewise.
18237         * tests/test-signbit.c (test_signbitf, test_signbitd)
18238         (test_signbitl): Likewise.
18239         * tests/test-snprintf-posix.h (test_function): Likewise.
18240         * tests/test-sprintf-posix.h (test_function): Likewise.
18241         * tests/test-strtod.c (main): Likewise.
18242         * tests/test-trunc1.c (main): Likewise.
18243         * tests/test-truncf1.c (main): Likewise.
18244         * tests/test-truncl.c (main): Likewise.
18245
18246         isnanl: work around icc bug
18247         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
18248
18249 2010-11-03  Eric Blake  <eblake@redhat.com>
18250
18251         tests: fix compiler warnings
18252         * tests/test-getopt.h (test_getopt): Fix condition.
18253         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18254         * tests/test-pipe2.c (main): Likewise.
18255         * tests/test-quotearg-simple.c (main): Avoid icc warning.
18256
18257         utimens: fix broken m4 test
18258         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
18259
18260 2010-10-28  Bruno Haible  <bruno@clisp.org>
18261
18262         posix_spawn*, getdtablesize: Relax license.
18263         * modules/posix_spawn (License): Change to LGPLv2+.
18264         * modules/posix_spawnp (License): Likewise.
18265         * modules/posix_spawn-internal (License): Likewise.
18266         * modules/posix_spawnattr_init (License): Likewise.
18267         * modules/posix_spawnattr_getflags (License): Likewise.
18268         * modules/posix_spawnattr_setflags (License): Likewise.
18269         * modules/posix_spawnattr_getpgroup (License): Likewise.
18270         * modules/posix_spawnattr_setpgroup (License): Likewise.
18271         * modules/posix_spawnattr_getschedparam (License): Likewise.
18272         * modules/posix_spawnattr_setschedparam (License): Likewise.
18273         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
18274         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
18275         * modules/posix_spawnattr_getsigdefault (License): Likewise.
18276         * modules/posix_spawnattr_setsigdefault (License): Likewise.
18277         * modules/posix_spawnattr_getsigmask (License): Likewise.
18278         * modules/posix_spawnattr_setsigmask (License): Likewise.
18279         * modules/posix_spawnattr_destroy (License): Likewise.
18280         * modules/posix_spawn_file_actions_init (License): Likewise.
18281         * modules/posix_spawn_file_actions_addclose (License): Likewise.
18282         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
18283         * modules/posix_spawn_file_actions_addopen (License): Likewise.
18284         * modules/posix_spawn_file_actions_destroy (License): Likewise.
18285         * modules/getdtablesize (License): Likewise.
18286         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
18287
18288 2010-10-26  Bruno Haible  <bruno@clisp.org>
18289
18290         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
18291         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
18292         Cygwin and mingw.
18293         Suggested by Eric Blake.
18294
18295 2010-10-26  Bruno Haible  <bruno@clisp.org>
18296
18297         stdio: Work around compilation error due to renameat() on Solaris 10.
18298         * lib/stdio.in.h: Include <unistd.h> on Solaris.
18299         * lib/renameat.c: Don't include <unistd.h> here.
18300         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
18301         Reported by Paul Eggert and Eric Blake.
18302
18303 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
18304
18305         renameat: port to Solaris 10, which declares renameat in unistd.h
18306
18307         * lib/renameat.c: Include unistd.h before stdio.h, because
18308         Solaris 10 declares renameat in unistd.h.  Problem encountered
18309         when building GNU tar 1.24 on Solaris 10.
18310
18311 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18312
18313         fdopendir: fix C89 compilation
18314         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
18315         compilers.
18316
18317 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18318
18319         inttostr: simplify by removing unnecessary redundancy
18320         * lib/anytostr.c: Don't include verify.h.
18321         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
18322         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
18323         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
18324         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
18325         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
18326         Likewise.
18327         * modules/inttostr (Depends-on): Remove 'verify'.
18328
18329 2010-10-23  Bruno Haible  <bruno@clisp.org>
18330
18331         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
18332         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
18333         Reported by Eric Blake.
18334
18335 2010-10-23  Bruno Haible  <bruno@clisp.org>
18336
18337         Tests: Fix LOCALE_JA on MirBSD 10.
18338         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
18339         to an UTF-8 locale.
18340         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
18341         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18342         Reported by Eric Blake.
18343
18344 2010-10-21  Bruno Haible  <bruno@clisp.org>
18345
18346         nl_langinfo test: Avoid test failure on NetBSD 5.
18347         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
18348         Reported by Eric Blake.
18349
18350 2010-10-21  Eric Blake  <eblake@redhat.com>
18351
18352         c-stack: work around libsigsegv 2.8 bug
18353         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
18354         overflow on at least PowerPC64.
18355
18356 2010-10-17  Bruno Haible  <bruno@clisp.org>
18357
18358         userspec: Drop redundant file.
18359         * modules/userspec (Files): Remove lib/inttostr.h.
18360
18361 2010-10-17  Bruno Haible  <bruno@clisp.org>
18362
18363         nl_langinfo tests: Silence some warnings.
18364         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
18365         Reported by Jim Meyering.
18366
18367 2010-10-17  Bruno Haible  <bruno@clisp.org>
18368
18369         Make use of GCC's attribute __alloc_size__.
18370         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
18371         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
18372         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
18373         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
18374         __alloc_size__.
18375         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
18376         Suggested by Jim Meyering.
18377
18378 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
18379
18380         bootstrap: anchor .gitignore entries.
18381         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
18382         with...
18383         (insert_vc_ignore): ... this new function, which prepends `/' to
18384         all .gitignore entries before passing them to
18385         insert_sorted_if_absent.
18386
18387 2010-10-16  Bruno Haible  <bruno@clisp.org>
18388
18389         nextafter: Fix configure check.
18390         * modules/nextafter (configure.ac): Correct expected prototype.
18391
18392 2010-10-16  Bruno Haible  <bruno@clisp.org>
18393
18394         termios: Update documentation.
18395         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
18396
18397 2010-10-16  Bruno Haible  <bruno@clisp.org>
18398
18399         tests: Make them compile with TinyCC.
18400         * tests/test-strstr.c (main): Remove parentheses around array
18401         initializer.
18402
18403 2010-10-15  Eric Blake  <eblake@redhat.com>
18404
18405         ignore-value: make header idempotent
18406         * lib/ignore-value.h: Add double-inclusion guards.
18407         Reported by Stefan Berger.
18408
18409 2010-10-15  Jim Meyering  <meyering@redhat.com>
18410
18411         GNUmakefile: handle "stable" target, not "major"
18412         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
18413         lists in maint.mk and announce-gen.  Without this, "make stable"
18414         would fail to ensure that $(VERSION) is up to date.
18415
18416 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
18417
18418         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
18419         & co.
18420
18421 2010-10-14  Bruno Haible  <bruno@clisp.org>
18422
18423         vasnprintf: Don't set errno to 0.
18424         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
18425         block that sets it to 0.
18426         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18427
18428 2010-10-14  Bruno Haible  <bruno@clisp.org>
18429
18430         socketlib: Fix.
18431         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
18432         gl_PREREQ_SYS_H_WINSOCK2.
18433         Reported by Ian Beckwith <ianb@erislabs.net>.
18434
18435 2010-10-13  Jim Meyering  <meyering@redhat.com>
18436
18437         test-select-stdin.c: avoid warn_unused_result warnings
18438         * tests/test-select-stdin.c: Include "macros.h".
18439         ASSERT that read and fflush succeed.
18440
18441 2010-10-13  Jim Meyering  <meyering@redhat.com>
18442
18443         git-version-gen: do require git-VC'd files in cwd
18444         * build-aux/git-version-gen: Reject a git version string
18445         if there are no commits associated with the current directory.
18446         This avoids an unlikely false-positive (unrelated dir whose parent
18447         repository also contains a tag matching v*), as pointed out
18448         by Giuseppe Scrivano in
18449         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
18450
18451 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18452
18453         argv-iter: omit nonconforming declaration
18454         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
18455         enum arg_iter_err declaration, which doesn't conform to C99.
18456         Solaris 10 cc warns about this.
18457
18458 2010-10-13  Eric Blake  <eblake@redhat.com>
18459
18460         termios: fix compilation on mingw
18461         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18462         (gl_TERMIOS_H): Adjust it on mingw.
18463         * modules/termios (Makefile.am): Substitute new key.
18464         * lib/termios.in.h (includes): Make include_next conditional.
18465         * doc/posix-headers/termios.texi (termios.h): Update
18466         documentation.
18467         Reported by Daniel P. Berrange.
18468
18469 2010-10-13  Jim Meyering  <meyering@redhat.com>
18470
18471         git-version-gen: don't require that .git/ be in the current dir
18472         * build-aux/git-version-gen: Adjust this script so that it works
18473         when run from any working directory beneath the top-level .git/-
18474         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18475         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18476
18477         test-select: avoid warn_unused_result warnings
18478         * tests/test-select.c: Include "macros.h".
18479         ASSERT that each call to read, write, and pipe succeeds.
18480         While not technically required, also check each "close".
18481         * modules/select-tests (Files): Add tests/macros.h.
18482
18483         test-symlinkat: remove declaration of unused local
18484         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18485
18486         test-inttostr: avoid shadowing warnings
18487         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18488         and use malloc rather than the stack for the same reason as
18489         mentioned in the comment justifying the other allocation.
18490
18491 2010-10-11  Bruno Haible  <bruno@clisp.org>
18492
18493         stdlib: Allow multiple gnulib generated replacements to coexist.
18494         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18495         Reported by Sam Steingold <sds@gnu.org>.
18496
18497 2010-10-11  Jim Meyering  <meyering@redhat.com>
18498
18499         fix a documentation typo
18500         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18501
18502 2010-10-11  Eric Blake  <eblake@redhat.com>
18503
18504         futimens: work around Solaris 11 bug
18505         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18506         * tests/test-futimens.h (test_futimens): Enhance, rather than
18507         weaken test.
18508         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18509
18510 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18511
18512         Indentation.
18513         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18514         higher-level operators more to the left.
18515
18516 2010-10-11  Jim Meyering  <meyering@redhat.com>
18517
18518         test-futimens: avoid unwarranted test failure on Solaris 5.11
18519         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18520         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18521         because it tries to dereference the NULL name argument.
18522
18523 2010-10-11  Bruno Haible  <bruno@clisp.org>
18524
18525         Indentation.
18526         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
18527         indentation.
18528
18529 2010-10-11  Jim Meyering  <meyering@redhat.com>
18530
18531         spawn.in.h: make indentation consistent with parentheses
18532         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
18533         Make indentation consistent with parentheses.
18534
18535 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
18536
18537         Fix mismatched parens in previous commit
18538         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
18539         parens.
18540
18541 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18542
18543         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
18544
18545         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
18546         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
18547         * lib/malloca.c: Include "verify.h".
18548         (verify1): Remove, replacing with a verify call.
18549         * lib/relocwrapper.c (verify1): Likewise.
18550         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
18551         Likewise.
18552         * modules/malloca (Depends-on): Add 'verify'.
18553         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
18554         * modules/vasnprintf (Depends-on): Add 'verify'.
18555         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18556         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18557         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18558         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18559         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18560         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18561         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18562
18563         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
18564
18565         Formerly the style was sometimes 2*X - 1, because the C standard
18566         was wrongly thought to disallow ?: in integral constant expressions.
18567         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
18568         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
18569         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18570         * lib/stdint.in.h (_verify_intmax_size): Likewise.
18571         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
18572         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
18573         verify that time_t cannot be floating.
18574
18575 2010-10-08  Eric Blake  <eblake@redhat.com>
18576
18577         time: enforce recent POSIX ruling that time_t is integral
18578         * lib/time.in.h (__time_t_must_be_integral): Detect any
18579         problematic systems, allowing the rest of gnulib to assume POSIX.
18580
18581 2010-10-08  Jim Meyering  <meyering@redhat.com>
18582
18583         fdopendir: fix a bug on systems lacking openat and /proc support
18584         OpenBSD 4.7 is one such system.  The most noticeable effect was
18585         failure of any application making nontrivial use of fts: rm, du,
18586         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
18587           ./rm: traversal failed: `a': Bad file descriptor
18588         Debugging that, you see that even though FD 6 was closed just
18589         prior to the opendir call in fd_clone_opendir, its resulting
18590         dir->dd_fd was 8, rather than the expected value of 6:
18591
18592         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
18593         93                close (fd);
18594         (gdb) n
18595         94                dir = fd_clone_opendir (dupfd);
18596         (gdb) n
18597         95                saved_errno = errno;
18598         (gdb) p dir->dd_fd
18599         $11 = 8
18600
18601         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
18602         The problem is that on OpenBSD, fd_clone_opendir has to resort
18603         to using the old-style save/restore CWD mechanism, due to its
18604         lack of openat/proc support, and *that* would steal the FD (6)
18605         that opendir was supposed to use.
18606
18607         The fix is to squirrel away the desired FD so that save_cwd uses a
18608         different one, and then free the dest FD right before calling opendir.
18609         That guarantees opendir will use the required file descriptor.
18610
18611         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
18612
18613 2010-10-08  Bruno Haible  <bruno@clisp.org>
18614
18615         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
18616         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
18617
18618 2010-10-08  Bruno Haible  <bruno@clisp.org>
18619
18620         nanosleep: Make replacement POSIX compliant.
18621         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
18622         is out of range.
18623         Reported by Jim Meyering.
18624
18625 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18626
18627         bootstrap: add hook for altering gnulib.mk, for Bison
18628         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
18629         the Bison bootstrapping process can rewrite file names and variables
18630         in this file before later parts of 'bootstrap' use the file.
18631         Bison wants to include lib/gnulib.mk from the top-level makefile,
18632         so it needs the file names in this file to be relative to the top
18633         level, not relative to lib; plus it needs variable names to be
18634         rewritten.
18635         (slurp): Use the new function.
18636
18637         bootstrap: reformat for readability
18638         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
18639
18640 2010-10-08  Eric Blake  <eblake@redhat.com>
18641
18642         docs: update cygwin progress
18643         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
18644         1.7.7.
18645         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
18646         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
18647         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
18648         * doc/posix-functions/carg.texi (carg): Likewise.
18649         * doc/posix-functions/cargf.texi (cargf): Likewise.
18650         * doc/posix-functions/casin.texi (casin): Likewise.
18651         * doc/posix-functions/casinf.texi (casinf): Likewise.
18652         * doc/posix-functions/casinh.texi (casinh): Likewise.
18653         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
18654         * doc/posix-functions/catan.texi (catan): Likewise.
18655         * doc/posix-functions/catanf.texi (catanf): Likewise.
18656         * doc/posix-functions/catanh.texi (catanh): Likewise.
18657         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
18658         * doc/posix-functions/ccos.texi (ccos): Likewise.
18659         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
18660         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
18661         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
18662         * doc/posix-functions/cexp.texi (cexp): Likewise.
18663         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
18664         * doc/posix-functions/cimag.texi (cimag): Likewise.
18665         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
18666         * doc/posix-functions/clog.texi (clog): Likewise.
18667         * doc/posix-functions/clogf.texi (clogf): Likewise.
18668         * doc/posix-functions/conj.texi (conj): Likewise.
18669         * doc/posix-functions/conjf.texi (conjf): Likewise.
18670         * doc/posix-functions/cpow.texi (cpow): Likewise.
18671         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
18672         * doc/posix-functions/cproj.texi (cproj): Likewise.
18673         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
18674         * doc/posix-functions/creal.texi (creal): Likewise.
18675         * doc/posix-functions/crealf.texi (crealf): Likewise.
18676         * doc/posix-functions/csin.texi (csin): Likewise.
18677         * doc/posix-functions/csinf.texi (csinf): Likewise.
18678         * doc/posix-functions/csinh.texi (csinh): Likewise.
18679         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
18680         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
18681         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
18682         * doc/posix-functions/ctan.texi (ctan): Likewise.
18683         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
18684         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
18685         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
18686         * doc/posix-headers/complex.texi (complex.h): Likewise.
18687
18688 2010-10-07  Jim Meyering  <meyering@redhat.com>
18689
18690         parse-datetime: avoid compilation failure on OpenBSD 4.7
18691         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
18692         This works around a compilation failure on OpenBSD 4.7:
18693         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
18694
18695 2010-10-07  Eric Blake  <eblake@redhat.com>
18696
18697         docs: update cygwin progress
18698         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
18699         1.7.6.
18700         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18701         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
18702         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
18703         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
18704         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
18705         Likewise.
18706         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
18707         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
18708         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
18709         Likewise.
18710         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
18711         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
18712         Likewise.
18713         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
18714         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
18715         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
18716         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
18717         Likewise.
18718         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
18719         Likewise.
18720         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
18721
18722         docs: update parse-datetime history
18723         * doc/parse-datetime.texi (Authors of parse_datetime): Better
18724         documentation of this function's history and alternatives.
18725
18726         cygwin: use more robust version check
18727         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
18728         exclude an eventual cygwin 1.9.1.
18729         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18730         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18731         (gl_FUNC_STRCASESTR): Likewise.
18732         Reported by Bruno Haible.
18733
18734 2010-10-06  Bruno Haible  <bruno@clisp.org>
18735
18736         string, sys_select: Avoid #including large headers unless necessary.
18737         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
18738         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
18739         OSF/1, BeOS, Haiku.
18740         Reported by Jim Meyering.
18741
18742 2010-10-05  Eric Blake  <eblake@redhat.com>
18743
18744         memmem, strstr, strcasestr: fix bug with long periodic needle
18745         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
18746         periodic needle having false positive.
18747         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
18748         and cygwin 1.7.7.
18749         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
18750         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18751         (gl_FUNC_STRCASESTR): Likewise.
18752         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18753         * tests/test-memmem.c (main): Expose the bug.
18754         * tests/test-strcasestr.c (main): Likewise.
18755         * tests/test-strstr.c (main): Likewise.
18756         * tests/test-c-strcasestr.c (main): Likewise.
18757         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
18758         * doc/posix-functions/strstr.texi (strstr): Likewise.
18759         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
18760         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
18761
18762 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18763
18764         parse-datetime: do some more renaming
18765         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
18766         parse_datetime, not get_date.  Mention the renaming.
18767         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
18768         in comments.
18769         * m4/bison.m4: Likewise.
18770
18771 2010-10-05  Eric Blake  <eblake@redhat.com>
18772
18773         parse-datetime: better name than get_date
18774         * NEWS: Reword the deprecation notice.
18775         * modules/get_date: Rename to modules/parse-datetime.
18776         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
18777         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
18778         * lib/get_date.y: Rename to lib/parse-datetime.y.
18779         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
18780         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
18781         * doc/getdate.texi: Provide fallback wrapper.
18782         * lib/getdate.h: Move guts, and wrap...
18783         * lib/parse-datetime.h: ...new file.
18784         * lib/parse-datetime.y (get_date): Rename...
18785         (parse_datetime): ...to this.
18786         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
18787         (gl_PARSE_DATETIME): ...to this.
18788         * doc/posix-functions/getdate.texi (get_date): Provide fallback
18789         documentation.
18790         * modules/getdate (Files): Provide fallback docs and header.
18791         (Notice, Depends-on): Update references.
18792         * tests/test-parse-datetime.c: Likewise.
18793         * DEPENDENCIES: Likewise.
18794         * MODULES.html.sh (Date and time <time.h>): Likewise.
18795         * doc/parse-datetime.texi (Date input formats)
18796         (Authors of parse_datetime): Likewise.
18797         * modules/parse-datetime (Files, configure.ac, Makefile.am)
18798         (Include): Likewise.
18799         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
18800         * gnulib-tool: Likewise.
18801         * m4/bison.m4 (gl_BISON): Likewise.
18802         Suggested by Bruno Haible.
18803
18804 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18805
18806         more ports to Solaris tr, which needs [] around ranges
18807         * gnulib-tool: Solaris tr needs [] around ranges.
18808         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
18809         * tests/test-pipe-filter-gi1.c (main): Likewise.
18810         * tests/test-pipe-filter-ii1.c (main): Likewise.
18811
18812 2010-10-05  Eric Blake  <eblake@redhat.com>
18813
18814         bootstrap: fix Solaris regression
18815         * build-aux/bootstrap (check_versions): Solaris tr still needs []
18816         around ranges.
18817         Reported by Pádraig Brady.
18818
18819         bootstrap: work with pkg-config
18820         * build-aux/bootstrap (check_versions): Also transliterate - in
18821         prerequisite name.
18822         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
18823         prerequisites that were already found, to avoid confusion.
18824         Reported by Justin Clift.
18825
18826         faccessat: remove unused wrappers
18827         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
18828         presence of these wrappers dragged in -lgen on Solaris.
18829         Reported by Clemens Brogi; fix suggested by Paul Eggert.
18830
18831 2010-10-05  Jim Meyering  <meyering@redhat.com>
18832
18833         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
18834         * Makefile (sc_pragma_columns): New syntax-check rule.
18835
18836 2010-10-04  Bruno Haible  <bruno@clisp.org>
18837
18838         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
18839         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
18840         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
18841         Reported by Bruce Korb and Eric Blake.
18842
18843 2010-10-04  Bruno Haible  <bruno@clisp.org>
18844
18845         threadlib: Make option --with-libpth-prefix work.
18846         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
18847         use $LIBPTH, not just -lpth.
18848
18849 2010-10-04  Bruno Haible  <bruno@clisp.org>
18850
18851         Avoid line length limitation from HP NonStop system header files.
18852         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
18853         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
18854         * lib/ctype.in.h: Likewise.
18855         * lib/dirent.in.h: Likewise.
18856         * lib/errno.in.h: Likewise.
18857         * lib/fcntl.in.h: Likewise.
18858         * lib/float.in.h: Likewise.
18859         * lib/getopt.in.h: Likewise.
18860         * lib/iconv.in.h: Likewise.
18861         * lib/inttypes.in.h: Likewise.
18862         * lib/langinfo.in.h: Likewise.
18863         * lib/locale.in.h: Likewise.
18864         * lib/math.in.h: Likewise.
18865         * lib/netdb.in.h: Likewise.
18866         * lib/netinet_in.in.h: Likewise.
18867         * lib/poll.in.h: Likewise.
18868         * lib/pthread.in.h: Likewise.
18869         * lib/pty.in.h: Likewise.
18870         * lib/sched.in.h: Likewise.
18871         * lib/se-selinux.in.h: Likewise.
18872         * lib/search.in.h: Likewise.
18873         * lib/signal.in.h: Likewise.
18874         * lib/spawn.in.h: Likewise.
18875         * lib/stdarg.in.h: Likewise.
18876         * lib/stddef.in.h: Likewise.
18877         * lib/stdint.in.h: Likewise.
18878         * lib/stdio.in.h: Likewise.
18879         * lib/stdlib.in.h: Likewise.
18880         * lib/string.in.h: Likewise.
18881         * lib/strings.in.h: Likewise.
18882         * lib/sys_file.in.h: Likewise.
18883         * lib/sys_ioctl.in.h: Likewise.
18884         * lib/sys_select.in.h: Likewise.
18885         * lib/sys_socket.in.h: Likewise.
18886         * lib/sys_stat.in.h: Likewise.
18887         * lib/sys_time.in.h: Likewise.
18888         * lib/sys_times.in.h: Likewise.
18889         * lib/sys_utsname.in.h: Likewise.
18890         * lib/sys_wait.in.h: Likewise.
18891         * lib/sysexits.in.h: Likewise.
18892         * lib/termios.in.h: Likewise.
18893         * lib/time.in.h: Likewise.
18894         * lib/unistd.in.h: Likewise.
18895         * lib/wchar.in.h: Likewise.
18896         * lib/wctype.in.h: Likewise.
18897         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
18898         * modules/ctype (Makefile.am): Likewise.
18899         * modules/dirent (Makefile.am): Likewise.
18900         * modules/errno (Makefile.am): Likewise.
18901         * modules/fcntl-h (Makefile.am): Likewise.
18902         * modules/float (Makefile.am): Likewise.
18903         * modules/getopt-posix (Makefile.am): Likewise.
18904         * modules/iconv-h (Makefile.am): Likewise.
18905         * modules/inttypes (Makefile.am): Likewise.
18906         * modules/langinfo (Makefile.am): Likewise.
18907         * modules/locale (Makefile.am): Likewise.
18908         * modules/math (Makefile.am): Likewise.
18909         * modules/netdb (Makefile.am): Likewise.
18910         * modules/netinet_in (Makefile.am): Likewise.
18911         * modules/poll-h (Makefile.am): Likewise.
18912         * modules/pthread (Makefile.am): Likewise.
18913         * modules/pty (Makefile.am): Likewise.
18914         * modules/sched (Makefile.am): Likewise.
18915         * modules/search (Makefile.am): Likewise.
18916         * modules/selinux-h (Makefile.am): Likewise.
18917         * modules/signal (Makefile.am): Likewise.
18918         * modules/spawn (Makefile.am): Likewise.
18919         * modules/stdarg (Makefile.am): Likewise.
18920         * modules/stddef (Makefile.am): Likewise.
18921         * modules/stdint (Makefile.am): Likewise.
18922         * modules/stdio (Makefile.am): Likewise.
18923         * modules/stdlib (Makefile.am): Likewise.
18924         * modules/string (Makefile.am): Likewise.
18925         * modules/strings (Makefile.am): Likewise.
18926         * modules/sys_file (Makefile.am): Likewise.
18927         * modules/sys_ioctl (Makefile.am): Likewise.
18928         * modules/sys_select (Makefile.am): Likewise.
18929         * modules/sys_socket (Makefile.am): Likewise.
18930         * modules/sys_stat (Makefile.am): Likewise.
18931         * modules/sys_time (Makefile.am): Likewise.
18932         * modules/sys_times (Makefile.am): Likewise.
18933         * modules/sys_utsname (Makefile.am): Likewise.
18934         * modules/sys_wait (Makefile.am): Likewise.
18935         * modules/sysexits (Makefile.am): Likewise.
18936         * modules/termios (Makefile.am): Likewise.
18937         * modules/time (Makefile.am): Likewise.
18938         * modules/unistd (Makefile.am): Likewise.
18939         * modules/wchar (Makefile.am): Likewise.
18940         * modules/wctype (Makefile.am): Likewise.
18941
18942 2010-10-04  Bruno Haible  <bruno@clisp.org>
18943
18944         read-file tests: Avoid a test failure on NonStop Kernel.
18945         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
18946         a regular file.
18947         Reported by Joachim Schmitz <schmitz@hp.com>.
18948
18949 2010-10-03  Bruno Haible  <bruno@clisp.org>
18950
18951         gnulib-tool: Fixes for --create-testdir with --libtool.
18952         * gnulib-tool (func_get_automake_snippet): Don't augment
18953         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
18954         an executable.
18955         (func_create_testdir): Handle module 'alloca' like func_import.
18956         Reported by Bruce Korb <bruce.korb@gmail.com>.
18957
18958 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
18959
18960         Avoid some lines longer than 80 characters.
18961         * lib/stdint.in.h: Break long comment lines.
18962         * lib/math.in.h: Likewise.
18963         (_GL_NUM_UINT_WORDS): New macro, for readability.
18964         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
18965         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
18966         * lib/stdlib.in.h: Likewise.
18967         * lib/spawn.in.h: Likewise.
18968         * lib/sys_socket.in.h: Update an URL.
18969         * lib/sys_stat.in.h: Break long line.
18970
18971 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
18972
18973         Improve pmccabe2html.
18974         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
18975         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
18976         when the sources change. Remove the line in the HTML about "Used
18977         ranges" (which implied that there might be other unused ranges),
18978         rename "Resume" to "Summary" (easier to understand for more users).
18979         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
18980         styles, and some unnecessary blank lines.
18981
18982 2010-10-03  Bruno Haible  <bruno@clisp.org>
18983             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
18984
18985         acl: Add support for ACLs on NonStop Kernel.
18986         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
18987         Check whether the function aclsort() exists.
18988         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
18989         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
18990         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18991         (acl_nontrivial [HAVE_ACLSORT]: New function.
18992         (file_has_acl): Implement for NonStop Kernel.
18993         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18994         (qset_acl): Implement for NonStop Kernel.
18995         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
18996         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18997         (main): Implement for NonStop Kernel.
18998         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
18999         Kernel. Handle this flavor.
19000         * tests/test-set-mode-acl.sh: Likewise.
19001         * tests/test-copy-acl.sh: Likewise.
19002         * tests/test-copy-file.sh: Likewise.
19003
19004 2010-10-03  Bruno Haible  <bruno@clisp.org>
19005
19006         Info about ACLs on NonStop Kernel.
19007         * doc/acl-resources.txt: Add info about NonStop Kernel.
19008         References by Joachim Schmitz <schmitz@hp.com>.
19009
19010 2010-10-02  Bruno Haible  <bruno@clisp.org>
19011
19012         Define missing EDQUOT on NonStop Kernel.
19013         * lib/errno.in.h (EDQUOT): Assign a value if missing.
19014         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
19015         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
19016         missing.
19017         * doc/posix-headers/errno.texi: Mention the NSK bug.
19018         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
19019         Reported by Joachim Schmitz <schmitz@hp.com>.
19020
19021 2010-10-02  Bruno Haible  <bruno@clisp.org>
19022
19023         Update doc for POSIX:2008.
19024         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
19025         Update URL of POSIX specification.
19026
19027 2010-10-02  Bruno Haible  <bruno@clisp.org>
19028
19029         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
19030         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
19031         from gnulib, not from Automake.
19032
19033 2010-10-02  Bruno Haible  <bruno@clisp.org>
19034
19035         New module 'system-posix'.
19036         * modules/system-posix: New file.
19037         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
19038         module is present.
19039         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19040         GNULIB_SYSTEM_POSIX.
19041         * modules/stdlib (Depends-on): Remove sys_wait.
19042         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
19043         * doc/posix-functions/system.texi: Mention the new module.
19044         * doc/posix-headers/stdlib.texi: Likewise.
19045         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
19046         define test_sys_wait_macros to a no-op.
19047         Reported by Sam Steingold <sds@gnu.org>.
19048
19049 2010-09-30  Bruno Haible  <bruno@clisp.org>
19050
19051         More renaming from 'getdate' to 'get_date'.
19052         * doc/get_date.texi: Renamed from doc/getdate.texi.
19053         * modules/get_date (Files): Update.
19054         * MODULES.html.sh (Date and time <time.h>): Update.
19055         * DEPENDENCIES: Update.
19056         * gnulib-tool: Update comment.
19057         * m4/bison.m4 (gl_BISON): Likewise.
19058         * m4/get_date.m4 (gl_GET_DATE): Likewise.
19059
19060 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
19061
19062         bootstrap: support ACLOCAL_FLAGS during aclocal
19063         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
19064         can add additional -I dir for third-party .m4 files.
19065
19066 2010-09-30  Eric Blake  <eblake@redhat.com>
19067
19068         bootstrap: use glibtoolize on MacOS
19069         * build-aux/bootstrap (check_versions): Convert libtool into
19070         libtoolize.
19071         (tool search): Move libtool check earlier, and look for
19072         glibtoolize for MacOS.
19073         (gnulib_tool_options): Auto-add --libtool when appropriate.
19074         Reported by Justin Clift.
19075
19076         poll: fix typo that broke test on MacOS
19077         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
19078         Reported by Justin Clift.
19079
19080         getdate: rename to get_date
19081         Note: getdate.h is not renamed, to minimize client impact.
19082         * modules/getdate: Mark obsolete.  Move old contents...
19083         * modules/get_date: ...to new module name.
19084         * modules/getdate-tests: Move...
19085         * modules/get_date-tests: ...here.
19086         * m4/getdate.m4: Move...
19087         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
19088         * lib/getdate.y: Move...
19089         * lib/get_date.y: ...here.
19090         * tests/test-getdate.c: Move...
19091         * tests/test-get_date.c: ...here.
19092         * doc/posix-functions/getdate.texi (getdate): Update name.
19093         * NEWS: Mention the change.
19094
19095 2010-09-29  Bruno Haible  <bruno@clisp.org>
19096
19097         Separate the module 'waitpid' from the module 'sys_wait'.
19098         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
19099         present.
19100         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
19101         gl_MODULE_INDICATOR_FOR_TESTS.
19102         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
19103         * modules/sys_wait (Depends-on): Remove waitpid.
19104         (Makefile.am): Substitute GNULIB_WAITPID.
19105         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
19106         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
19107         signature only if the 'waitpid' module is present.
19108         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
19109         * NEWS: Mention the change.
19110         * modules/grantpt (Depends-on): Add waitpid.
19111         * modules/wait-process (Depends-on): Likewise.
19112
19113 2010-09-29  Bruno Haible  <bruno@clisp.org>
19114
19115         More tests for module 'sys_wait'.
19116         * modules/sys_wait-c++-tests: New file.
19117         * tests/test-sys_wait-c++.cc: New file.
19118         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
19119         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19120
19121 2010-09-29  Bruno Haible  <bruno@clisp.org>
19122
19123         New module 'waitpid'.
19124         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
19125         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
19126         Don't include <process.h>.
19127         (waitpid): Declare only, using modern idiom.
19128         * m4/waitpid.m4: New file.
19129         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
19130         * modules/waitpid: New file.
19131         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
19132         (Makefile.am): Update.
19133         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19134
19135 2010-09-28  Bruno Haible  <bruno@clisp.org>
19136
19137         poll: Assume ANSI C.
19138         * lib/poll.c (poll): Use an ANSI C declaration.
19139
19140 2010-09-28  Bruno Haible  <bruno@clisp.org>
19141
19142         poll-h: Create poll.h on all platforms.
19143         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
19144         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
19145         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
19146         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
19147         (gl_REPLACE_POLL_H): Don't set POLL_H.
19148         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
19149         * modules/poll-h (Depends-on): Add include_next.
19150         (Makefile.am): Create poll.h unconditionally. Substitute also
19151         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
19152
19153 2010-09-28  Bruno Haible  <bruno@clisp.org>
19154
19155         Tests for module 'poll-h'.
19156         * modules/poll-h-c++-tests: New file.
19157         * tests/test-poll-h-c++.cc: New file.
19158
19159         Tests for module 'poll-h'.
19160         * modules/poll-h-tests: New file.
19161         * tests/test-poll-h.c: New file.
19162
19163 2010-09-28  Bruno Haible  <bruno@clisp.org>
19164
19165         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
19166         * modules/poll-h (Depends-on): Add 'extensions'.
19167
19168 2010-09-28  Bruno Haible  <bruno@clisp.org>
19169
19170         New module 'poll-h'.
19171         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
19172         (poll): Use modern idiom.
19173         * modules/poll-h: New file.
19174         * modules/poll (Files): Remove lib/poll.in.h.
19175         (Depends-on): Add poll-h.
19176         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
19177         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
19178         * m4/poll_h.m4: New file.
19179         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
19180         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
19181         and invoke gl_REPLACE_POLL_H.
19182         * lib/poll.c: Use common idiom.
19183         * tests/test-poll.c: Likewise.
19184         * doc/posix-headers/poll.texi: Mention the poll-h module.
19185         Suggested by Eric Blake.
19186
19187 2010-09-26  Bruno Haible  <bruno@clisp.org>
19188
19189         sys_wait: Implement WSTOPSIG.
19190         * lib/sys_wait.in.h (WSTOPSIG): New macro.
19191         Reported by Simon Josefsson.
19192
19193 2010-09-26  Simon Josefsson  <simon@josefsson.org>
19194
19195         stdlib, sys_wait: Avoid compilation error on mingw.
19196         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
19197
19198 2010-09-26  Bruno Haible  <bruno@clisp.org>
19199
19200         stdlib tests: Avoid code duplication.
19201         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
19202         * modules/sys_wait-tests (Files): Likewise.
19203         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
19204         * tests/test-stdlib.c: Include test-sys_wait.h.
19205         (main): Invoke test_sys_wait_macros.
19206         * tests/test-sys_wait.c: Include test-sys_wait.h.
19207         (main): Invoke test_sys_wait_macros.
19208
19209 2010-09-25  Simon Josefsson  <simon@josefsson.org>
19210
19211         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
19212         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
19213         sure Windows sockets are working before calling getaddrinfo.
19214         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
19215         * doc/gnulib.texi (Windows sockets): Fix typo.
19216
19217 2010-09-25  Bruno Haible  <bruno@clisp.org>
19218
19219         Tests for module 'regex-quote'.
19220         * modules/regex-quote-tests: New file.
19221         * tests/test-regex-quote.c: New file.
19222
19223         New module 'regex-quote'.
19224         * lib/regex-quote.h: New file.
19225         * lib/regex-quote.c: New file.
19226         * modules/regex-quote: New file.
19227         Suggested by Reuben Thomas <rrt@sc3d.org>.
19228
19229 2010-09-24  Bruno Haible  <bruno@clisp.org>
19230
19231         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
19232         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
19233
19234 2010-09-23  Bruno Haible  <bruno@clisp.org>
19235
19236         setenv: Relax license.
19237         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
19238         Blake.
19239         Requested by Eric Blake.
19240
19241 2010-09-22  Bruno Haible  <bruno@clisp.org>
19242
19243         termios: Relax license.
19244         * modules/termios (License): Change to LGPLv2+.
19245         Requested by Eric Blake.
19246
19247 2010-09-22  Bruno Haible  <bruno@clisp.org>
19248
19249         threadlib: Allow the package to change the default to 'no'.
19250         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
19251         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
19252         Reported by Paul Eggert.
19253
19254 2010-09-22  Pádraig Brady  <P@draigbrady.com>
19255             Bruno Haible  <bruno@clisp.org>
19256
19257         Fix endless loop in mbmemcasecoll.
19258         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
19259         byte.
19260         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
19261
19262 2010-09-22  Bruno Haible  <bruno@clisp.org>
19263
19264         Tests for module 'memcoll'.
19265         * modules/memcoll-tests: New file.
19266         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
19267
19268         memcoll, xmemcoll: Clarify size vs. length.
19269         * modules/memcoll.c (memcoll0): Clarify specification.
19270         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
19271         passed to collate_error.
19272
19273 2010-09-22  Bruno Haible  <bruno@clisp.org>
19274
19275         Tests for module 'memcasecmp'.
19276         * modules/memcasecmp-tests: New file.
19277         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
19278
19279 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19280
19281         * lib/pthread.in.h: Add split double-inclusion guard, and include
19282         system <pthread.h> if there is one.  Use @@-style as in other
19283         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
19284         pthread.h doesn't.
19285         (pthread_mutexattr_destroy, pthread_mutexattr_init):
19286         (pthread_mutexattr_settype, pthread_mutex_trylock):
19287         New static inline functions, if there's no system <pthread.h>.
19288         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
19289         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
19290         Approximate with mutexes if the system lacks spinlocks, as in
19291         MacOS.
19292         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
19293         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
19294         @@-style.  Check for spinlocks separately.
19295         (gl_PTHREAD_DEFAULTS): New macro.
19296         * modules/pthread: Redo to use a more typical style for in.h files.
19297
19298 2010-09-21  Eric Blake  <eblake@redhat.com>
19299
19300         net_if: enhance tests
19301         * tests/test-net_if.c (main): Move signature checks earlier.
19302         Print failures to stderr.
19303         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
19304         Document the bug that we do not yet fix.
19305
19306 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19307
19308         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
19309         about gnulib, not GSS.
19310
19311 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19312
19313         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
19314         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
19315         for Emacs.
19316         * build-aux/pmccabe2html: Make Makefile.am example code more
19317         cut-and-paste friendly.
19318
19319 2010-09-21  Simon Josefsson  <simon@josefsson.org>
19320
19321         * tests/test-net_if.c: New file.
19322         * modules/net_if-tests: New file.
19323
19324 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19325
19326         pthread: add pthread_spin_destroy
19327         * lib/pthread.in.h (pthread_spin_destroy): New function.
19328
19329 2010-09-19  Bruno Haible  <bruno@clisp.org>
19330
19331         gnulib-tool: Fix --help output.
19332         * gnulib-tool (func_usage): Fix help message.
19333         Reported by Reuben Thomas <rrt@sc3d.org>.
19334
19335 2010-09-18  Jim Meyering  <meyering@redhat.com>
19336
19337         maint.mk: avoid unexpanded \n in two diagnostics
19338         * top/maint.mk (sc_prohibit_always_true_header_tests):
19339         Don't use a literal \n in a halt=... assignment.  It would not be
19340         expanded, and the two \n bytes would appear in the diagnostic output
19341         rather than the desired newline.  Use halt=$$(printf ... instead.
19342         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19343
19344 2010-09-18  Bruno Haible  <bruno@clisp.org>
19345
19346         netinet_in: Doc tweak.
19347         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
19348         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19349
19350 2010-09-18  Jim Meyering  <meyering@redhat.com>
19351
19352         init.sh: correct an outdated comment
19353         * tests/init.sh (create_exe_shims_):  s/function/alias/
19354
19355         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
19356         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
19357         a file named "*.exe" is removed between the glob expansion and the
19358         processing of that oddly named file.
19359
19360 2010-09-17  Eric Blake  <eblake@redhat.com>
19361
19362         mirbsd: add some more support
19363         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
19364         in BSD family.
19365         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
19366         devices as OpenBSD.
19367         * m4/host-os.m4 (mirbsd): Add MirBSD.
19368
19369         tests: fix unportable assumption on sys/wait.h
19370         * tests/test-sys_wait.c (main): Relax test.
19371         * tests/test-stdlib.c (main): Likewise.
19372
19373         init.sh: accomodate directory with no .exes
19374         * tests/init.sh: Accomodate directory containing only scripts.
19375
19376         tests: avoid compiler warning
19377         * tests/test-stdlib.c (main): Use the variable.
19378
19379         fdutimens, fdutimensat: update signature, again
19380         * lib/utimens.h (gl_futimens): Delete, and move signature...
19381         (fdutimens): ...here.
19382         (fdutimensat): Rearrange signature.
19383         (lutimensat): Rename variable for clarity.
19384         * lib/fdutimensat.c (fdutimensat): Update signature.
19385         * lib/utimens.c (fdutimens): Likewise.
19386         (gl_futimens): Delete.
19387         (utimens, lutimens): Update callers.
19388         * lib/futimens.c (futimens): Likewise.
19389         * tests/test-fdutimensat.c: Likewise.
19390         * tests/test-utimens.c: Likewise.
19391         * tests/test-futimens.h: Update comment.
19392         * NEWS: Mention this.
19393         Suggested by Paul Eggert.
19394
19395 2010-09-17  Bruno Haible  <bruno@clisp.org>
19396
19397         Take over the maintenance of some older macros from Autoconf.
19398         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
19399         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
19400         GNU Autoconf.
19401         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
19402         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
19403
19404 2010-09-17  Eric Blake  <eblake@redhat.com>
19405
19406         fdutimensat: drop atflag validation
19407         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
19408         with valid fd, to close a race scenario where futimens is
19409         unsupported and FILE was replaced by a symlink.
19410         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
19411         accordingly.
19412         Suggested by Paul Eggert.
19413
19414 2010-09-16  Bruno Haible  <bruno@clisp.org>
19415
19416         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
19417         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
19418
19419 2010-09-16  Bruno Haible  <bruno@clisp.org>
19420
19421         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
19422         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
19423         login_tty exists.
19424         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19425
19426 2010-09-16  Bruno Haible  <bruno@clisp.org>
19427
19428         login_tty: Make the replacement code work on BSD systems.
19429         * lib/login_tty.c: Include <sys/ioctl.h>.
19430         (login_tty): Use ioctl TIOCSCTTY when available.
19431         * modules/login_tty (Depends-on): Add sys_ioctl.
19432         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19433
19434 2010-09-16  Bruno Haible  <bruno@clisp.org>
19435
19436         login_tty: Stricter unit test.
19437         * modules/login_tty-tests (Depends-on): Add tcgetsid.
19438         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
19439         and tcgetsid() after login_tty.
19440         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19441
19442 2010-09-16  Bruno Haible  <bruno@clisp.org>
19443
19444         New module 'tcgetsid'.
19445         * lib/tcgetsid.c: New file.
19446         * m4/tcgetsid.m4: New file.
19447         * modules/tcgetsid: New file.
19448         * modules/termios (Depends-on): Add c++defs, warn-on-use.
19449         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
19450         GNULIB_TCGETSID, HAVE_TCGETSID.
19451         * lib/termios.in.h: Include <sys/types.h>.
19452         (tcgetsid): New declaration.
19453         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
19454         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
19455         * doc/posix-functions/tcgetsid.texi: Mention the new module.
19456         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
19457
19458 2010-09-16  Bruno Haible  <bruno@clisp.org>
19459
19460         Tests for module 'termios'.
19461         * modules/termios-c++-tests: New file.
19462         * modules/termios-tests: New file.
19463         * tests/test-termios-c++.cc: New file.
19464         * tests/test-termios.c: New file.
19465
19466         New module 'termios'.
19467         * modules/termios: New file.
19468         * lib/termios.in.h: New file.
19469         * m4/termios_h.m4: New file.
19470         * doc/posix-headers/termios.texi: Mention the new module.
19471
19472 2010-09-16  Eric Blake  <eblake@redhat.com>
19473
19474         fdutimensat: add an atflag parameter
19475         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19476         * lib/utimens.h (fdutimensat): Update prototype.
19477         * tests/test-fdutimensat.c: Adjust test to match.
19478         * NEWS: Document the change.
19479         Suggested by Paul Eggert.
19480
19481 2010-09-16  Bruno Haible  <bruno@clisp.org>
19482
19483         Fix typos in comments.
19484         * lib/striconveh.h: Fix typo in comment.
19485         * lib/login_tty.c (login_tty): Likewise.
19486
19487 2010-09-15  Bruno Haible  <bruno@clisp.org>
19488
19489         stdlib: clarify MirBSD WEXITSTATUS bug
19490         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19491         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19492
19493 2010-09-15  Eric Blake  <eblake@redhat.com>
19494
19495         stdlib: work around MirBSD WEXITSTATUS bug
19496         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19497         * modules/stdlib (Depends-on): Add sys_wait.
19498         * tests/test-sys_wait.c (main): Enhance test.
19499         * tests/test-stdlib.c (main): Likewise.
19500         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19501
19502         docs: mention MacOS issue with WEXITSTATUS(constant)
19503         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19504         issue.
19505         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19506
19507         strnlen: add tests
19508         * modules/strnlen-tests: New file.
19509         * tests/test-strnlen.c: Likewise.
19510
19511 2010-09-14  Bruno Haible  <bruno@clisp.org>
19512
19513         unistr/base: Avoid link errors when module 'libunistring' is also used.
19514         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19515         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19516         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19517         Declare also when HAVE_LIBUNISTRING is set.
19518         Reported by Pádraig Brady <P@draigbrady.com>.
19519
19520 2010-09-14  Eric Blake  <eblake@redhat.com>
19521
19522         test-rawmemchr: make more robust
19523         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19524         (Depends-on, configure.ac): Add needed prerequisites to use it.
19525         * modules/memchr-tests (Files, Depends-on, configure.ac):
19526         Likewise, to avoid implicit reliance on memchr module prereqs.
19527         * tests/test-memchr.c (main): Ensure proper masking.
19528         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
19529         reads.
19530
19531         memchr: detect glibc Alpha bug
19532         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
19533         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
19534         Alpha.
19535         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
19536         * tests/test-memchr.c (main): Enhance test.
19537         Reported by Nelson H. F. Beebe.
19538
19539 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19540
19541         fts, getcwd, glob: audit for dirfd returning -1
19542         * lib/fts.c (opendir): Remove #define; no longer used.
19543         (opendirat): New arg PDIR_FD.  All callers changed.
19544         (fts_build, _opendir2): Use new opendirat to avoid the need for
19545         dirfd, or for checking whether dirfd returns a negative value.
19546         Don't use opendir; always use openat followed by fdopendir.
19547         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
19548         it.
19549         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
19550         returns -1 here.
19551         * modules/fts (Depends-on): Remove dirfd.
19552         * modules/getcwd (Depends-on): Likewise.
19553
19554 2010-09-13  Eric Blake  <eblake@redhat.com>
19555
19556         float: fix broken MirBSD header
19557         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
19558         * doc/posix-headers/float.texi (float.h): Document it.
19559
19560 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19561
19562         fts: use O_NOFOLLOW to avoid race condition when opening a directory
19563         * lib/fts.c (opendirat): New arg extra_flags.
19564         (__opendir2): Use it to avoid following symlinks when opening
19565         a directory, if symlinks are not supposed to be followed.  See
19566         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
19567
19568         fdopendir: preserve argument fd before returning
19569         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
19570         (fdopendir_with_dup, fd_clone_opendir): New static functions.
19571         (fdopendir): Use them, arranging for FD to be open to the same
19572         directory that it was when it started.  (It might be temporarily
19573         closed while fdopendir is running, so this not thread- or
19574         signal-safe.)  Be careful to do the right thing even when file
19575         descriptors are scarce and dup fails with errno == EMFILE.  See
19576         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
19577
19578 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
19579
19580         regex: Pass the system regex if its only problem is 32-bit regoff_t.
19581         * NEWS: Document change.
19582         * m4/regex.m4: Disable test for regoff_t size.
19583
19584 2010-09-13  Jim Meyering  <meyering@redhat.com>
19585
19586         fts: don't operate on an invalid file descriptor after failed dup
19587         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
19588         negative file descriptor.
19589
19590 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19591
19592         savedir: add streamsavedir, deprecate fdsavedir
19593         * NEWS: Mention deprecation of fdsavedir.
19594         * lib/savedir.c (streamsavedir): New extern function, whose name
19595         ends in "savedir" to be consistent with the others.  This differs
19596         from savedirstream in that it doesn't close its argument.  The
19597         next version of GNU tar will use this instead of fdsavedir, to
19598         avoid some race conditions and conserve file descriptors.
19599         (savedirstream): Reimplement as a wrapper around streamsavedir.
19600         (fdsavedir): Add a comment deprecating this function.  As far as
19601         I know, only GNU tar used it, and GNU tar doesn't need it any more.
19602         * lib/savedir.h (streamsavedir): New decl.
19603         (fdsavedir): Add a comment deprecating this.
19604
19605 2010-09-10  Bruno Haible  <bruno@clisp.org>
19606
19607         langinfo: Fix last commit.
19608         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
19609         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
19610         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19611
19612 2010-09-10  Bruno Haible  <bruno@clisp.org>
19613
19614         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
19615         * lib/progreloc.c (O_EXEC): Define fallback.
19616
19617 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19618
19619         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
19620         * NEWS: Document recent changes to fcntl-h.
19621         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
19622         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
19623         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
19624         Similarly for O_SEARCH; this last was already true, but not documented.
19625         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
19626         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
19627         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
19628         Likewise.
19629         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
19630         is zero, not whether it is defined.
19631         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
19632         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
19633         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
19634
19635 2010-09-10  Bruno Haible  <bruno@clisp.org>
19636
19637         langinfo, nl_langinfo: Fix for IRIX 5.3.
19638         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
19639         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
19640         HAVE_LANGINFO_YESEXPR.
19641         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
19642         HAVE_LANGINFO_YESEXPR.
19643         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
19644         HAVE_LANGINFO_T_FMT_AMPM is 0.
19645         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
19646         HAVE_LANGINFO_YESEXPR is 0.
19647         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
19648         NOEXPR.
19649         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
19650         * doc/posix-functions/nl_langinfo.texi: Likewise.
19651         Reported by Eric Blake.
19652
19653 2010-09-10  Bruno Haible  <bruno@clisp.org>
19654
19655         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
19656         * doc/glibc-functions/login_tty.texi: Mention the include file problem
19657         on FreeBSD 8.0 and OpenBSD 4.6.
19658         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
19659         * m4/pty_h.m4 (gl_PTY_H): Likewise.
19660         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
19661         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
19662         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
19663         ac_includes_default.
19664         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19665
19666 2010-09-09  Eric Blake  <eblake@redhat.com>
19667
19668         strsignal: work around NetBSD bug
19669         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
19670         * lib/string.in.h (includes): Likewise.
19671         * doc/posix-functions/strsignal.texi (strsignal): Document the
19672         bug.
19673         Reported by Nelson H. F. Beebe.
19674
19675         gnulib-tool: work with NetBSD /bin/sh
19676         * gnulib-tool (func_cache_var, func_cache_lookup_module)
19677         (func_get_description, func_get_comment, func_get_status)
19678         (func_get_notice, func_get_applicability, func_get_filelist)
19679         (func_get_dependencies, func_get_autoconf_early_snippet)
19680         (func_get_autoconf_snippet, func_get_automake_snippet)
19681         (func_get_include_directive, func_get_link_directive)
19682         (func_get_license, func_get_maintainer, func_import): Avoid
19683         shell syntax errors from parsing syntax extensions.
19684
19685 2010-09-09  Bruno Haible  <bruno@clisp.org>
19686
19687         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19688         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
19689         a reliable way to determine whether the 'alias' command works.
19690
19691 2010-09-08  Jim Meyering  <meyering@redhat.com>
19692
19693         init.sh: penalize a set-x-impaired shell; don't disqualify it
19694         * tests/init.sh: Too many shells corrupt application stderr when
19695         you set -x, so we can't afford to disqualify them, since at least
19696         on Irix-6.5, that would disqualify all bourne shells.
19697         Instead, use a two-pass approach.
19698         On the first pass, try to find a shell that meets the stricter
19699         condition that set -x does not corrupt stderr.
19700         If no shell meets the stricter condition, retest each candidate
19701         shell, but without that extra condition.  Finally, when
19702         VERBOSE=yes is requested and set -x might cause trouble, simply
19703         issue a warning and refrain from enabling debug output.
19704
19705 2010-09-08  Eric Blake  <eblake@redhat.com>
19706
19707         unsetenv: fix OpenBSD bug
19708         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
19709         * doc/posix-functions/unsetenv.texi (unsetenv): Update
19710         documentation.
19711         Reported by Jim Meyering.
19712
19713         strtod: work around IRIX 6.5 bug
19714         * lib/strtod.c (strtod): Reparse number on shorter string if
19715         exponent parse was invalid.
19716         * tests/test-strtod.c (main): Add check for "0x1p 2".
19717         Reported by Tom G. Christensen.
19718
19719         getopt: optimize previous patch
19720         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
19721         empty variable.  Speed up awk script.
19722         Reported by Paolo Bonzini.
19723
19724 2010-09-08  Jim Meyering  <meyering@redhat.com>
19725
19726         test.sh: disqualify shells for which set -x corrupts stderr
19727         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
19728         and OpenBSD 4.7.  They make it so with "set -x", environment settings
19729         appear in stderr output.  For example, this command:
19730             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
19731         prints "P=1" on those two systems:
19732
19733 2010-09-08  Bruno Haible  <bruno@clisp.org>
19734
19735         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19736         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
19737         commands, because some shells ignore redirections when there is an
19738         error in the command lookup.
19739         Reported by Eric Blake.
19740
19741 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
19742
19743         * lib/regex.h: Fix a mention of `regex_compile' (should be
19744         `re_compile_pattern').
19745         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
19746         (re_set_registers): Correct name of parameter in comment.
19747
19748         * doc/regex.texi: Add documentation for missing syntax flags.
19749         Remove commented-out documentation of defunct syntax option
19750         RE_NO_EMPTY_ALTS.
19751         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
19752         Add documentation of re_set_registers.
19753         Document trick to re-use a pattern buffer by setting fastmap manually.
19754         Update documentation of struct re_pattern_buffer per public members.
19755         Uncomment documentation of equivalence class operators and
19756         collating symbol operators, since they are now implemented,
19757         Explain leftmost-longest matching in relation to alternatives.
19758         Tidy documentation of substring matching.
19759         Remove POSIX documentation, which is done better in
19760         glibc, and refer the reader there. Keep BSD API documentation, as
19761         that is not readily available elsewhere.
19762
19763 2010-09-07  Eric Blake  <eblake@redhat.com>
19764
19765         getopt: handle POSIXLY_CORRECT set but not exported
19766         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
19767         export state of POSIXLY_CORRECT, due to bash set -o posix.
19768         Reported by Dustin J. Mitchell.
19769
19770 2010-09-05  Bruno Haible  <bruno@clisp.org>
19771
19772         gnulib-tool: Highlight the changed options.
19773         * gnulib-tool (func_usage): Display the --import, --add-import,
19774         --remove-import explanations in bold font.
19775
19776 2010-09-06  Karl Berry  <karl@gnu.org>
19777
19778         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
19779
19780 2010-09-05  Bruno Haible  <bruno@clisp.org>
19781
19782         uniwidth/width: Update comment.
19783         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
19784         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
19785
19786 2010-09-05  Bruno Haible  <bruno@clisp.org>
19787
19788         isinf, isnan: Relax license.
19789         * modules/isinf (License): Change from GPL to LGPL, with consent from
19790         Ben Pfaff.
19791         * modules/isnan (License): Likewise.
19792         Requested by Ludovic Courtès.
19793
19794 2010-09-04  Bruno Haible  <bruno@clisp.org>
19795
19796         gnulib-tool: Help migration from --import to --add-import or --update.
19797         * gnulib-tool: Emit a verbose error message when --import is used
19798         without any module name.
19799
19800 2010-09-04  Bruno Haible  <bruno@clisp.org>
19801
19802         Update doc about gnulib-tool.
19803         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
19804         'gnulib-tool --update' in more detail.
19805         Reported by Eric Blake.
19806
19807 2010-09-04  Bruno Haible  <bruno@clisp.org>
19808
19809         gnulib-tool: Change --import. New options --add/remove-import.
19810         * gnulib-tool: New options --add-import, --remove-import.
19811         (func_usage): Document them.
19812         (have_associative): Define always.
19813         (func_import): In import mode, don't merge the specified settings with
19814         the cached settings. Implement remove-import mode.
19815         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
19816         Explain when to use them versus --import.
19817         (Simple update): Use --add-import instead of --import.
19818         * NEWS: Mention the change.
19819
19820 2010-09-04  Bruno Haible  <bruno@clisp.org>
19821
19822         * doc/gnulib-tool.texi (Initial import): Update paragraph about
19823         separate gnulib.mk.
19824
19825 2010-09-04  Bruno Haible  <bruno@clisp.org>
19826
19827         gnulib-tool: Don't talk about CVS any more.
19828         * gnulib-tool (func_usage, func_import): Write "version control"
19829         instead of CVS.
19830
19831 2010-09-04  Jim Meyering  <meyering@redhat.com>
19832
19833         maint.mk: avoid obscure sc_copyright_check failure in coreutils
19834         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
19835         false positives (whose names may be ill-chosen) when searching
19836         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
19837         would cause a false-positive.
19838
19839         avoid coreutils "make distcheck" failure
19840         Coreutils tests with an absolute build directory name that contains
19841         a space.  Not quoting this directory name caused a failure.
19842         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
19843         * tests/test-vc-list-files-cvs.sh: Likewise.
19844
19845 2010-09-04  Bruno Haible  <bruno@clisp.org>
19846
19847         gnulib-tool: Avoid error when run in a package without Makefile.am.
19848         * gnulib-tool: When collecting the m4dirs in a package that does not
19849         have a Makefile.am, eliminate those directories that contain no
19850         gnulib-cache.m4. Fix expression that counts these directories.
19851
19852 2010-09-04  Bruno Haible  <bruno@clisp.org>
19853
19854         update-copyright test: Improve output when perl is missing or too old.
19855         * tests/test-update-copyright.sh: Move test of Perl version down after
19856         the test whether Perl exists. Provide an explanation relating Perl's
19857         error message to Automake's SKIP: message.
19858
19859 2010-09-04  Bruno Haible  <bruno@clisp.org>
19860
19861         Don't augment PATH in TESTS_ENVIRONMENT.
19862         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
19863         set abs_aux_dir instead of augmenting PATH.
19864         * modules/vc-list-files-tests (Makefile.am): Likewise.
19865         * tests/test-update-copyright.sh: Augment PATH here.
19866         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
19867         path_prepend_.
19868         * tests/test-vc-list-files-git.sh: Likewise.
19869
19870 2010-09-04  Jim Meyering  <meyering@redhat.com>
19871
19872         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
19873         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
19874
19875 2010-09-04  Bruno Haible  <bruno@clisp.org>
19876
19877         strdup: Fix compilation error in C++ mode.
19878         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
19879         the macro.
19880
19881 2010-09-04  Bruno Haible  <bruno@clisp.org>
19882
19883         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
19884         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
19885         macro into a function.
19886         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19887
19888 2010-09-04  Bruno Haible  <bruno@clisp.org>
19889
19890         Set PATH_SEPARATOR the same way autoconf does.
19891         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
19892         the value of PATH_SEPARATOR the same way autoconf-generated configure
19893         scripts do.
19894         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
19895         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19896
19897 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19898
19899         Set PATH_SEPARATOR the same way autoconf does.
19900         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
19901         the same way autoconf-generated configure scripts do.
19902         * posix-modules: Likewise.
19903
19904 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
19905
19906         hash: fix safe_hasher const typo
19907         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
19908         const; otherwise, there is a type error later.
19909
19910 2010-09-02  Jim Meyering  <meyering@redhat.com>
19911
19912         test-update-copyright.sh: require perl 5.8.0
19913         * tests/test-update-copyright.sh: Require 5.8.0,
19914         which Tom G. Christensen has confirmed is adequate,
19915         while 5.6.1 is not.
19916
19917 2010-09-02  Eric Blake  <eblake@redhat.com>
19918
19919         tests: init.sh improvements for re-exec'ing with zsh
19920         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
19921         -vx through shell re-exec.
19922         Reported by Tom G. Christensen.
19923
19924         wctype: fix typo in previous commit
19925         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
19926         Reported by Ludovic Courtès.
19927
19928 2010-09-02  Jim Meyering  <meyering@redhat.com>
19929
19930         test-update-copyright.sh: skip test if Perl is too old
19931         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
19932         Reported by Tom G. Christensen.
19933
19934 2010-09-02  Bruno Haible  <bruno@clisp.org>
19935
19936         wctype: Avoid compilation error on IRIX 6.5.30.
19937         * lib/wctype.in.h (iswblank): Declare with a replacement if
19938         REPLACE_ISWBLANK is set.
19939         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
19940         declared. Set REPLACE_ISWBLANK.
19941         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
19942         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
19943         * doc/posix-headers/wctype.texi: Likewise.
19944         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19945
19946 2010-09-01  Bruno Haible  <bruno@clisp.org>
19947
19948         New module 'socketlib'.
19949         * modules/socketlib: New file.
19950         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
19951         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
19952         * modules/sockets (Depends-on): Add socketlib.
19953         Suggested by Sam Steingold <sds@gnu.org>.
19954
19955 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
19956
19957         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
19958
19959         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
19960         when one needs search access to a directory but not read access.
19961         On systems where it is available, it works in some cases where
19962         O_RDONLY does not, namely on directories that are searchable but
19963         not readable, and which need only to be searchable.  If O_SEARCH
19964         is not available, fall back to the traditional method of using
19965         O_RDONLY.
19966
19967         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
19968         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
19969         when opening a directory that needs only to be searchable.
19970         * lib/chdir-safer.c (chdir_no_follow): Likewise.
19971         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
19972         * lib/openat-proc.c (openat_proc_name): Likewise.
19973         * lib/openat.c (openat_needs_fchdir): Likewise.
19974         * lib/save-cwd.c (save_cwd): Likewise.
19975         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
19976
19977 2010-08-28  Bruno Haible  <bruno@clisp.org>
19978
19979         New module 'host-cpu-c-abi'.
19980         * modules/host-cpu-c-abi: New file.
19981         * m4/host-cpu-c-abi.m4: New file, based on part of
19982         clisp/src/m4/general.m4.
19983         Requested by Sam Steingold <sds@gnu.org>.
19984
19985 2010-08-31  Eric Blake  <eblake@redhat.com>
19986         and Jim Meyering  <meyering@redhat.com>
19987
19988         hash: factor, and guard against misbehaving hasher function
19989         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
19990         of table->hasher's return value.  Also protect against a hash value
19991         so large that adding it to table->bucket results in a NULL pointer.
19992         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
19993         Use it in place of open-coded check-and-abort.
19994
19995 2010-08-30  Bruno Haible  <bruno@clisp.org>
19996
19997         hash: silence spurious clang warning
19998         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
19999         Reported by Eric Blake.
20000
20001 2010-08-30  Eric Blake  <eblake@redhat.com>
20002
20003         strstr, memmem, strcasestr: avoid leaked shell message
20004         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
20005         FreeBSD.
20006         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20007         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20008
20009         tests: silence clang warning
20010         * tests/test-malloca.c (do_allocation): Avoid dead store.
20011
20012 2010-08-29  Bruno Haible  <bruno@clisp.org>
20013
20014         gettext: Fix recent mistake.
20015         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
20016
20017 2010-08-29  Bruno Haible  <bruno@clisp.org>
20018
20019         selinux-h: Offer a --without-selinux option.
20020         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
20021         --without-selinux was specified, skip all tests and define
20022         HAVE_SELINUX_SELINUX_H to 0.
20023         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
20024         set LIB_SELINUX to empty.
20025         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
20026         gl_LIBSELINUX. If --without-selinux was specified, replace
20027         selinux/context.h.
20028         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
20029
20030 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20031             Bruno Haible  <bruno@clisp.org>
20032
20033         Make the module 'realloc-gnu' work again on AIX and OSF/1.
20034         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
20035         of HAVE_REALLOC.
20036         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
20037         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
20038         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
20039         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20040
20041 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20042             Bruno Haible  <bruno@clisp.org>
20043
20044         Make the module 'calloc-gnu' work again on AIX and OSF/1.
20045         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
20046         HAVE_CALLOC.
20047         * lib/xmalloc.c: Update accordingly.
20048         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
20049         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
20050         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
20051
20052 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20053             Bruno Haible  <bruno@clisp.org>
20054
20055         Make the module 'malloc-gnu' work again on AIX and OSF/1.
20056         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
20057         HAVE_MALLOC.
20058         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
20059         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
20060         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20061
20062 2010-08-29  Bruno Haible  <bruno@clisp.org>
20063
20064         Update modules list.
20065         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20066         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
20067         (String handling <string.h>): Add astrxfrm.
20068         (File system functions): Add readlinkat.
20069
20070 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20071
20072         Tests for module 'realloc-gnu'.
20073         * modules/realloc-gnu-tests: New file.
20074         * tests/test-realloc-gnu.c: New file.
20075
20076         Tests for module 'calloc-gnu'.
20077         * modules/calloc-gnu-tests: New file.
20078         * tests/test-calloc-gnu.c: New file.
20079
20080         Tests for module 'malloc-gnu'.
20081         * modules/malloc-gnu-tests: New file.
20082         * tests/test-malloc-gnu.c: New file.
20083
20084 2010-08-28  Bruno Haible  <bruno@clisp.org>
20085
20086         Rename module 'realloc' -> 'realloc-gnu'.
20087         * modules/realloc-gnu: New file, copied from modules/realloc.
20088         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
20089         obsolete.
20090         * modules/mgetgroups (Depends-on): Update.
20091         * doc/posix-functions/realloc.texi: Update.
20092         * NEWS: Mention the change.
20093
20094         Rename module 'calloc' -> 'calloc-gnu'.
20095         * modules/calloc-gnu: New file, copied from modules/calloc.
20096         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
20097         obsolete.
20098         * doc/posix-functions/calloc.texi: Update.
20099         * NEWS: Mention the change.
20100
20101         Rename module 'malloc' -> 'malloc-gnu'.
20102         * modules/malloc-gnu: New file, copied from modules/malloc.
20103         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
20104         obsolete.
20105         * modules/argp (Depends-on): Update.
20106         * modules/regex (Depends-on): Update.
20107         * doc/posix-functions/malloc.texi: Update.
20108         * NEWS: Mention the change.
20109
20110 2010-08-28  Eric Blake  <eblake@redhat.com>
20111
20112         pread, pwrite: add missing dependency
20113         * modules/pread (Depends-on): Add extensions.
20114         * modules/pwrite (Depends-on): Likewise.
20115
20116 2010-08-28  Bruno Haible  <bruno@clisp.org>
20117
20118         unistr/u*-strchr: Fix tests dependencies.
20119         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
20120         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
20121         Reported by Ian Beckwith <ianb@erislabs.net>.
20122
20123 2010-08-28  Bruno Haible  <bruno@clisp.org>
20124
20125         read-file: Don't occupy too much unused memory.
20126         * lib/read-file.c (fread_file): Shrink the buffer at the end.
20127
20128 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
20129             Eric Blake  <eblake@redhat.com>
20130             Bruno Haible  <bruno@clisp.org>
20131
20132         read-file: Avoid memory reallocations with regular files.
20133         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
20134         (fread_file): With regular files, use the remaining length as the
20135         initial buffer size.  Check against overflow.
20136         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
20137         sys_stat.
20138
20139 2010-08-28  Bruno Haible  <bruno@clisp.org>
20140
20141         ftello: Relax license.
20142         * modules/ftello (License): Relax to LGPLv2+.
20143         Reported by Eric Blake.
20144
20145 2010-08-28  Bruno Haible  <bruno@clisp.org>
20146
20147         Avoid relocwrapper link errors due to gnulib replacement functions.
20148         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
20149         function.
20150         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20151
20152 2010-08-28  Bruno Haible  <bruno@clisp.org>
20153
20154         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
20155         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
20156         defined.
20157         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
20158         Suggested by Eric Blake.
20159
20160 2010-08-28  Bruno Haible  <bruno@clisp.org>
20161
20162         sys_socket, netdb: Ensure socklen_t gets defined.
20163         * modules/sys_socket (Depends-on): Add socklen.
20164         * modules/netdb (Depends-on): Likewise.
20165         * modules/getaddrinfo (Depends-on): Remove socklen.
20166         * modules/getsockopt (Depends-on): Likewise.
20167         * modules/setsockopt (Depends-on): Likewise.
20168         * tests/test-sys_socket.c: Check that socklen_t is defined.
20169         * tests/test-netdb.c: Likewise.
20170         * m4/socklen.m4: Update comments.
20171         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20172
20173 2010-08-27  Eric Blake  <eblake@redhat.com>
20174
20175         login_tty: add missing dependency
20176         * modules/login_tty (Depends-on): Add pty.
20177
20178 2010-08-26  Eric Blake  <eblake@redhat.com>
20179
20180         lib-symbol-versions: fix m4 quoting
20181         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
20182         format for AC_LINK_IFELSE.
20183
20184         glob: fix compile test
20185         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
20186
20187         btowc: fix missing file
20188         * modules/btowc (Files): Also ship locale-fr.m4.
20189
20190         lseek: fix link test
20191         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
20192         AC_LINK_IFELSE.
20193
20194         include_next: silence autoconf 2.68 warning
20195         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
20196         AC_COMPILE_IFELSE as special.
20197         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
20198         autoconf < 2.68.
20199
20200         acl: fix compilation test
20201         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
20202         AC_COMPILE_IFELSE.
20203
20204 2010-08-26  Bruno Haible  <bruno@clisp.org>
20205
20206         Modernize AC_TRY_RUN invocations.
20207         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
20208         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20209         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
20210         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
20211         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
20212         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20213         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20214         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20215         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20216         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20217         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20218         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20219         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20220         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20221         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20222         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20223         gl_MBRLEN_NUL_RETVAL): Likewise.
20224         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20225         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20226         Likewise.
20227         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20228         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20229         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20230         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20231         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
20232         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
20233         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
20234         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
20235         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
20236         Likewise.
20237         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20238         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
20239         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20240         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20241         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20242         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20243         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20244         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
20245         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20246         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20247
20248 2010-08-26  Bruno Haible  <bruno@clisp.org>
20249
20250         Modernize AC_TRY_LINK invocations.
20251         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
20252         AC_TRY_LINK.
20253         * m4/argp.m4 (gl_ARGP): Likewise.
20254         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
20255         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20256         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
20257         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20258         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20259         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
20260         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
20261         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
20262         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20263         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20264         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20265         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
20266         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
20267         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20268         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20269         * m4/hostent.m4 (gl_HOSTENT): Likewise.
20270         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20271         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
20272         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20273         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
20274         Likewise.
20275         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
20276         Likewise.
20277         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
20278         Likewise.
20279         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20280         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
20281         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
20282         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
20283         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
20284         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20285         * m4/servent.m4 (gl_SERVENT): Likewise.
20286         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
20287         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
20288         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
20289         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
20290         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20291         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
20292         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20293         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20294         * modules/tsearch-tests (configure.ac): Likewise.
20295
20296 2010-08-26  Bruno Haible  <bruno@clisp.org>
20297
20298         Modernize AC_TRY_COMPILE invocations.
20299         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
20300         AC_TRY_COMPILE.
20301         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
20302         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
20303         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20304         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
20305         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20306         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20307         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20308         * m4/lock.m4 (gl_LOCK): Likewise.
20309         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20310         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20311         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
20312         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20313         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20314         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
20315         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20316         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
20317         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20318         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20319         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20320         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20321         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
20322         extraneous semicolon.
20323
20324 2010-08-26  Jim Meyering  <meyering@redhat.com>
20325
20326         stat-time: relax license LGPL
20327         * modules/stat-time (License): Change from GPL to LGPL,
20328         with consent from all contributors, for use in libguile.
20329         Requested by Ludovic Courtès.
20330
20331 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
20332
20333         poll: return immediately on POLLHUP.
20334         * lib/poll.c (poll): Always set timeout before wait_timeout is
20335         computed.
20336
20337 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20338
20339         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
20340         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
20341         rmdir ("dir/.//"), unlinkat.
20342
20343 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20344
20345         stdbool: avoid spurious failure with modern xlc
20346         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20347
20348 2010-08-24  Bruno Haible  <bruno@clisp.org>
20349
20350         getloadavg: simplify code
20351         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
20352         gl_have_func. Update comments.
20353
20354 2010-08-24  Eric Blake  <eblake@redhat.com>
20355
20356         getloadavg: don't define SVR4 on cygwin
20357         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
20358         only define SVR4 when -lkvm is required.
20359         Reported by Yaakov Selkowitz.
20360
20361 2010-08-24  Bruno Haible  <bruno@clisp.org>
20362
20363         priv-set: fix comment
20364         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
20365
20366 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20367
20368         priv-set: fix comments
20369         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
20370         to match code, as suggested by David Bartley in:
20371         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
20372
20373 2010-08-23  Eric Blake  <eblake@redhat.com>
20374
20375         stdbool: avoid rejecting clang
20376         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20377         * tests/test-stdbool.c: Enable more tests if using the system
20378         <stdbool.h> instead of the gnulib replacement.
20379         (main): Move xlc bug test to a runtime test for all compilers.
20380         Reported by Anders Kaseorg.
20381
20382         argz: fix shell quoting issue
20383         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
20384         Reported by Charles Wilson.
20385
20386 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
20387             Erik Faye-Lund <kusmabite@gmail.com>
20388
20389         poll, select: handle ERROR_BROKEN_PIPE.
20390         * lib/poll.c (win32_compute_revents): Return POLLHUP when
20391         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20392         * lib/select.c (win32_compute_revents): Do not mark a pipe
20393         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20394
20395 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
20396
20397         fts: allow compilation with C++
20398         * lib/fts_.h: Specify extern "C" linkage with C++.
20399
20400 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20401
20402         Fix gnulib-tool sed script de-commentation for AIX sed.
20403         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
20404         sed.
20405
20406 2010-08-17  Eric Blake  <eblake@redhat.com>
20407
20408         test-stddef: test for (some) offsetof bugs
20409         * tests/test-stddef.c: Enhance test to ensure correct type of
20410         offsetof.
20411         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
20412         that we are not fixing at this time.
20413
20414 2010-08-15  Bruno Haible  <bruno@clisp.org>
20415
20416         stpncpy: Allow stpncpy to be defined as a macro.
20417         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
20418         if it's already correctly declared.
20419         * lib/string.in.h (stpncpy): Undefine before redefining.
20420         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
20421
20422 2010-08-14  Bruno Haible  <bruno@clisp.org>
20423
20424         Rename module 'memxfrm' to 'amemxfrm'.
20425         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
20426         (amemxfrm): Renamed from memxfrm.
20427         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
20428         (amemxfrm): Renamed from memxfrm.
20429         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
20430         * NEWS: Mention the change.
20431         * MODULES.html.sh (String handling <string.h>): Update.
20432         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
20433         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
20434         * lib/unicase/u16-casexfrm.c: Likewise.
20435         * lib/unicase/u32-casexfrm.c: Likewise.
20436         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
20437         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
20438         * lib/uninorm/u16-normxfrm.c: Likewise.
20439         * lib/uninorm/u32-normxfrm.c: Likewise.
20440         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
20441         memxfrm.
20442         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
20443         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
20444         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
20445         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
20446         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
20447         Suggested by Paul Eggert.
20448
20449 2010-08-14  Bruno Haible  <bruno@clisp.org>
20450
20451         Tests for module 'astrxfrm'.
20452         * modules/astrxfrm-tests: New file.
20453         * tests/test-astrxfrm.c: New file.
20454
20455         New module 'astrxfrm'.
20456         * lib/astrxfrm.h: New file.
20457         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
20458         * modules/astrxfrm: New file.
20459
20460 2010-08-14  Reuben Thomas <rrt@sc3d.org>
20461
20462         regex: Tweak doc.
20463         * doc/regex.texi (Overview): Don't mention regex.c.
20464         (GNU Regular Expression Compiling): Likewise.
20465         (Match-end-of-line Operator): Mention 'not_eol'.
20466
20467 2010-08-14  Brian Gough  <bjg@gnu.org>
20468             Bruno Haible  <bruno@clisp.org>
20469
20470         git-merge-changelog: add doc relating to use with bzr and hg.
20471         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20472
20473 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20474
20475         pthread: fix pthread.h creation for srcdir != builddir
20476         * modules/pthread (Makefile.am): Fix the rule to work also in a
20477         non-srcdir build.
20478
20479 2010-08-13  Karl Berry  <karl@gnu.org>
20480
20481         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20482         * doc/posix-*/*: force line break before @url of POSIX
20483         specifications.
20484         Suggested by Werner Lemberg.
20485
20486 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20487
20488         strtod: fix const diagnostic
20489         * lib/strtod.c (strtod): Don't assign const char * to char *,
20490         as this elicits a warning from GCC when warnings are enabled.
20491
20492 2010-08-10  Pádraig Brady <P@draigbrady.com>
20493         and Eric Blake  <eblake@redhat.com>
20494
20495         copy-acl: ignore ENOTSUP on HP-UX
20496         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20497         so that it is available for HP-UX.
20498         * lib/copy-acl.c (qcopy_acl): Use it.
20499         Reported by Patrick M. Callahan.
20500
20501 2010-08-10  Eric Blake  <eblake@redhat.com>
20502
20503         open, chown: relax license
20504         * modules/open (License): Change to LGPLv2+, with consent by all
20505         authors, for use in augeas.
20506         * modules/chown (License): Likewise.
20507         * modules/lchown (Likewise): Likewise.
20508         Requested by Adam Stokes.
20509
20510 2010-08-09  Karl Berry  <karl@gnu.org>
20511
20512         * build-aux/ar-lib: new file, import from Automake.
20513         * config/srclist.txt: autocheck for updates.
20514
20515 2010-08-09  Eric Blake  <eblake@redhat.com>
20516
20517         readlinkat: adjust client modules
20518         * modules/areadlinkat (Depends-on): Use readlinkat, not
20519         symlinkat.
20520         * modules/areadlinkat-with-size (Depends-on): Likewise.
20521
20522         mknod: be more vocal about danger of running tests as root
20523         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20524         root, since that is just asking for problems.
20525         Suggested by Bruno Haible, based on a report by Rainer Tammer.
20526
20527         readlinkat: split into its own module
20528         * modules/symlinkat: Split readlinkat...
20529         * modules/readlinkat: ...into separate module.
20530         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
20531         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
20532         * lib/symlinkat.c (readlinkat): Move...
20533         * lib/readlinkat.c: ...into new file.
20534         * modules/symlinkat-tests: Split readlinkat test...
20535         * modules/readlinkat-tests: ...into separate module.
20536         * tests/test-symlinkat.c: Split...
20537         * tests/test-readlinkat.c: ...into new file.
20538         * NEWS: Document the split.
20539         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20540         * lib/unistd.in.h (readlinkat): Likewise.
20541         Suggested by Bruno Haible.
20542
20543 2010-08-08  Bruno Haible  <bruno@clisp.org>
20544
20545         memxfrm: Speed up.
20546         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
20547         that usually only one call to strxfrm is necessary for each string
20548         part.
20549         Reported by Paul Eggert <eggert@cs.ucla.edu>.
20550
20551 2010-08-07  Karl Berry  <karl@gnu.org>
20552
20553         * doc/posix-headers/limits.texi,
20554         * doc/posix-functions/malloc.texi,
20555         * doc/posix-functions/strsignal.texi: missing @item.
20556         * doc/ld-version-script.texi: spurious leading i.
20557         * doc/regex.texi (Interval Operators): no commas inside @var.
20558
20559 2010-08-01  Bruno Haible  <bruno@clisp.org>
20560
20561         Integrate the regex documentation.
20562         * doc/gnulib.texi: Define 'cn' index.
20563         (Regular expressions): New a chapter that includes regex.texi and
20564         regexprops-generic.texi.
20565         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
20566         syntax.
20567
20568         Whitespace cleanup.
20569         * doc/regex.texi: Remove trailing spaces.
20570
20571         Add regex documentation.
20572         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
20573         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
20574         Written by Kathy A. Hargreaves and Karl Berry.
20575
20576 2010-08-01  Bruno Haible  <bruno@clisp.org>
20577
20578         link: Update documentation.
20579         * doc/posix-functions/link.texi: Update regarding Solaris.
20580
20581 2010-07-31  Bruno Haible  <bruno@clisp.org>
20582
20583         Update modules list.
20584         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
20585         (String handling <string.h>): Add memcmp2, memxfrm.
20586         (Container data structures): Add xlist, xsublist, xoset.
20587         (Core language properties): Add alignof, unused-parameter.
20588         (Process control, Numeric conversion functions <stdlib.h>): Renamed
20589         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
20590         (Unibyte characters <ctype.h>): New section.
20591         (String handling <string.h>): New section.
20592         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
20593         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
20594         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
20595         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
20596         tan, tanh, tanl, y0, y1, yn.
20597         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
20598         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
20599         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
20600         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
20601         unlockpt, vdprintf, vdprintf-posix.
20602         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
20603         (File system functions): Add concat-filename, sys_file, sys_ioctl,
20604         xconcat-filename.
20605         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
20606         getdtablesize, pipe2, pipe2-safer.
20607         (Security): New section.
20608         (Networking functions): Add accept4.
20609         (Signal handling): Add sigpipe.
20610         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
20611         mbmemcasecoll.
20612         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
20613         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
20614         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
20615         pipe-filter-ii.
20616         (Misc): Add argp-version-etc, login_tty, parse-duration.
20617
20618 2010-07-31  Bruno Haible  <bruno@clisp.org>
20619
20620         Improve doc in MODULES.html.
20621         * modules/linkat (Description): Add the word "function".
20622         * modules/mkfifo (Description): Likewise.
20623         * modules/mknod (Description): Likewise.
20624         * modules/remove (Description): Likewise.
20625         * modules/renameat (Description): Likewise.
20626         * modules/stat (Description): Likewise.
20627         * modules/symlink (Description): Likewise.
20628         * modules/unlink (Description): Likewise.
20629
20630 2010-07-31  Bruno Haible  <bruno@clisp.org>
20631
20632         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
20633         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
20634         option --enable/disable-c++ instead of --enable/disable-cxx.
20635         * NEWS: Mention the change.
20636
20637 2010-07-31  Bruno Haible  <bruno@clisp.org>
20638
20639         readlink, areadlink: Relax test a bit.
20640         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
20641         alternative to ENOTDIR.
20642         * tests/test-areadlink.h (test_areadlink): Likewise.
20643         Reported by Rainer Tammer.
20644
20645 2010-07-31  Bruno Haible  <bruno@clisp.org>
20646
20647         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
20648         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
20649         character, perform the search using U_STRCHR.
20650         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
20651         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
20652         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
20653         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
20654         Suggested by Paolo Bonzini.
20655
20656 2010-07-31  Bruno Haible  <bruno@clisp.org>
20657
20658         unistr/u*-strstr: Fix dependencies.
20659         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
20660         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
20661         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
20662
20663 2010-07-31  Bruno Haible  <bruno@clisp.org>
20664
20665         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
20666         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
20667         the beginning of the loop.
20668         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
20669         cases in 'switch' statement.
20670
20671         unistr/u8-strchr: Fix several bugs.
20672         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
20673         the string. When not found, return NULL, not a pointer near the end.
20674
20675         More tests for unistr/u8-strchr.
20676         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
20677         that the function does not read past the first occurrence of the byte
20678         being searched.
20679         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
20680         * tests/unistr/test-u16-strchr.c (main): New function.
20681         * tests/unistr/test-u32-strchr.c (main): New function.
20682
20683 2010-07-31  Bruno Haible  <bruno@clisp.org>
20684
20685         posix-modules: Ignore backup files of documentation files.
20686         * posix-modules: grep only through files named *.texi.
20687
20688 2010-07-31  Bruno Haible  <bruno@clisp.org>
20689
20690         symlinkat: Fix documentation.
20691         * doc/posix-functions/readlinkat.texi: Fix module name.
20692
20693 2010-07-31  Bruno Haible  <bruno@clisp.org>
20694
20695         fchownat: Replace also when chown has the trailing slash bug.
20696         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
20697         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
20698         introduced on 2010-04-10.
20699         Reported by Rainer Tammer.
20700
20701 2010-07-31  Bruno Haible  <bruno@clisp.org>
20702
20703         linkat: Work around AIX 7.1 bug.
20704         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
20705         whether linkat handles trailing slash correctly. If not, replace linkat
20706         and define LINKAT_TRAILING_SLASH_BUG.
20707         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
20708         check whether (fd1,file1) points to a directory if file1 or file2 ends
20709         in a slash. Code taken from lib/link.c.
20710         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
20711         Reported by Rainer Tammer.
20712
20713 2010-07-31  Bruno Haible  <bruno@clisp.org>
20714
20715         Correctly determine whether pow is available in libc on AIX 7 with xlc.
20716         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
20717         This disables an xlc optimization that was causing wrong test results.
20718         Reported by Rainer Tammer.
20719
20720 2010-07-31  Bruno Haible  <bruno@clisp.org>
20721
20722         iconv: Work around AIX 6.1..7.1 bug.
20723         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
20724         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
20725         cross-compiling, guess no on all versions of AIX.
20726         Reported by Rainer Tammer.
20727
20728 2010-07-31  Bruno Haible  <bruno@clisp.org>
20729
20730         readlink: Relax test a bit.
20731         * tests/test-readlink.h (test_readlink): Allow different errno value
20732         when readlink is called with a file name that ends in / and refers to
20733         a file.
20734         Suggested by Eric Blake.
20735         Reported by Rainer Tammer.
20736
20737 2010-07-31  Bruno Haible  <bruno@clisp.org>
20738
20739         copysign: Does not require -lm on glibc systems.
20740         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
20741         gl_COMMON_DOUBLE_MATHFUNC.
20742         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
20743
20744 2010-07-31  Bruno Haible  <bruno@clisp.org>
20745
20746         duplocale: Work around AIX 7.1 bug.
20747         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
20748         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
20749         * lib/duplocale.c (rpl_duplocale): Update comment.
20750         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
20751         Reported by Rainer Tammer.
20752
20753 2010-07-30  Bruno Haible  <bruno@clisp.org>
20754
20755         dirfd: Avoid link error on AIX 7.1.
20756         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
20757         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
20758         exist, set REPLACE_DIRFD.
20759         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
20760         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
20761         * doc/posix-functions/dirfd.texi: Update.
20762         Reported by Rainer Tammer.
20763
20764 2010-07-30  Eric Blake  <eblake@redhat.com>
20765
20766         strtod: next round of AIX fixes
20767         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
20768         exponent.
20769         * tests/test-strtod.c (main): Enhance tests.
20770         * doc/posix-functions/strtod.texi (strtod): Document next bug.
20771         Reported by Rainer Tammer.
20772
20773         futimens: fix configure check
20774         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
20775         Reported by Bruno Haible.
20776
20777 2010-07-30  Bruno Haible  <bruno@clisp.org>
20778
20779         getline: Update regarding AIX.
20780         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
20781         Reported by Rainer Tammer.
20782
20783 2010-07-30  Bruno Haible  <bruno@clisp.org>
20784
20785         wcwidth: Drop replacement on AIX 7.
20786         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
20787         AIX 7.
20788         Reported by Rainer Tammer.
20789
20790 2010-07-30  Bruno Haible  <bruno@clisp.org>
20791
20792         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
20793         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
20794         a 'char *'.
20795         Reported by Rainer Tammer.
20796
20797 2010-07-30  Bruno Haible  <bruno@clisp.org>
20798
20799         unlink: Update regarding AIX.
20800         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
20801         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
20802         Reported by Rainer Tammer.
20803
20804 2010-07-30  Bruno Haible  <bruno@clisp.org>
20805
20806         symlink: Update regarding AIX.
20807         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
20808         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
20809         Reported by Rainer Tammer.
20810
20811 2010-07-30  Bruno Haible  <bruno@clisp.org>
20812
20813         strndup: Update regarding AIX.
20814         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
20815         AIX 7.
20816         Reported by Rainer Tammer.
20817
20818 2010-07-30  Bruno Haible  <bruno@clisp.org>
20819
20820         stat: Update regarding AIX.
20821         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
20822         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
20823         Reported by Rainer Tammer.
20824
20825 2010-07-30  Bruno Haible  <bruno@clisp.org>
20826
20827         truncl: Fix autoconf test.
20828         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
20829         whether truncl works.
20830         Reported by Rainer Tammer.
20831
20832 2010-07-30  Bruno Haible  <bruno@clisp.org>
20833
20834         round: Update regarding AIX.
20835         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
20836         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
20837         Reported by Rainer Tammer.
20838
20839 2010-07-30  Bruno Haible  <bruno@clisp.org>
20840
20841         rename: Update regarding AIX.
20842         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
20843         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
20844         Reported by Rainer Tammer.
20845
20846 2010-07-30  Bruno Haible  <bruno@clisp.org>
20847
20848         printf.m4: Update regarding AIX.
20849         * m4/printf.m4: Update comments regarding AIX.
20850         Reported by Rainer Tammer.
20851
20852 2010-07-30  Bruno Haible  <bruno@clisp.org>
20853
20854         iconv: Update regarding AIX.
20855         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
20856         AIX 7.
20857         Reported by Rainer Tammer.
20858
20859 2010-07-30  Bruno Haible  <bruno@clisp.org>
20860
20861         getopt: Update regarding AIX.
20862         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
20863         no on AIX.
20864         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
20865         Reported by Rainer Tammer.
20866
20867 2010-07-30  Bruno Haible  <bruno@clisp.org>
20868
20869         ldexpl; Update regarding AIX.
20870         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
20871         on AIX 7.
20872         Reported by Rainer Tammer.
20873
20874 2010-07-30  Bruno Haible  <bruno@clisp.org>
20875
20876         frexpl: Update regarding AIX.
20877         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
20878         on AIX 7.
20879         Reported by Rainer Tammer.
20880
20881 2010-07-30  Bruno Haible  <bruno@clisp.org>
20882
20883         open, fopen: Update regarding AIX.
20884         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
20885         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20886         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
20887         * doc/posix-functions/fopen.texi: Likewise.
20888         Reported by Rainer Tammer.
20889
20890 2010-07-30  Bruno Haible  <bruno@clisp.org>
20891
20892         chown: Update doc regarding AIX.
20893         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
20894         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
20895         Reported by Rainer Tammer.
20896
20897 2010-07-30  Eric Blake  <eblake@redhat.com>
20898
20899         strtod: fix bug in replacement function on AIX
20900         * lib/strtod.c (strtod): Special case broken "0x" parse in
20901         underlying strtod.
20902         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
20903         * doc/posix-functions/strtod.texi (strtod): Likewise.
20904         Reported by Rainer Tammer.
20905
20906 2010-07-30  Bruno Haible  <bruno@clisp.org>
20907
20908         mbrlen: Fix cross-compilation guess for AIX.
20909         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
20910         guess. Leftover from 2008-12-22.
20911
20912 2010-07-30  Bruno Haible  <bruno@clisp.org>
20913
20914         mbrtowc: Fix cross-compilation guess for AIX.
20915         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
20916         guess. Leftover from 2008-12-21.
20917
20918 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
20919
20920         init.sh: work around trap limitation of some shells
20921         * tests/init.sh (setup_): Move exit trap outside of shell function.
20922
20923 2010-07-29  Eric Blake  <eblake@redhat.com>
20924
20925         strtod: aid debugging
20926         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
20927         understanding why strtod is rejected.
20928
20929 2010-07-28  Bruno Haible  <bruno@clisp.org>
20930
20931         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
20932         * lib/unistr/u8-chr.c: Include <string.h>.
20933         * tests/unistr/test-u8-chr.c: Likewise.
20934         * tests/unistr/test-u16-chr.c: Likewise.
20935         * tests/unistr/test-u32-chr.c: Likewise.
20936         * tests/unistr/test-u8-strchr.c: Likewise.
20937         * tests/unistr/test-u16-strchr.c: Likewise.
20938         * tests/unistr/test-u32-strchr.c: Likewise.
20939         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
20940         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
20941         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
20942         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
20943
20944 2010-07-28  Bruno Haible  <bruno@clisp.org>
20945
20946         Use spaces for indentation, not tabs.
20947         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
20948
20949 2010-07-27  Bruno Haible  <bruno@clisp.org>
20950
20951         mbspcasecmp: Fix function specification.
20952         * lib/string.in.h (mbspcasecmp): Fix specification comment.
20953         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
20954         Reported by Eric Blake <eblake@redhat.com>.
20955
20956 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
20957
20958         timespec: use cast and not conditional, as truncation isn't possible
20959         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
20960         instead of a conditional.  Comment about the situation in more detail.
20961         This undoes most of the 2009-10-29 patch.
20962
20963 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
20964
20965         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
20966         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
20967         * lib/unistr/u8-strchr.c: Likewise.
20968         * modules/unistr/u8-chr: Depend on memchr.
20969
20970         unistr/u*-strchr: add tests
20971         * modules/unistr/u8-strchr-tests: New file.
20972         * modules/unistr/u16-strchr-tests: New file.
20973         * modules/unistr/u32-strchr-tests: New file.
20974         * tests/unistr/test-strchr.h: New file.
20975         * tests/unistr/test-u8-strchr.c: New file.
20976         * tests/unistr/test-u16-strchr.c: New file.
20977         * tests/unistr/test-u32-strchr.c: New file.
20978
20979         unistr/u*-chr: test multibyte sequences more
20980         * tests/unistr/test-chr.h: Do complete testing of the characters in the
20981         test vector.
20982         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
20983         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
20984         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
20985
20986         unistr/u*-chr: test multibyte sequences
20987         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
20988
20989         unistr/u*-chr: prepare for multibyte tests
20990         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
20991         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
20992         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
20993         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
20994         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
20995         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
20996
20997 2010-07-18  Bruno Haible  <bruno@clisp.org>
20998
20999         unistr/u8-strchr: Optimize non-ASCII argument case.
21000         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
21001         because the first byte often matches anyway.
21002         Reported by Pádraig Brady <P@draigbrady.com>.
21003
21004 2010-07-15  Karl Berry  <karl@gnu.org>
21005
21006         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
21007
21008 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
21009
21010         getcwd: on Solaris, work better if ancestors are inaccessible
21011         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
21012         buffer and size, try again with a large buffer.  This works better
21013         on Solaris, since its getcwd succeeds even if the path to the root
21014         is inaccessible, and this is helpful in common cases such as .zfs
21015         hidden directories.  Problem reported by J Chapman Flack in
21016         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
21017         Use system getcwd if it's declared, not merely if it's partly
21018         working; use the partly-working test only to avoid needless effort
21019         if the system getcwd fails.
21020         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
21021         comment that was already obsolete and is now even more obsolete.
21022         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
21023         now might call strdup.
21024
21025 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
21026
21027         pthread: Add enough so that coreutils/src/sort.c compiles.
21028         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
21029         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
21030         gnulib. Include <sched.h> and <time.h>, as per POSIX.
21031         Include <sys/types.h>, in case it defines pthread_t.
21032         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
21033         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
21034         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
21035         (pthread_rwlockattr_t, pthread_spinlock_t):
21036         New typedefs, if HAVE_PTHREAD_T is not defined.
21037         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
21038         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
21039         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
21040         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
21041         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
21042         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
21043         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
21044         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
21045         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
21046         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
21047         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
21048         New macros.
21049         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
21050         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
21051         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
21052         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
21053         (pthread_spin_unlock): New dummy functions.
21054         (pthread_create): Return EAGAIN; don't set errno.
21055         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
21056         require AC_C_INLINE.
21057         * modules/pthread (Depends-on): Add sched, time.
21058         (pthread.h): Use AM_V_GEN.
21059
21060 2010-07-13  Bruno Haible  <bruno@clisp.org>
21061
21062         striconveh: Don't malloc memory if the result buffer is sufficient.
21063         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
21064         buffer if its size is sufficient.
21065         Reported by Ludovic Courtès <ludo@gnu.org>.
21066
21067 2010-07-13  Bruno Haible  <bruno@clisp.org>
21068
21069         strtod: Add safety check.
21070         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
21071
21072 2010-07-12  Bruno Haible  <bruno@clisp.org>
21073
21074         Unify tests that set gl_cv_func_ldexpl_no_libm.
21075         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
21076         gl_FUNC_LDEXPL.
21077         (gl_FUNC_LDEXPL): Invoke it.
21078         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21079
21080 2010-07-12  Bruno Haible  <bruno@clisp.org>
21081
21082         Unify tests that set gl_cv_func_ldexp_no_libm.
21083         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
21084         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
21085         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
21086         (configure.ac): Simply invoke gl_FUNC_LDEXP.
21087         * modules/strtod (Files): Add m4/ldexp.m4.
21088
21089 2010-07-12  Bruno Haible  <bruno@clisp.org>
21090
21091         Unify tests that set gl_cv_func_frexpl_no_libm.
21092         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
21093         gl_FUNC_FREXPL_NO_LIBM.
21094         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
21095         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21096
21097 2010-07-12  Bruno Haible  <bruno@clisp.org>
21098
21099         Unify tests that set gl_cv_func_frexp_no_libm.
21100         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
21101         gl_FUNC_FREXP_NO_LIBM.
21102         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
21103         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21104
21105 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21106
21107         memcoll: clarify sizes versus lengths, document better, and tweak perf
21108         * lib/memcoll.c (strcoll_loop, memcoll0):
21109         Improve quality of descriptive comments.  Name variables
21110         consistently as to whether they are lengths (which do not include
21111         terminating null) versus sizes (which do).
21112         * lib/xmemcoll.c (xmemcoll0): Likewise.
21113         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
21114         returned when s1size == 0; this is easier to compile and saves
21115         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
21116
21117 2010-07-12  Bruno Haible  <bruno@clisp.org>
21118
21119         Tests for module '_Exit'.
21120         * modules/_Exit-tests: New file.
21121         * tests/test-_Exit.sh: New file.
21122         * tests/test-_Exit.c: New file.
21123
21124         New module '_Exit'.
21125         * lib/stdlib.in.h (__attribute__): New macro.
21126         (_Exit): New declaration.
21127         * lib/_Exit.c: New file.
21128         * m4/_Exit.m4: New file.
21129         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
21130         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
21131         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
21132         * modules/_Exit: New file.
21133         * tests/test-stdlib-c++.cc (_Exit): Check signature.
21134         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
21135
21136 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21137
21138         strtod: make it more-accurate typically, and don't require libm
21139         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
21140         Include limits.h.  Don't include string.h.
21141         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
21142         (locale_isspace): New function, so that no casts are needed to
21143         check whether *s is a space.
21144         (ldexp): Provide an unused dummy if not available.
21145         (scale_radix_exp, parse_number, underlying_strtod): New functions.
21146         (strtod): Use them.  This implementation prefers to use the
21147         underlying strtod if available, falling back on our own code
21148         only to fix known bugs.  This is more likely to produce an
21149         accurate result.  Also, it avoids the use of libm functions.
21150         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
21151         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
21152         was absent, but it caused a test failure with coreutils.
21153         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
21154         with libm.
21155         * modules/strtod (Makefile.am, Link): libm is no longer needed.
21156         * modules/strtod-tests (Makefile.am): Likewise.
21157
21158 2010-07-11  Pádraig Brady  <P@draigBrady.com>
21159             Bruno Haible  <bruno@clisp.org>
21160
21161         unistr/u8-strchr: Optimize ASCII argument case.
21162         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
21163
21164 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21165
21166         (x)memcoll: minor tweaks
21167         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
21168         is after the type that it qualifies.
21169         (memcoll0): Likewise.
21170         * lib/memcoll.h (memcoll0): Likewise.
21171         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
21172         * lib/xmemcoll.h (xmemcoll0): Likewise.
21173         * lib/memcoll.c (memcoll0): Correct the comment.  This function
21174         differs from memcoll in that the NUL byte is part of the argument.
21175         Omit the abort-checks, as performance is a real issue here.  Plus,
21176         the checks were wrong anyway (an off-by-one error).  Omit local
21177         variable 'diff', as it's a bit clearer that way.
21178         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
21179         no longer needed.
21180
21181 2010-07-08  Chen Guo <chenguo4@yahoo.com>
21182
21183         (x)memcoll: speedup when input is known to be NUL delimited
21184         * lib/memcoll.c: Include stdlib.
21185         (memcoll0): New function.
21186         (strcoll_loop): New function, refactored for use in both memcoll
21187         and memcoll0.
21188         * lib/memcoll.h (memcoll0): Add prototype.
21189         * lib/xmemcoll.c (xmemcoll0): New function.
21190         (collate_error): New function, refactored for use in both xmemcoll
21191         and xmemcoll0.
21192         * lib/xmemcoll.h (xmemcoll0): Add prototype.
21193         * m4/memcoll.m4: add inline invocation.
21194
21195 2010-07-06  Pádraig Brady  <P@draigBrady.com>
21196
21197         * build-aux/bootstrap: Remove any local translations
21198         from the translation project synchronization directory,
21199         so that local only translations are not distributed.
21200
21201 2010-07-04  Bruno Haible  <bruno@clisp.org>
21202
21203         fsusage: Clarify which code applies to which platforms.
21204         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
21205         platform.
21206         * lib/fsusage.c (get_fs_usage): Likewise.
21207
21208 2010-07-04  Bruno Haible  <bruno@clisp.org>
21209
21210         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
21211         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
21212         Reported by Martin Lambers <marlam@marlam.de>.
21213
21214 2010-07-04  Jim Meyering  <meyering@redhat.com>
21215
21216         hash: once again explicitly disallow insertion of NULL
21217         * lib/hash.c (hash_insert0): Reinstate just-removed test:
21218         inserting a NULL pointer cannot work with these functions.
21219         Add a comment with details.
21220         This reverts part of the 2010-07-01 commit, 5bef1a35
21221         "hash: extend module to deal with non-pointer keys".
21222
21223 2010-07-01  Bruno Haible  <bruno@clisp.org>
21224
21225         stdbool: Update doc.
21226         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
21227         Info from Christian Weisgerber <naddy@mips.inka.de>.
21228
21229 2010-07-01  Jim Meyering  <meyering@redhat.com>
21230
21231         hash: extend module to deal with non-pointer keys
21232         * lib/hash.c (hash_insert0): New interface, much like hash_insert
21233         but that allows insertion of non-pointer entries.
21234         Do not disallow an ENTRY value of NULL.
21235         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
21236         * lib/hash.h (hash_insert0): Declare.
21237
21238 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21239
21240         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
21241         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
21242         not present (i.e. with autoconf 2.59 and when using gettextize, not
21243         gnulib), require AC_GNU_SOURCE instead.
21244
21245 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
21246
21247         idpriv-drop: Fix tests.
21248         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
21249         not to the test-idpriv-droptemp program.
21250
21251 2010-06-29  Bruno Haible  <bruno@clisp.org>
21252
21253         string: Fix syntax error with g++ 2.96.
21254         * lib/string.in.h (__pure__): Remove definition.
21255         (_GL_ATTRIBUTE_PURE): New macro.
21256         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
21257         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
21258         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21259
21260 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
21261
21262         unitypes: Fix bug introduced on 2010-05-18.
21263         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
21264
21265 2010-06-22  Eric Blake  <eblake@redhat.com>
21266
21267         memmem: slight optimization
21268         * lib/str-two-way.h (critical_factorization): Update comments.
21269         Reduce work during factorization phase.
21270         Reported by Carlos Bueno <carlos@bueno.org>.
21271
21272 2010-06-21  Bruno Haible  <bruno@clisp.org>
21273
21274         Fix HAVE_CALLOC_POSIX misnomer.
21275         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
21276         !HAVE_CALLOC_POSIX.
21277         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
21278         HAVE_CALLOC_POSIX.
21279         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
21280         instead of HAVE_CALLOC_POSIX.
21281         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
21282         HAVE_CALLOC_POSIX.
21283
21284         Use modern idiom for calloc() replacement.
21285         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
21286         AC_FUNC_CALLOC.
21287         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
21288         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
21289         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21290         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
21291         (gl_REPLACE_CALLOC): New macro.
21292
21293 2010-06-21  Bruno Haible  <bruno@clisp.org>
21294
21295         Fix HAVE_REALLOC_POSIX misnomer.
21296         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
21297         !HAVE_REALLOC_POSIX.
21298         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
21299         HAVE_REALLOC_POSIX.
21300         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
21301         instead of HAVE_REALLOC_POSIX.
21302         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
21303         HAVE_REALLOC_POSIX.
21304
21305         Use modern idiom for realloc() replacement.
21306         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
21307         AC_FUNC_REALLOC.
21308         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
21309         Autoconf's AC_FUNC_REALLOC.
21310         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21311         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
21312         (gl_REPLACE_REALLOC): New macro.
21313         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21314
21315 2010-06-21  Bruno Haible  <bruno@clisp.org>
21316
21317         Fix HAVE_MALLOC_POSIX misnomer.
21318         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
21319         !HAVE_MALLOC_POSIX.
21320         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
21321         HAVE_MALLOC_POSIX.
21322         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
21323         instead of HAVE_MALLOC_POSIX.
21324         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
21325         HAVE_MALLOC_POSIX.
21326
21327         Use modern idiom for malloc() replacement.
21328         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
21329         AC_FUNC_MALLOC.
21330         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
21331         Autoconf's AC_FUNC_MALLOC.
21332         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21333         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
21334         (gl_REPLACE_MALLOC): New macro.
21335         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21336
21337 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
21338
21339         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
21340         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
21341         This macro takes 3 arguments, not 4.
21342
21343 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
21344
21345         ipv6: fix detection under mingw
21346         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
21347         in6_addr.
21348
21349 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
21350
21351         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
21352         that strtod() works when cross-compiling to a glibc version known
21353         to work.
21354
21355 2010-06-15  Bruno Haible  <bruno@clisp.org>
21356
21357         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
21358
21359 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
21360
21361         select: Correct timeout.
21362         * lib/select.c (rpl_select): Compute wait_timeout correctly.
21363
21364 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21365
21366         git-version-gen: init shell var to avoid env var influence
21367         * build-aux/git-version-gen (v): Init shell var to empty.
21368
21369 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21370
21371         priv-set: Don't assume that priv.h exists merely because getppriv does.
21372         See Jan Andersen's bug report about AIX 5L in
21373         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
21374         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
21375         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
21376         * lib/priv-set.h: Likewise.
21377         * tests/test-priv-set.c: Likewise.
21378
21379 2010-06-13  Bruno Haible  <bruno@clisp.org>
21380
21381         relocatable: Make it easier to test whether to install wrappers.
21382         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
21383         RELOCATABLE_VIA_WRAPPER.
21384
21385 2010-06-13  Bruno Haible  <bruno@clisp.org>
21386
21387         gnulib-tool: Display specified modules and dependencies differently.
21388         * gnulib-tool (func_show_module_list): New function.
21389         (func_import, func_create_testdir): Invoke it.
21390         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21391
21392 2010-06-13  Bruno Haible  <bruno@clisp.org>
21393
21394         gnulib-tool: Align code of func_import and func_create_testdir.
21395         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
21396         specified_modules.
21397
21398 2010-06-12  Jim Meyering  <meyering@redhat.com>
21399
21400         test-inttostr: avoid spurious failure on Solaris 9
21401         * tests/test-inttostr.c (main): Skip the test when snprintf fails
21402         to accept "%ju".  Reported by Bruno Haible.
21403
21404 2010-06-11  Jim Meyering  <meyering@redhat.com>
21405
21406         test-sys_socket: mark variables as used more readably
21407         * tests/test-sys_socket.c (main): Mark otherwise unused variables
21408         as "used" explicitly via (void) statement casts.  This is more
21409         readable than using them in an artificial return expression.
21410         Suggestion from Bruno Haible.
21411
21412 2010-06-11  Bruno Haible  <bruno@clisp.org>
21413
21414         Avoid some more warnings from "gcc -Wwrite-strings".
21415         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
21416         to 'const char *'.
21417         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
21418         * tests/test-c-strcasestr.c (main): Likewise.
21419         * tests/test-mbscasestr1.c (main): Likewise.
21420         * tests/test-mbscasestr2.c (main): Likewise.
21421         * tests/test-memmem.c (main): Likewise.
21422         * tests/test-strstr.c (main): Likewise.
21423         * tests/test-strcasestr.c (main): Likewise.
21424
21425 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21426
21427         init.sh: change framework_failure_ to fail with status 99, not 1
21428         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
21429         automake's parallel-tests rule that this is an unexpected failure,
21430         even if the test is listed in XFAIL_TESTS.
21431
21432 2010-06-11  Jim Meyering  <meyering@redhat.com>
21433
21434         test-inttostr: avoid warnings about 4-6KB literal strings
21435         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
21436         Include "macros.h", for its definition of ASSERT.
21437         (CK): s/assert/ASSERT/
21438         * modules/inttostr-tests (Files): Add macros.h.
21439
21440         init.sh: don't use $ME_ or skip_ before they are defined
21441         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
21442         their first uses.  Also hoist their companions: warn_, fail_,
21443         framework_failure_, $stderr_fileno.  Prompted by a patch from
21444         Stefano Lattarini.
21445
21446         test-sys_socket: avoid set-but-not-used warnings from gcc
21447         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
21448         avoid warning about set-but-not-used variables.
21449
21450         test-xvasprintf: avoid 'const' discard warnings
21451         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
21452         "const" when assigning from literal strings.
21453         (test_xasprintf): Add "void" in function argument list to placate
21454         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
21455
21456         tests: avoid compilation warnings in argmatch and exclude tests...
21457         in packages that define ARGMATCH_DIE_DECL, like coreutils.
21458         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
21459         Since it always exits, declare with the "noreturn" attribute.
21460         * tests/test-argmatch.c: Likewise.
21461
21462         tests: avoid 'const' discard warnings in mbsstr tests
21463         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21464         * tests/test-mbsstr2.c (main): Likewise.
21465
21466         test-verify: avoid warning from gcc's -Wmissing-declarations
21467         * tests/test-verify.c (function): Declare to be static.
21468
21469         test-inttostr.c: include <string.h> for use of strcmp
21470         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21471
21472         test-linkat: avoid failed assertion on "other" architectures
21473         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21474         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21475         sparc: https://bugs.launchpad.net/bugs/591968
21476
21477 2010-06-11  Jim Meyering  <meyering@redhat.com>
21478
21479         printf.m4: avoid autoconf's "Expanded Before Required" warning
21480         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21481         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21482         autoconf warning.
21483
21484 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21485
21486         Replacement header templates are now named with ".in", not "_".
21487         * doc/gnulib-intro.texi: Correct.
21488
21489 2010-06-10  Jim Meyering  <meyering@redhat.com>
21490
21491         inttostr-tests: depend on snprintf, not snprintf-posix
21492         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21493         snprintf-posix, to avoid this aclocal failure:
21494           missing file gnulib-tests/vasnprintf.c
21495           configure.ac:45: error: expected source file, required through \
21496           AC_LIBSOURCES, not found
21497
21498 2010-06-10  Jim Meyering  <meyering@redhat.com>
21499
21500         inttostr: add a new function, inttostr, and tests
21501         The namesake function was not available.  The existence of the
21502         template file, inttostr.c makes its addition nontrivial.
21503         * lib/anytostr.c: Rename from inttostr.c.
21504         (anytostr): Rename from inttostr.
21505         * lib/inttostr.c: New file.
21506         * modules/inttostr (Files): Add anytostr.c.
21507         (Makefile.am): Set lib_SOURCES instead of ...
21508         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21509         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21510         * lib/offtostr.c: Likewise.
21511         * lib/uinttostr.c: Likewise.
21512         * lib/umaxtostr.c: Likewise.
21513         * modules/inttostr-tests: New file.
21514         * tests/test-inttostr.c: New file.  Test these functions.
21515
21516 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21517             Bruno Haible  <bruno@clisp.org>
21518
21519         Add "Extending Gnulib" chapter to manual.
21520         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21521         chapter.
21522         (Extending Gnulib): New chapter.
21523         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21524         chapter.
21525
21526 2010-06-09  Bruno Haible  <bruno@clisp.org>
21527
21528         Avoid relocwrapper link errors due to gnulib replacement functions.
21529         * lib/areadlink.c: Use the system's malloc, realloc functions.
21530         (areadlink): Set errno to ENOMEM explicitly.
21531         * modules/areadlink (Depends-on): Remove malloc-posix.
21532         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21533
21534 2010-06-09  Bruno Haible  <bruno@clisp.org>
21535
21536         Avoid relocwrapper link errors due to gnulib replacement functions.
21537         * lib/canonicalize-lgpl.c: Use the system's malloc function.
21538         * lib/malloca.c: Likewise.
21539         * lib/relocatable.c: Likewise.
21540         * lib/progreloc.c: Use the system's malloc, sprintf functions.
21541         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
21542         * lib/setenv.c: Use the system's malloc, realloc functions.
21543         * lib/strerror.c: Use the system's sprintf function.
21544         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21545
21546 2010-06-04  Bruno Haible  <bruno@clisp.org>
21547
21548         Prefer documented low-level autoconf macro names.
21549         * m4/lib-link.m4: Use m4_translit instead of translit.
21550         * m4/environ.m4: Likewise.
21551         * m4/mathfunc.m4: Likewise.
21552         * m4/onceonly.m4: Likewise.
21553         * m4/stdint.m4: Likewise.
21554         Suggested by Eric Blake.
21555
21556 2010-06-04  Martin Lambers  <marlam@marlam.de>
21557             Bruno Haible  <bruno@clisp.org>
21558
21559         havelib: Allow library names with '+' characters.
21560         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21561         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
21562
21563 2010-06-09  Bruno Haible  <bruno@clisp.org>
21564
21565         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
21566         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
21567         realloc failed.
21568
21569 2010-06-08  Peter Simons  <simons@cryp.to>
21570
21571         maint.mk: make the news-check rule more configurable
21572         * top/maint.mk (news-check-lines-spec): New variable.
21573         (news-check): Use "sed -n 1,10p" in place of "head".
21574
21575 2010-06-07  Jim Meyering  <meyering@redhat.com>
21576
21577         do-release-commit-and-tag: fix typo in --help
21578         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
21579
21580         regex: avoid new dead-code warning with gcc-4.6.0
21581         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
21582         if-block containing a while-loop.  It's been unused for at least
21583         5 years.
21584
21585 2010-06-05  Bruno Haible  <bruno@clisp.org>
21586
21587         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
21588         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
21589
21590 2010-06-04  Bruno Haible  <bruno@clisp.org>
21591
21592         Update to GNU gettext 0.18.1.
21593         * modules/gettext (configure.ac): Require gettext infrastructure from
21594         version 0.18.1.
21595
21596 2010-06-03  Bruno Haible  <bruno@clisp.org>
21597
21598         Don't use AC_LIBOBJ with file names in subdirectories.
21599         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
21600         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
21601         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
21602         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
21603         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
21604         gl_LIBUNISTRING_LIBSOURCE.
21605         (Makefile.am): Augment lib_SOURCES here, conditionally.
21606         * NEWS: Drop requirement for Automake option 'subdir-objects'.
21607
21608 2010-06-03  Bruno Haible  <bruno@clisp.org>
21609
21610         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
21611         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
21612         expansion does not end with a newline.
21613         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
21614         unnecessary newline.
21615
21616 2010-06-03  Bruno Haible  <bruno@clisp.org>
21617
21618         Reduce dependencies.
21619         * tests/test-quotearg.h: New file, extracted from
21620         tests/test-quotearg.c.
21621         * tests/test-quotearg-simple.c: New file, extracted from
21622         tests/test-quotearg.c.
21623         * tests/test-quotearg.c: Don't include <ctype.h>.
21624         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
21625         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
21626         use_quote_double_quotes, use_quotearg_colon): Moved to
21627         tests/test-quotearg.h.
21628         (results_g, flag_results, custom_quotes, custom_results): Moved
21629         to tests/test-quotearg-simple.c.
21630         (main): Moved the part that does not depend on gettext to
21631         tests/test-quotearg-simple.c. Return 77 if the test cannot be
21632         performed.
21633         * modules/quotearg-simple: New file.
21634         * modules/quotearg-simple-tests: New file.
21635         * modules/quotearg (Depends-on): Add quotearg-simple.
21636         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
21637         (Files): Add tests/test-quotearg.h.
21638         Reported by Paolo Bonzini.
21639
21640 2010-06-03  Bruno Haible  <bruno@clisp.org>
21641
21642         Reduce dependencies.
21643         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
21644
21645 2010-06-03  Bruno Haible  <bruno@clisp.org>
21646
21647         time: Undefine more broken macros.
21648         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
21649         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
21650         Reported by Eric Blake.
21651
21652 2010-06-03  Bruno Haible  <bruno@clisp.org>
21653
21654         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
21655         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
21656         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
21657         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
21658         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
21659         Reported by Ludovic Courtès <ludo@gnu.org>.
21660
21661 2010-06-02  Eric Blake  <eblake@redhat.com>
21662
21663         time: work with mingw + pthreads-win32 library
21664         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
21665         if timespec is defined only in pthread.h.
21666         * modules/time (Makefile.am): Substitute it.
21667         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
21668         <pthread.h>, when needed.
21669         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
21670         from the library.
21671
21672 2010-05-31  Bruno Haible  <bruno@clisp.org>
21673
21674         Avoid expanding two macros in the wrong order.
21675         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
21676         gl_LIBUNISTRING if it is defined.
21677         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
21678         autoconf >= 2.64.
21679         Reported by Ludovic Courtès <ludo@gnu.org>.
21680
21681 2010-05-27  Jim Meyering  <meyering@redhat.com>
21682
21683         maint.mk: also prohibit "#undef" of always-defined symbols
21684         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
21685         Allow more than one space before the symbol name.
21686         (sc_prohibit_always-defined_macros): Use grep's -E, now that
21687         the regexp uses alternation.
21688
21689 2010-05-26  Eric Blake  <eblake@redhat.com>
21690
21691         maint.mk: avoid echo -e
21692         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
21693         Convert all uses of echo -* to printf.
21694         Reported by Matthias Bolte.
21695
21696 2010-05-25  Bruno Haible  <bruno@clisp.org>
21697
21698         Update to GNU gettext 0.18, part 2.
21699         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
21700         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
21701
21702 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21703
21704         Add missing include in test-pwrite.c.
21705         * tests/test-pwrite.c: Include string.h, for strcmp.
21706
21707 2010-05-24  Bruno Haible  <bruno@clisp.org>
21708
21709         * NEWS: Mention requirement for Automake option 'subdir-objects'.
21710
21711 2010-05-24  Bruno Haible  <bruno@clisp.org>
21712
21713         Don't use conversion with transliteration in u{8,16,32}_strcoll.
21714         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
21715         iconveh_error argument.
21716         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
21717         U_STRCONV_TO_LOCALE.
21718         * lib/unistr/u16-strcoll.c: Likewise.
21719         * lib/unistr/u32-strcoll.c: Likewise.
21720         * modules/unistr/u8-strcoll (Depends-on): Add
21721         uniconv/u8-strconv-to-enc, localcharset. Remove
21722         uniconv/u8-strconv-to-locale.
21723         (configure.ac): Bump version number.
21724         * modules/unistr/u16-strcoll (Depends-on): Add
21725         uniconv/u16-strconv-to-enc, localcharset. Remove
21726         uniconv/u16-strconv-to-locale.
21727         (configure.ac): Bump version number.
21728         * modules/unistr/u32-strcoll (Depends-on): Add
21729         uniconv/u32-strconv-to-enc, localcharset. Remove
21730         uniconv/u32-strconv-to-locale.
21731         (configure.ac): Bump version number.
21732
21733 2010-05-24  Bruno Haible  <bruno@clisp.org>
21734
21735         Avoid a test failure on NetBSD 5.0.
21736         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
21737         an iconv() bug.
21738
21739 2010-05-24  Bruno Haible  <bruno@clisp.org>
21740
21741         Adjust #include directive style.
21742         * modules/regex (Includes): Recommend to write <regex.h>.
21743
21744 2010-05-24  Bruno Haible  <bruno@clisp.org>
21745
21746         regex: Don't require alloca.
21747         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
21748         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
21749         only inside if (0).
21750
21751 2010-05-23  Jim Meyering  <meyering@redhat.com>
21752
21753         test-renameat.c: include <sys/stat.h>
21754         * tests/test-renameat.c: Include <sys/stat.h>; required for
21755         definition of S_IS* macros.
21756
21757 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
21758
21759         Update maintainer documentation for 'relocatable-prog' module.
21760         * doc/relocatable-maint.texi: Update.
21761         Comments by Bruno Haible.
21762
21763 2010-05-23  Bruno Haible  <bruno@clisp.org>
21764
21765         git-merge-changelog: Enable --split-merged-entry by default.
21766         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
21767         (usage): Don't mention this option any more.
21768         Reported by Ralf Wildenhues.
21769
21770 2010-05-23  Jim Meyering  <meyering@redhat.com>
21771
21772         test-pwrite: do not leave behind a test file named "out"
21773         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
21774         The trivial-looking use of init.sh is really necessary.
21775         It ensures that the temporary file, "out", is created in
21776         a temporary directory, and removed upon termination.
21777         * tests/test-pwrite.sh: Re-add file.
21778         * modules/pwrite-tests: Reference it.
21779
21780 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21781
21782         Fix output redirection buglet in init.sh.
21783         * tests/init.sh: Fix redirection of stderr.
21784
21785 2010-05-20  Simon Josefsson  <simon@josefsson.org>
21786
21787         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
21788
21789 2010-05-17  Simon Josefsson  <simon@josefsson.org>
21790
21791         * modules/valgrind-tests: New file.
21792         * m4/valgrind-tests.m4: New file.
21793         * doc/valgrind-tests.texi: New file.
21794         * doc/gnulib.texi (Running self-tests under valgrind): New
21795         section.
21796
21797 2010-05-19  Bruno Haible  <bruno@clisp.org>
21798
21799         Clean up dead code in recent commit.
21800         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
21801         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
21802         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
21803         Suggested by Paolo Bonzini.
21804
21805 2010-05-19  Bruno Haible  <bruno@clisp.org>
21806
21807         Avoid valgrind error reports from libunistring.
21808         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
21809         * modules/libunistring (Files): Add it.
21810         * modules/libunistring-optional (Files): Likewise.
21811
21812 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
21813             Bruno Haible  <bruno@clisp.org>
21814
21815         New module 'libunistring-optional'.
21816         * modules/libunistring-optional: New file.
21817         * m4/libunistring-base.m4: New file.
21818         * m4/libunistring-optional.m4: New file.
21819         * lib/unicase.in.h: Renamed from lib/unicase.h.
21820         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
21821         * lib/unictype.in.h: Renamed from lib/unictype.h.
21822         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
21823         * lib/uniname.in.h: Renamed from lib/uniname.h.
21824         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
21825         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
21826         * lib/unistr.in.h: Renamed from lib/unistr.h.
21827         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
21828         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
21829         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
21830         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
21831         gl_LIBUNISTRING. If the library was found, determine the installed
21832         version and set LIBUNISTRING_VERSION.
21833         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
21834         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
21835         handle a configuration option --with-included-libunistring.
21836         * modules/libunistring (Files): Add m4/absolute-header.m4.
21837         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
21838         Add m4/libunistring-base.m4.
21839         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21840         (Makefile.am): Build unicase.h from unicase.in.h.
21841         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
21842         Add m4/libunistring-base.m4.
21843         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21844         (Makefile.am): Build uniconv.h from uniconv.in.h.
21845         * modules/unictype/base (Files): Use unictype.in.h instead of
21846         unictype.h. Add m4/libunistring-base.m4.
21847         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21848         (Makefile.am): Build unictype.h from unictype.in.h.
21849         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
21850         Add m4/libunistring-base.m4.
21851         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21852         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
21853         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
21854         Add m4/libunistring-base.m4.
21855         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21856         (Makefile.am): Build uniname.h from uniname.in.h.
21857         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
21858         Add m4/libunistring-base.m4.
21859         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21860         (Makefile.am): Build uninorm.h from uninorm.in.h.
21861         * modules/unistdio/base (Files): Use unistdio.in.h instead of
21862         unistdio.h. Add m4/libunistring-base.m4.
21863         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21864         (Makefile.am): Build unistdio.h from unistdio.in.h.
21865         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
21866         Add m4/libunistring-base.m4.
21867         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21868         (Makefile.am): Build unistr.h from unistr.in.h.
21869         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
21870         Add m4/libunistring-base.m4.
21871         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21872         (Makefile.am): Build unitypes.h from unitypes.in.h.
21873         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
21874         Add m4/libunistring-base.m4.
21875         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21876         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
21877         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
21878         uniwidth.h. Add m4/libunistring-base.m4.
21879         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21880         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
21881         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
21882         instead of augmenting lib_SOURCES.
21883         * modules/unicase/empty-suffix-context: Likewise.
21884         * modules/unicase/locale-language: Likewise.
21885         * modules/unicase/tolower: Likewise.
21886         * modules/unicase/totitle: Likewise.
21887         * modules/unicase/toupper: Likewise.
21888         * modules/unicase/u8-casecmp: Likewise.
21889         * modules/unicase/u8-casecoll: Likewise.
21890         * modules/unicase/u8-casefold: Likewise.
21891         * modules/unicase/u8-casexfrm: Likewise.
21892         * modules/unicase/u8-ct-casefold: Likewise.
21893         * modules/unicase/u8-ct-tolower: Likewise.
21894         * modules/unicase/u8-ct-totitle: Likewise.
21895         * modules/unicase/u8-ct-toupper: Likewise.
21896         * modules/unicase/u8-is-cased: Likewise.
21897         * modules/unicase/u8-is-casefolded: Likewise.
21898         * modules/unicase/u8-is-lowercase: Likewise.
21899         * modules/unicase/u8-is-titlecase: Likewise.
21900         * modules/unicase/u8-is-uppercase: Likewise.
21901         * modules/unicase/u8-prefix-context: Likewise.
21902         * modules/unicase/u8-suffix-context: Likewise.
21903         * modules/unicase/u8-tolower: Likewise.
21904         * modules/unicase/u8-totitle: Likewise.
21905         * modules/unicase/u8-toupper: Likewise.
21906         * modules/unicase/u16-casecmp: Likewise.
21907         * modules/unicase/u16-casecoll: Likewise.
21908         * modules/unicase/u16-casefold: Likewise.
21909         * modules/unicase/u16-casexfrm: Likewise.
21910         * modules/unicase/u16-ct-casefold: Likewise.
21911         * modules/unicase/u16-ct-tolower: Likewise.
21912         * modules/unicase/u16-ct-totitle: Likewise.
21913         * modules/unicase/u16-ct-toupper: Likewise.
21914         * modules/unicase/u16-is-cased: Likewise.
21915         * modules/unicase/u16-is-casefolded: Likewise.
21916         * modules/unicase/u16-is-lowercase: Likewise.
21917         * modules/unicase/u16-is-titlecase: Likewise.
21918         * modules/unicase/u16-is-uppercase: Likewise.
21919         * modules/unicase/u16-prefix-context: Likewise.
21920         * modules/unicase/u16-suffix-context: Likewise.
21921         * modules/unicase/u16-tolower: Likewise.
21922         * modules/unicase/u16-totitle: Likewise.
21923         * modules/unicase/u16-toupper: Likewise.
21924         * modules/unicase/u32-casecmp: Likewise.
21925         * modules/unicase/u32-casecoll: Likewise.
21926         * modules/unicase/u32-casefold: Likewise.
21927         * modules/unicase/u32-casexfrm: Likewise.
21928         * modules/unicase/u32-ct-casefold: Likewise.
21929         * modules/unicase/u32-ct-tolower: Likewise.
21930         * modules/unicase/u32-ct-totitle: Likewise.
21931         * modules/unicase/u32-ct-toupper: Likewise.
21932         * modules/unicase/u32-is-cased: Likewise.
21933         * modules/unicase/u32-is-casefolded: Likewise.
21934         * modules/unicase/u32-is-lowercase: Likewise.
21935         * modules/unicase/u32-is-titlecase: Likewise.
21936         * modules/unicase/u32-is-uppercase: Likewise.
21937         * modules/unicase/u32-prefix-context: Likewise.
21938         * modules/unicase/u32-suffix-context: Likewise.
21939         * modules/unicase/u32-tolower: Likewise.
21940         * modules/unicase/u32-totitle: Likewise.
21941         * modules/unicase/u32-toupper: Likewise.
21942         * modules/unicase/ulc-casecmp: Likewise.
21943         * modules/unicase/ulc-casecoll: Likewise.
21944         * modules/unicase/ulc-casexfrm: Likewise.
21945         * modules/uniconv/u8-conv-from-enc: Likewise.
21946         * modules/uniconv/u8-conv-to-enc: Likewise.
21947         * modules/uniconv/u8-strconv-from-enc: Likewise.
21948         * modules/uniconv/u8-strconv-from-locale: Likewise.
21949         * modules/uniconv/u8-strconv-to-enc: Likewise.
21950         * modules/uniconv/u8-strconv-to-locale: Likewise.
21951         * modules/uniconv/u16-conv-from-enc: Likewise.
21952         * modules/uniconv/u16-conv-to-enc: Likewise.
21953         * modules/uniconv/u16-strconv-from-enc: Likewise.
21954         * modules/uniconv/u16-strconv-from-locale: Likewise.
21955         * modules/uniconv/u16-strconv-to-enc: Likewise.
21956         * modules/uniconv/u16-strconv-to-locale: Likewise.
21957         * modules/uniconv/u32-conv-from-enc: Likewise.
21958         * modules/uniconv/u32-conv-to-enc: Likewise.
21959         * modules/uniconv/u32-strconv-from-enc: Likewise.
21960         * modules/uniconv/u32-strconv-from-locale: Likewise.
21961         * modules/uniconv/u32-strconv-to-enc: Likewise.
21962         * modules/uniconv/u32-strconv-to-locale: Likewise.
21963         * modules/unictype/bidicategory-byname: Likewise.
21964         * modules/unictype/bidicategory-name: Likewise.
21965         * modules/unictype/bidicategory-of: Likewise.
21966         * modules/unictype/bidicategory-test: Likewise.
21967         * modules/unictype/block-list: Likewise.
21968         * modules/unictype/block-test: Likewise.
21969         * modules/unictype/category-C: Likewise.
21970         * modules/unictype/category-Cc: Likewise.
21971         * modules/unictype/category-Cf: Likewise.
21972         * modules/unictype/category-Cn: Likewise.
21973         * modules/unictype/category-Co: Likewise.
21974         * modules/unictype/category-Cs: Likewise.
21975         * modules/unictype/category-L: Likewise.
21976         * modules/unictype/category-Ll: Likewise.
21977         * modules/unictype/category-Lm: Likewise.
21978         * modules/unictype/category-Lo: Likewise.
21979         * modules/unictype/category-Lt: Likewise.
21980         * modules/unictype/category-Lu: Likewise.
21981         * modules/unictype/category-M: Likewise.
21982         * modules/unictype/category-Mc: Likewise.
21983         * modules/unictype/category-Me: Likewise.
21984         * modules/unictype/category-Mn: Likewise.
21985         * modules/unictype/category-N: Likewise.
21986         * modules/unictype/category-Nd: Likewise.
21987         * modules/unictype/category-Nl: Likewise.
21988         * modules/unictype/category-No: Likewise.
21989         * modules/unictype/category-P: Likewise.
21990         * modules/unictype/category-Pc: Likewise.
21991         * modules/unictype/category-Pd: Likewise.
21992         * modules/unictype/category-Pe: Likewise.
21993         * modules/unictype/category-Pf: Likewise.
21994         * modules/unictype/category-Pi: Likewise.
21995         * modules/unictype/category-Po: Likewise.
21996         * modules/unictype/category-Ps: Likewise.
21997         * modules/unictype/category-S: Likewise.
21998         * modules/unictype/category-Sc: Likewise.
21999         * modules/unictype/category-Sk: Likewise.
22000         * modules/unictype/category-Sm: Likewise.
22001         * modules/unictype/category-So: Likewise.
22002         * modules/unictype/category-Z: Likewise.
22003         * modules/unictype/category-Zl: Likewise.
22004         * modules/unictype/category-Zp: Likewise.
22005         * modules/unictype/category-Zs: Likewise.
22006         * modules/unictype/category-and: Likewise.
22007         * modules/unictype/category-and-not: Likewise.
22008         * modules/unictype/category-byname: Likewise.
22009         * modules/unictype/category-name: Likewise.
22010         * modules/unictype/category-none: Likewise.
22011         * modules/unictype/category-of: Likewise.
22012         * modules/unictype/category-or: Likewise.
22013         * modules/unictype/category-test: Likewise.
22014         * modules/unictype/combining-class: Likewise.
22015         * modules/unictype/ctype-alnum: Likewise.
22016         * modules/unictype/ctype-alpha: Likewise.
22017         * modules/unictype/ctype-blank: Likewise.
22018         * modules/unictype/ctype-cntrl: Likewise.
22019         * modules/unictype/ctype-digit: Likewise.
22020         * modules/unictype/ctype-graph: Likewise.
22021         * modules/unictype/ctype-lower: Likewise.
22022         * modules/unictype/ctype-print: Likewise.
22023         * modules/unictype/ctype-punct: Likewise.
22024         * modules/unictype/ctype-space: Likewise.
22025         * modules/unictype/ctype-upper: Likewise.
22026         * modules/unictype/ctype-xdigit: Likewise.
22027         * modules/unictype/decimal-digit: Likewise.
22028         * modules/unictype/digit: Likewise.
22029         * modules/unictype/mirror: Likewise.
22030         * modules/unictype/numeric: Likewise.
22031         * modules/unictype/property-alphabetic: Likewise.
22032         * modules/unictype/property-ascii-hex-digit: Likewise.
22033         * modules/unictype/property-bidi-arabic-digit: Likewise.
22034         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
22035         * modules/unictype/property-bidi-block-separator: Likewise.
22036         * modules/unictype/property-bidi-boundary-neutral: Likewise.
22037         * modules/unictype/property-bidi-common-separator: Likewise.
22038         * modules/unictype/property-bidi-control: Likewise.
22039         * modules/unictype/property-bidi-embedding-or-override: Likewise.
22040         * modules/unictype/property-bidi-eur-num-separator: Likewise.
22041         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
22042         * modules/unictype/property-bidi-european-digit: Likewise.
22043         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
22044         * modules/unictype/property-bidi-left-to-right: Likewise.
22045         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
22046         * modules/unictype/property-bidi-other-neutral: Likewise.
22047         * modules/unictype/property-bidi-pdf: Likewise.
22048         * modules/unictype/property-bidi-segment-separator: Likewise.
22049         * modules/unictype/property-bidi-whitespace: Likewise.
22050         * modules/unictype/property-byname: Likewise.
22051         * modules/unictype/property-combining: Likewise.
22052         * modules/unictype/property-composite: Likewise.
22053         * modules/unictype/property-currency-symbol: Likewise.
22054         * modules/unictype/property-dash: Likewise.
22055         * modules/unictype/property-decimal-digit: Likewise.
22056         * modules/unictype/property-default-ignorable-code-point: Likewise.
22057         * modules/unictype/property-deprecated: Likewise.
22058         * modules/unictype/property-diacritic: Likewise.
22059         * modules/unictype/property-extender: Likewise.
22060         * modules/unictype/property-format-control: Likewise.
22061         * modules/unictype/property-grapheme-base: Likewise.
22062         * modules/unictype/property-grapheme-extend: Likewise.
22063         * modules/unictype/property-grapheme-link: Likewise.
22064         * modules/unictype/property-hex-digit: Likewise.
22065         * modules/unictype/property-hyphen: Likewise.
22066         * modules/unictype/property-id-continue: Likewise.
22067         * modules/unictype/property-id-start: Likewise.
22068         * modules/unictype/property-ideographic: Likewise.
22069         * modules/unictype/property-ids-binary-operator: Likewise.
22070         * modules/unictype/property-ids-trinary-operator: Likewise.
22071         * modules/unictype/property-ignorable-control: Likewise.
22072         * modules/unictype/property-iso-control: Likewise.
22073         * modules/unictype/property-join-control: Likewise.
22074         * modules/unictype/property-left-of-pair: Likewise.
22075         * modules/unictype/property-line-separator: Likewise.
22076         * modules/unictype/property-logical-order-exception: Likewise.
22077         * modules/unictype/property-lowercase: Likewise.
22078         * modules/unictype/property-math: Likewise.
22079         * modules/unictype/property-non-break: Likewise.
22080         * modules/unictype/property-not-a-character: Likewise.
22081         * modules/unictype/property-numeric: Likewise.
22082         * modules/unictype/property-other-alphabetic: Likewise.
22083         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
22084         * modules/unictype/property-other-grapheme-extend: Likewise.
22085         * modules/unictype/property-other-id-continue: Likewise.
22086         * modules/unictype/property-other-id-start: Likewise.
22087         * modules/unictype/property-other-lowercase: Likewise.
22088         * modules/unictype/property-other-math: Likewise.
22089         * modules/unictype/property-other-uppercase: Likewise.
22090         * modules/unictype/property-paired-punctuation: Likewise.
22091         * modules/unictype/property-paragraph-separator: Likewise.
22092         * modules/unictype/property-pattern-syntax: Likewise.
22093         * modules/unictype/property-pattern-white-space: Likewise.
22094         * modules/unictype/property-private-use: Likewise.
22095         * modules/unictype/property-punctuation: Likewise.
22096         * modules/unictype/property-quotation-mark: Likewise.
22097         * modules/unictype/property-radical: Likewise.
22098         * modules/unictype/property-sentence-terminal: Likewise.
22099         * modules/unictype/property-soft-dotted: Likewise.
22100         * modules/unictype/property-space: Likewise.
22101         * modules/unictype/property-terminal-punctuation: Likewise.
22102         * modules/unictype/property-test: Likewise.
22103         * modules/unictype/property-titlecase: Likewise.
22104         * modules/unictype/property-unassigned-code-value: Likewise.
22105         * modules/unictype/property-unified-ideograph: Likewise.
22106         * modules/unictype/property-uppercase: Likewise.
22107         * modules/unictype/property-variation-selector: Likewise.
22108         * modules/unictype/property-white-space: Likewise.
22109         * modules/unictype/property-xid-continue: Likewise.
22110         * modules/unictype/property-xid-start: Likewise.
22111         * modules/unictype/property-zero-width: Likewise.
22112         * modules/unictype/scripts: Likewise.
22113         * modules/unictype/syntax-c-ident: Likewise.
22114         * modules/unictype/syntax-c-whitespace: Likewise.
22115         * modules/unictype/syntax-java-ident: Likewise.
22116         * modules/unictype/syntax-java-whitespace: Likewise.
22117         * modules/unilbrk/u8-possible-linebreaks: Likewise.
22118         * modules/unilbrk/u8-width-linebreaks: Likewise.
22119         * modules/unilbrk/u16-possible-linebreaks: Likewise.
22120         * modules/unilbrk/u16-width-linebreaks: Likewise.
22121         * modules/unilbrk/u32-possible-linebreaks: Likewise.
22122         * modules/unilbrk/u32-width-linebreaks: Likewise.
22123         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
22124         * modules/unilbrk/ulc-width-linebreaks: Likewise.
22125         * modules/uniname/uniname: Likewise.
22126         * modules/uninorm/canonical-decomposition: Likewise.
22127         * modules/uninorm/composition: Likewise.
22128         * modules/uninorm/decomposing-form: Likewise.
22129         * modules/uninorm/decomposition: Likewise.
22130         * modules/uninorm/filter: Likewise.
22131         * modules/uninorm/nfc: Likewise.
22132         * modules/uninorm/nfd: Likewise.
22133         * modules/uninorm/nfkc: Likewise.
22134         * modules/uninorm/nfkd: Likewise.
22135         * modules/uninorm/u8-normalize: Likewise.
22136         * modules/uninorm/u8-normcmp: Likewise.
22137         * modules/uninorm/u8-normcoll: Likewise.
22138         * modules/uninorm/u8-normxfrm: Likewise.
22139         * modules/uninorm/u16-normalize: Likewise.
22140         * modules/uninorm/u16-normcmp: Likewise.
22141         * modules/uninorm/u16-normcoll: Likewise.
22142         * modules/uninorm/u16-normxfrm: Likewise.
22143         * modules/uninorm/u32-normalize: Likewise.
22144         * modules/uninorm/u32-normcmp: Likewise.
22145         * modules/uninorm/u32-normcoll: Likewise.
22146         * modules/uninorm/u32-normxfrm: Likewise.
22147         * modules/unistdio/u8-asnprintf: Likewise.
22148         * modules/unistdio/u8-asprintf: Likewise.
22149         * modules/unistdio/u8-snprintf: Likewise.
22150         * modules/unistdio/u8-sprintf: Likewise.
22151         * modules/unistdio/u8-u8-asnprintf: Likewise.
22152         * modules/unistdio/u8-u8-asprintf: Likewise.
22153         * modules/unistdio/u8-u8-snprintf: Likewise.
22154         * modules/unistdio/u8-u8-sprintf: Likewise.
22155         * modules/unistdio/u8-u8-vasnprintf: Likewise.
22156         * modules/unistdio/u8-u8-vasprintf: Likewise.
22157         * modules/unistdio/u8-u8-vsnprintf: Likewise.
22158         * modules/unistdio/u8-u8-vsprintf: Likewise.
22159         * modules/unistdio/u8-vasnprintf: Likewise.
22160         * modules/unistdio/u8-vasprintf: Likewise.
22161         * modules/unistdio/u8-vsnprintf: Likewise.
22162         * modules/unistdio/u8-vsprintf: Likewise.
22163         * modules/unistdio/u16-asnprintf: Likewise.
22164         * modules/unistdio/u16-asprintf: Likewise.
22165         * modules/unistdio/u16-snprintf: Likewise.
22166         * modules/unistdio/u16-sprintf: Likewise.
22167         * modules/unistdio/u16-u16-asnprintf: Likewise.
22168         * modules/unistdio/u16-u16-asprintf: Likewise.
22169         * modules/unistdio/u16-u16-snprintf: Likewise.
22170         * modules/unistdio/u16-u16-sprintf: Likewise.
22171         * modules/unistdio/u16-u16-vasnprintf: Likewise.
22172         * modules/unistdio/u16-u16-vasprintf: Likewise.
22173         * modules/unistdio/u16-u16-vsnprintf: Likewise.
22174         * modules/unistdio/u16-u16-vsprintf: Likewise.
22175         * modules/unistdio/u16-vasnprintf: Likewise.
22176         * modules/unistdio/u16-vasprintf: Likewise.
22177         * modules/unistdio/u16-vsnprintf: Likewise.
22178         * modules/unistdio/u16-vsprintf: Likewise.
22179         * modules/unistdio/u32-asnprintf: Likewise.
22180         * modules/unistdio/u32-asprintf: Likewise.
22181         * modules/unistdio/u32-snprintf: Likewise.
22182         * modules/unistdio/u32-sprintf: Likewise.
22183         * modules/unistdio/u32-u32-asnprintf: Likewise.
22184         * modules/unistdio/u32-u32-asprintf: Likewise.
22185         * modules/unistdio/u32-u32-snprintf: Likewise.
22186         * modules/unistdio/u32-u32-sprintf: Likewise.
22187         * modules/unistdio/u32-u32-vasnprintf: Likewise.
22188         * modules/unistdio/u32-u32-vasprintf: Likewise.
22189         * modules/unistdio/u32-u32-vsnprintf: Likewise.
22190         * modules/unistdio/u32-u32-vsprintf: Likewise.
22191         * modules/unistdio/u32-vasnprintf: Likewise.
22192         * modules/unistdio/u32-vasprintf: Likewise.
22193         * modules/unistdio/u32-vsnprintf: Likewise.
22194         * modules/unistdio/u32-vsprintf: Likewise.
22195         * modules/unistdio/ulc-asnprintf: Likewise.
22196         * modules/unistdio/ulc-asprintf: Likewise.
22197         * modules/unistdio/ulc-fprintf: Likewise.
22198         * modules/unistdio/ulc-snprintf: Likewise.
22199         * modules/unistdio/ulc-sprintf: Likewise.
22200         * modules/unistdio/ulc-vasnprintf: Likewise.
22201         * modules/unistdio/ulc-vasprintf: Likewise.
22202         * modules/unistdio/ulc-vfprintf: Likewise.
22203         * modules/unistdio/ulc-vsnprintf: Likewise.
22204         * modules/unistdio/ulc-vsprintf: Likewise.
22205         * modules/unistr/u8-check: Likewise.
22206         * modules/unistr/u8-chr: Likewise.
22207         * modules/unistr/u8-cmp: Likewise.
22208         * modules/unistr/u8-cmp2: Likewise.
22209         * modules/unistr/u8-cpy: Likewise.
22210         * modules/unistr/u8-cpy-alloc: Likewise.
22211         * modules/unistr/u8-endswith: Likewise.
22212         * modules/unistr/u8-mblen: Likewise.
22213         * modules/unistr/u8-mbsnlen: Likewise.
22214         * modules/unistr/u8-mbtouc: Likewise.
22215         * modules/unistr/u8-mbtouc-unsafe: Likewise.
22216         * modules/unistr/u8-mbtoucr: Likewise.
22217         * modules/unistr/u8-move: Likewise.
22218         * modules/unistr/u8-next: Likewise.
22219         * modules/unistr/u8-prev: Likewise.
22220         * modules/unistr/u8-set: Likewise.
22221         * modules/unistr/u8-startswith: Likewise.
22222         * modules/unistr/u8-stpcpy: Likewise.
22223         * modules/unistr/u8-stpncpy: Likewise.
22224         * modules/unistr/u8-strcat: Likewise.
22225         * modules/unistr/u8-strchr: Likewise.
22226         * modules/unistr/u8-strcmp: Likewise.
22227         * modules/unistr/u8-strcoll: Likewise.
22228         * modules/unistr/u8-strcpy: Likewise.
22229         * modules/unistr/u8-strcspn: Likewise.
22230         * modules/unistr/u8-strdup: Likewise.
22231         * modules/unistr/u8-strlen: Likewise.
22232         * modules/unistr/u8-strmblen: Likewise.
22233         * modules/unistr/u8-strmbtouc: Likewise.
22234         * modules/unistr/u8-strncat: Likewise.
22235         * modules/unistr/u8-strncmp: Likewise.
22236         * modules/unistr/u8-strncpy: Likewise.
22237         * modules/unistr/u8-strnlen: Likewise.
22238         * modules/unistr/u8-strpbrk: Likewise.
22239         * modules/unistr/u8-strrchr: Likewise.
22240         * modules/unistr/u8-strspn: Likewise.
22241         * modules/unistr/u8-strstr: Likewise.
22242         * modules/unistr/u8-strtok: Likewise.
22243         * modules/unistr/u8-to-u16: Likewise.
22244         * modules/unistr/u8-to-u32: Likewise.
22245         * modules/unistr/u8-uctomb: Likewise.
22246         * modules/unistr/u16-check: Likewise.
22247         * modules/unistr/u16-chr: Likewise.
22248         * modules/unistr/u16-cmp: Likewise.
22249         * modules/unistr/u16-cmp2: Likewise.
22250         * modules/unistr/u16-cpy: Likewise.
22251         * modules/unistr/u16-cpy-alloc: Likewise.
22252         * modules/unistr/u16-endswith: Likewise.
22253         * modules/unistr/u16-mblen: Likewise.
22254         * modules/unistr/u16-mbsnlen: Likewise.
22255         * modules/unistr/u16-mbtouc: Likewise.
22256         * modules/unistr/u16-mbtouc-unsafe: Likewise.
22257         * modules/unistr/u16-mbtoucr: Likewise.
22258         * modules/unistr/u16-move: Likewise.
22259         * modules/unistr/u16-next: Likewise.
22260         * modules/unistr/u16-prev: Likewise.
22261         * modules/unistr/u16-set: Likewise.
22262         * modules/unistr/u16-startswith: Likewise.
22263         * modules/unistr/u16-stpcpy: Likewise.
22264         * modules/unistr/u16-stpncpy: Likewise.
22265         * modules/unistr/u16-strcat: Likewise.
22266         * modules/unistr/u16-strchr: Likewise.
22267         * modules/unistr/u16-strcmp: Likewise.
22268         * modules/unistr/u16-strcoll: Likewise.
22269         * modules/unistr/u16-strcpy: Likewise.
22270         * modules/unistr/u16-strcspn: Likewise.
22271         * modules/unistr/u16-strdup: Likewise.
22272         * modules/unistr/u16-strlen: Likewise.
22273         * modules/unistr/u16-strmblen: Likewise.
22274         * modules/unistr/u16-strmbtouc: Likewise.
22275         * modules/unistr/u16-strncat: Likewise.
22276         * modules/unistr/u16-strncmp: Likewise.
22277         * modules/unistr/u16-strncpy: Likewise.
22278         * modules/unistr/u16-strnlen: Likewise.
22279         * modules/unistr/u16-strpbrk: Likewise.
22280         * modules/unistr/u16-strrchr: Likewise.
22281         * modules/unistr/u16-strspn: Likewise.
22282         * modules/unistr/u16-strstr: Likewise.
22283         * modules/unistr/u16-strtok: Likewise.
22284         * modules/unistr/u16-to-u32: Likewise.
22285         * modules/unistr/u16-to-u8: Likewise.
22286         * modules/unistr/u16-uctomb: Likewise.
22287         * modules/unistr/u32-check: Likewise.
22288         * modules/unistr/u32-chr: Likewise.
22289         * modules/unistr/u32-cmp: Likewise.
22290         * modules/unistr/u32-cmp2: Likewise.
22291         * modules/unistr/u32-cpy: Likewise.
22292         * modules/unistr/u32-cpy-alloc: Likewise.
22293         * modules/unistr/u32-endswith: Likewise.
22294         * modules/unistr/u32-mblen: Likewise.
22295         * modules/unistr/u32-mbsnlen: Likewise.
22296         * modules/unistr/u32-mbtouc: Likewise.
22297         * modules/unistr/u32-mbtouc-unsafe: Likewise.
22298         * modules/unistr/u32-mbtoucr: Likewise.
22299         * modules/unistr/u32-move: Likewise.
22300         * modules/unistr/u32-next: Likewise.
22301         * modules/unistr/u32-prev: Likewise.
22302         * modules/unistr/u32-set: Likewise.
22303         * modules/unistr/u32-startswith: Likewise.
22304         * modules/unistr/u32-stpcpy: Likewise.
22305         * modules/unistr/u32-stpncpy: Likewise.
22306         * modules/unistr/u32-strcat: Likewise.
22307         * modules/unistr/u32-strchr: Likewise.
22308         * modules/unistr/u32-strcmp: Likewise.
22309         * modules/unistr/u32-strcoll: Likewise.
22310         * modules/unistr/u32-strcpy: Likewise.
22311         * modules/unistr/u32-strcspn: Likewise.
22312         * modules/unistr/u32-strdup: Likewise.
22313         * modules/unistr/u32-strlen: Likewise.
22314         * modules/unistr/u32-strmblen: Likewise.
22315         * modules/unistr/u32-strmbtouc: Likewise.
22316         * modules/unistr/u32-strncat: Likewise.
22317         * modules/unistr/u32-strncmp: Likewise.
22318         * modules/unistr/u32-strncpy: Likewise.
22319         * modules/unistr/u32-strnlen: Likewise.
22320         * modules/unistr/u32-strpbrk: Likewise.
22321         * modules/unistr/u32-strrchr: Likewise.
22322         * modules/unistr/u32-strspn: Likewise.
22323         * modules/unistr/u32-strstr: Likewise.
22324         * modules/unistr/u32-strtok: Likewise.
22325         * modules/unistr/u32-to-u16: Likewise.
22326         * modules/unistr/u32-to-u8: Likewise.
22327         * modules/unistr/u32-uctomb: Likewise.
22328         * modules/uniwbrk/u8-wordbreaks: Likewise.
22329         * modules/uniwbrk/u16-wordbreaks: Likewise.
22330         * modules/uniwbrk/u32-wordbreaks: Likewise.
22331         * modules/uniwbrk/ulc-wordbreaks: Likewise.
22332         * modules/uniwbrk/wordbreak-property: Likewise.
22333         * modules/uniwidth/u8-strwidth: Likewise.
22334         * modules/uniwidth/u8-width: Likewise.
22335         * modules/uniwidth/u16-strwidth: Likewise.
22336         * modules/uniwidth/u16-width: Likewise.
22337         * modules/uniwidth/u32-strwidth: Likewise.
22338         * modules/uniwidth/u32-width: Likewise.
22339         * modules/uniwidth/width: Likewise.
22340         * modules/unicase/cased-tests (Makefile.am): Link all test programs
22341         with $(LIBUNISTRING).
22342         * modules/unicase/ignorable-tests: Likewise.
22343         * modules/unicase/locale-language-tests: Likewise.
22344         * modules/unicase/tolower-tests: Likewise.
22345         * modules/unicase/totitle-tests: Likewise.
22346         * modules/unicase/toupper-tests: Likewise.
22347         * modules/unicase/u8-casecmp-tests: Likewise.
22348         * modules/unicase/u8-casecoll-tests: Likewise.
22349         * modules/unicase/u8-casefold-tests: Likewise.
22350         * modules/unicase/u8-is-cased-tests: Likewise.
22351         * modules/unicase/u8-is-casefolded-tests: Likewise.
22352         * modules/unicase/u8-is-lowercase-tests: Likewise.
22353         * modules/unicase/u8-is-titlecase-tests: Likewise.
22354         * modules/unicase/u8-is-uppercase-tests: Likewise.
22355         * modules/unicase/u8-tolower-tests: Likewise.
22356         * modules/unicase/u8-totitle-tests: Likewise.
22357         * modules/unicase/u8-toupper-tests: Likewise.
22358         * modules/unicase/u16-casecmp-tests: Likewise.
22359         * modules/unicase/u16-casecoll-tests: Likewise.
22360         * modules/unicase/u16-casefold-tests: Likewise.
22361         * modules/unicase/u16-is-cased-tests: Likewise.
22362         * modules/unicase/u16-is-casefolded-tests: Likewise.
22363         * modules/unicase/u16-is-lowercase-tests: Likewise.
22364         * modules/unicase/u16-is-titlecase-tests: Likewise.
22365         * modules/unicase/u16-is-uppercase-tests: Likewise.
22366         * modules/unicase/u16-tolower-tests: Likewise.
22367         * modules/unicase/u16-totitle-tests: Likewise.
22368         * modules/unicase/u16-toupper-tests: Likewise.
22369         * modules/unicase/u32-casecmp-tests: Likewise.
22370         * modules/unicase/u32-casecoll-tests: Likewise.
22371         * modules/unicase/u32-casefold-tests: Likewise.
22372         * modules/unicase/u32-is-cased-tests: Likewise.
22373         * modules/unicase/u32-is-casefolded-tests: Likewise.
22374         * modules/unicase/u32-is-lowercase-tests: Likewise.
22375         * modules/unicase/u32-is-titlecase-tests: Likewise.
22376         * modules/unicase/u32-is-uppercase-tests: Likewise.
22377         * modules/unicase/u32-tolower-tests: Likewise.
22378         * modules/unicase/u32-totitle-tests: Likewise.
22379         * modules/unicase/u32-toupper-tests: Likewise.
22380         * modules/unicase/ulc-casecmp-tests: Likewise.
22381         * modules/unicase/ulc-casecoll-tests: Likewise.
22382         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
22383         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
22384         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
22385         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
22386         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
22387         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
22388         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
22389         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
22390         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
22391         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
22392         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
22393         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
22394         * modules/unictype/bidicategory-byname-tests: Likewise.
22395         * modules/unictype/bidicategory-name-tests: Likewise.
22396         * modules/unictype/bidicategory-of-tests: Likewise.
22397         * modules/unictype/bidicategory-test-tests: Likewise.
22398         * modules/unictype/block-list-tests: Likewise.
22399         * modules/unictype/block-of-tests: Likewise.
22400         * modules/unictype/block-test-tests: Likewise.
22401         * modules/unictype/category-C-tests: Likewise.
22402         * modules/unictype/category-Cc-tests: Likewise.
22403         * modules/unictype/category-Cf-tests: Likewise.
22404         * modules/unictype/category-Cn-tests: Likewise.
22405         * modules/unictype/category-Co-tests: Likewise.
22406         * modules/unictype/category-Cs-tests: Likewise.
22407         * modules/unictype/category-L-tests: Likewise.
22408         * modules/unictype/category-Ll-tests: Likewise.
22409         * modules/unictype/category-Lm-tests: Likewise.
22410         * modules/unictype/category-Lo-tests: Likewise.
22411         * modules/unictype/category-Lt-tests: Likewise.
22412         * modules/unictype/category-Lu-tests: Likewise.
22413         * modules/unictype/category-M-tests: Likewise.
22414         * modules/unictype/category-Mc-tests: Likewise.
22415         * modules/unictype/category-Me-tests: Likewise.
22416         * modules/unictype/category-Mn-tests: Likewise.
22417         * modules/unictype/category-N-tests: Likewise.
22418         * modules/unictype/category-Nd-tests: Likewise.
22419         * modules/unictype/category-Nl-tests: Likewise.
22420         * modules/unictype/category-No-tests: Likewise.
22421         * modules/unictype/category-P-tests: Likewise.
22422         * modules/unictype/category-Pc-tests: Likewise.
22423         * modules/unictype/category-Pd-tests: Likewise.
22424         * modules/unictype/category-Pe-tests: Likewise.
22425         * modules/unictype/category-Pf-tests: Likewise.
22426         * modules/unictype/category-Pi-tests: Likewise.
22427         * modules/unictype/category-Po-tests: Likewise.
22428         * modules/unictype/category-Ps-tests: Likewise.
22429         * modules/unictype/category-S-tests: Likewise.
22430         * modules/unictype/category-Sc-tests: Likewise.
22431         * modules/unictype/category-Sk-tests: Likewise.
22432         * modules/unictype/category-Sm-tests: Likewise.
22433         * modules/unictype/category-So-tests: Likewise.
22434         * modules/unictype/category-Z-tests: Likewise.
22435         * modules/unictype/category-Zl-tests: Likewise.
22436         * modules/unictype/category-Zp-tests: Likewise.
22437         * modules/unictype/category-Zs-tests: Likewise.
22438         * modules/unictype/category-and-not-tests: Likewise.
22439         * modules/unictype/category-and-tests: Likewise.
22440         * modules/unictype/category-byname-tests: Likewise.
22441         * modules/unictype/category-name-tests: Likewise.
22442         * modules/unictype/category-none-tests: Likewise.
22443         * modules/unictype/category-of-tests: Likewise.
22444         * modules/unictype/category-or-tests: Likewise.
22445         * modules/unictype/category-test-withtable-tests: Likewise.
22446         * modules/unictype/combining-class-tests: Likewise.
22447         * modules/unictype/ctype-alnum-tests: Likewise.
22448         * modules/unictype/ctype-alpha-tests: Likewise.
22449         * modules/unictype/ctype-blank-tests: Likewise.
22450         * modules/unictype/ctype-cntrl-tests: Likewise.
22451         * modules/unictype/ctype-digit-tests: Likewise.
22452         * modules/unictype/ctype-graph-tests: Likewise.
22453         * modules/unictype/ctype-lower-tests: Likewise.
22454         * modules/unictype/ctype-print-tests: Likewise.
22455         * modules/unictype/ctype-punct-tests: Likewise.
22456         * modules/unictype/ctype-space-tests: Likewise.
22457         * modules/unictype/ctype-upper-tests: Likewise.
22458         * modules/unictype/ctype-xdigit-tests: Likewise.
22459         * modules/unictype/decimal-digit-tests: Likewise.
22460         * modules/unictype/digit-tests: Likewise.
22461         * modules/unictype/mirror-tests: Likewise.
22462         * modules/unictype/numeric-tests: Likewise.
22463         * modules/unictype/property-alphabetic-tests: Likewise.
22464         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22465         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22466         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22467         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22468         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22469         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22470         * modules/unictype/property-bidi-control-tests: Likewise.
22471         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22472         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22473         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22474         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22475         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22476         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22477         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22478         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22479         * modules/unictype/property-bidi-pdf-tests: Likewise.
22480         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22481         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22482         * modules/unictype/property-byname-tests: Likewise.
22483         * modules/unictype/property-combining-tests: Likewise.
22484         * modules/unictype/property-composite-tests: Likewise.
22485         * modules/unictype/property-currency-symbol-tests: Likewise.
22486         * modules/unictype/property-dash-tests: Likewise.
22487         * modules/unictype/property-decimal-digit-tests: Likewise.
22488         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22489         * modules/unictype/property-deprecated-tests: Likewise.
22490         * modules/unictype/property-diacritic-tests: Likewise.
22491         * modules/unictype/property-extender-tests: Likewise.
22492         * modules/unictype/property-format-control-tests: Likewise.
22493         * modules/unictype/property-grapheme-base-tests: Likewise.
22494         * modules/unictype/property-grapheme-extend-tests: Likewise.
22495         * modules/unictype/property-grapheme-link-tests: Likewise.
22496         * modules/unictype/property-hex-digit-tests: Likewise.
22497         * modules/unictype/property-hyphen-tests: Likewise.
22498         * modules/unictype/property-id-continue-tests: Likewise.
22499         * modules/unictype/property-id-start-tests: Likewise.
22500         * modules/unictype/property-ideographic-tests: Likewise.
22501         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22502         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22503         * modules/unictype/property-ignorable-control-tests: Likewise.
22504         * modules/unictype/property-iso-control-tests: Likewise.
22505         * modules/unictype/property-join-control-tests: Likewise.
22506         * modules/unictype/property-left-of-pair-tests: Likewise.
22507         * modules/unictype/property-line-separator-tests: Likewise.
22508         * modules/unictype/property-logical-order-exception-tests: Likewise.
22509         * modules/unictype/property-lowercase-tests: Likewise.
22510         * modules/unictype/property-math-tests: Likewise.
22511         * modules/unictype/property-non-break-tests: Likewise.
22512         * modules/unictype/property-not-a-character-tests: Likewise.
22513         * modules/unictype/property-numeric-tests: Likewise.
22514         * modules/unictype/property-other-alphabetic-tests: Likewise.
22515         * modules/unictype/property-other-default-ignorable-code-point-tests:
22516         Likewise.
22517         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22518         * modules/unictype/property-other-id-continue-tests: Likewise.
22519         * modules/unictype/property-other-id-start-tests: Likewise.
22520         * modules/unictype/property-other-lowercase-tests: Likewise.
22521         * modules/unictype/property-other-math-tests: Likewise.
22522         * modules/unictype/property-other-uppercase-tests: Likewise.
22523         * modules/unictype/property-paired-punctuation-tests: Likewise.
22524         * modules/unictype/property-paragraph-separator-tests: Likewise.
22525         * modules/unictype/property-pattern-syntax-tests: Likewise.
22526         * modules/unictype/property-pattern-white-space-tests: Likewise.
22527         * modules/unictype/property-private-use-tests: Likewise.
22528         * modules/unictype/property-punctuation-tests: Likewise.
22529         * modules/unictype/property-quotation-mark-tests: Likewise.
22530         * modules/unictype/property-radical-tests: Likewise.
22531         * modules/unictype/property-sentence-terminal-tests: Likewise.
22532         * modules/unictype/property-soft-dotted-tests: Likewise.
22533         * modules/unictype/property-space-tests: Likewise.
22534         * modules/unictype/property-terminal-punctuation-tests: Likewise.
22535         * modules/unictype/property-test-tests: Likewise.
22536         * modules/unictype/property-titlecase-tests: Likewise.
22537         * modules/unictype/property-unassigned-code-value-tests: Likewise.
22538         * modules/unictype/property-unified-ideograph-tests: Likewise.
22539         * modules/unictype/property-uppercase-tests: Likewise.
22540         * modules/unictype/property-variation-selector-tests: Likewise.
22541         * modules/unictype/property-white-space-tests: Likewise.
22542         * modules/unictype/property-xid-continue-tests: Likewise.
22543         * modules/unictype/property-xid-start-tests: Likewise.
22544         * modules/unictype/property-zero-width-tests: Likewise.
22545         * modules/unictype/scripts-tests: Likewise.
22546         * modules/unictype/syntax-c-ident-tests: Likewise.
22547         * modules/unictype/syntax-c-whitespace-tests: Likewise.
22548         * modules/unictype/syntax-java-ident-tests: Likewise.
22549         * modules/unictype/syntax-java-whitespace-tests: Likewise.
22550         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
22551         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
22552         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
22553         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
22554         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
22555         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
22556         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
22557         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
22558         * modules/uniname/uniname-tests: Likewise.
22559         * modules/uninorm/canonical-decomposition-tests: Likewise.
22560         * modules/uninorm/compat-decomposition-tests: Likewise.
22561         * modules/uninorm/composition-tests: Likewise.
22562         * modules/uninorm/decomposing-form-tests: Likewise.
22563         * modules/uninorm/decomposition-tests: Likewise.
22564         * modules/uninorm/filter-tests: Likewise.
22565         * modules/uninorm/nfc-tests: Likewise.
22566         * modules/uninorm/nfd-tests: Likewise.
22567         * modules/uninorm/nfkc-tests: Likewise.
22568         * modules/uninorm/nfkd-tests: Likewise.
22569         * modules/uninorm/u8-normcmp-tests: Likewise.
22570         * modules/uninorm/u8-normcoll-tests: Likewise.
22571         * modules/uninorm/u16-normcmp-tests: Likewise.
22572         * modules/uninorm/u16-normcoll-tests: Likewise.
22573         * modules/uninorm/u32-normcmp-tests: Likewise.
22574         * modules/uninorm/u32-normcoll-tests: Likewise.
22575         * modules/unistdio/u8-asnprintf-tests: Likewise.
22576         * modules/unistdio/u8-vasnprintf-tests: Likewise.
22577         * modules/unistdio/u8-vasprintf-tests: Likewise.
22578         * modules/unistdio/u8-vsnprintf-tests: Likewise.
22579         * modules/unistdio/u8-vsprintf-tests: Likewise.
22580         * modules/unistdio/u16-asnprintf-tests: Likewise.
22581         * modules/unistdio/u16-vasnprintf-tests: Likewise.
22582         * modules/unistdio/u16-vasprintf-tests: Likewise.
22583         * modules/unistdio/u16-vsnprintf-tests: Likewise.
22584         * modules/unistdio/u16-vsprintf-tests: Likewise.
22585         * modules/unistdio/u32-asnprintf-tests: Likewise.
22586         * modules/unistdio/u32-vasnprintf-tests: Likewise.
22587         * modules/unistdio/u32-vasprintf-tests: Likewise.
22588         * modules/unistdio/u32-vsnprintf-tests: Likewise.
22589         * modules/unistdio/u32-vsprintf-tests: Likewise.
22590         * modules/unistdio/ulc-asnprintf-tests: Likewise.
22591         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
22592         * modules/unistdio/ulc-vasprintf-tests: Likewise.
22593         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
22594         * modules/unistdio/ulc-vsprintf-tests: Likewise.
22595         * modules/unistr/u8-check-tests: Likewise.
22596         * modules/unistr/u8-chr-tests: Likewise.
22597         * modules/unistr/u8-cmp-tests: Likewise.
22598         * modules/unistr/u8-cmp2-tests: Likewise.
22599         * modules/unistr/u8-cpy-alloc-tests: Likewise.
22600         * modules/unistr/u8-cpy-tests: Likewise.
22601         * modules/unistr/u8-mblen-tests: Likewise.
22602         * modules/unistr/u8-mbsnlen-tests: Likewise.
22603         * modules/unistr/u8-mbtouc-tests: Likewise.
22604         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
22605         * modules/unistr/u8-mbtoucr-tests: Likewise.
22606         * modules/unistr/u8-move-tests: Likewise.
22607         * modules/unistr/u8-next-tests: Likewise.
22608         * modules/unistr/u8-prev-tests: Likewise.
22609         * modules/unistr/u8-set-tests: Likewise.
22610         * modules/unistr/u8-stpcpy-tests: Likewise.
22611         * modules/unistr/u8-stpncpy-tests: Likewise.
22612         * modules/unistr/u8-strcat-tests: Likewise.
22613         * modules/unistr/u8-strcmp-tests: Likewise.
22614         * modules/unistr/u8-strcoll-tests: Likewise.
22615         * modules/unistr/u8-strcpy-tests: Likewise.
22616         * modules/unistr/u8-strdup-tests: Likewise.
22617         * modules/unistr/u8-strlen-tests: Likewise.
22618         * modules/unistr/u8-strmblen-tests: Likewise.
22619         * modules/unistr/u8-strmbtouc-tests: Likewise.
22620         * modules/unistr/u8-strncat-tests: Likewise.
22621         * modules/unistr/u8-strncmp-tests: Likewise.
22622         * modules/unistr/u8-strncpy-tests: Likewise.
22623         * modules/unistr/u8-strnlen-tests: Likewise.
22624         * modules/unistr/u8-to-u16-tests: Likewise.
22625         * modules/unistr/u8-to-u32-tests: Likewise.
22626         * modules/unistr/u8-uctomb-tests: Likewise.
22627         * modules/unistr/u16-check-tests: Likewise.
22628         * modules/unistr/u16-chr-tests: Likewise.
22629         * modules/unistr/u16-cmp-tests: Likewise.
22630         * modules/unistr/u16-cmp2-tests: Likewise.
22631         * modules/unistr/u16-cpy-alloc-tests: Likewise.
22632         * modules/unistr/u16-cpy-tests: Likewise.
22633         * modules/unistr/u16-mblen-tests: Likewise.
22634         * modules/unistr/u16-mbsnlen-tests: Likewise.
22635         * modules/unistr/u16-mbtouc-tests: Likewise.
22636         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
22637         * modules/unistr/u16-mbtoucr-tests: Likewise.
22638         * modules/unistr/u16-move-tests: Likewise.
22639         * modules/unistr/u16-next-tests: Likewise.
22640         * modules/unistr/u16-prev-tests: Likewise.
22641         * modules/unistr/u16-set-tests: Likewise.
22642         * modules/unistr/u16-stpcpy-tests: Likewise.
22643         * modules/unistr/u16-stpncpy-tests: Likewise.
22644         * modules/unistr/u16-strcat-tests: Likewise.
22645         * modules/unistr/u16-strcmp-tests: Likewise.
22646         * modules/unistr/u16-strcoll-tests: Likewise.
22647         * modules/unistr/u16-strcpy-tests: Likewise.
22648         * modules/unistr/u16-strdup-tests: Likewise.
22649         * modules/unistr/u16-strlen-tests: Likewise.
22650         * modules/unistr/u16-strmblen-tests: Likewise.
22651         * modules/unistr/u16-strmbtouc-tests: Likewise.
22652         * modules/unistr/u16-strncat-tests: Likewise.
22653         * modules/unistr/u16-strncmp-tests: Likewise.
22654         * modules/unistr/u16-strncpy-tests: Likewise.
22655         * modules/unistr/u16-strnlen-tests: Likewise.
22656         * modules/unistr/u16-to-u32-tests: Likewise.
22657         * modules/unistr/u16-to-u8-tests: Likewise.
22658         * modules/unistr/u16-uctomb-tests: Likewise.
22659         * modules/unistr/u32-check-tests: Likewise.
22660         * modules/unistr/u32-chr-tests: Likewise.
22661         * modules/unistr/u32-cmp-tests: Likewise.
22662         * modules/unistr/u32-cmp2-tests: Likewise.
22663         * modules/unistr/u32-cpy-alloc-tests: Likewise.
22664         * modules/unistr/u32-cpy-tests: Likewise.
22665         * modules/unistr/u32-mblen-tests: Likewise.
22666         * modules/unistr/u32-mbsnlen-tests: Likewise.
22667         * modules/unistr/u32-mbtouc-tests: Likewise.
22668         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
22669         * modules/unistr/u32-mbtoucr-tests: Likewise.
22670         * modules/unistr/u32-move-tests: Likewise.
22671         * modules/unistr/u32-next-tests: Likewise.
22672         * modules/unistr/u32-prev-tests: Likewise.
22673         * modules/unistr/u32-set-tests: Likewise.
22674         * modules/unistr/u32-stpcpy-tests: Likewise.
22675         * modules/unistr/u32-stpncpy-tests: Likewise.
22676         * modules/unistr/u32-strcat-tests: Likewise.
22677         * modules/unistr/u32-strcmp-tests: Likewise.
22678         * modules/unistr/u32-strcoll-tests: Likewise.
22679         * modules/unistr/u32-strcpy-tests: Likewise.
22680         * modules/unistr/u32-strdup-tests: Likewise.
22681         * modules/unistr/u32-strlen-tests: Likewise.
22682         * modules/unistr/u32-strmblen-tests: Likewise.
22683         * modules/unistr/u32-strmbtouc-tests: Likewise.
22684         * modules/unistr/u32-strncat-tests: Likewise.
22685         * modules/unistr/u32-strncmp-tests: Likewise.
22686         * modules/unistr/u32-strncpy-tests: Likewise.
22687         * modules/unistr/u32-strnlen-tests: Likewise.
22688         * modules/unistr/u32-to-u16-tests: Likewise.
22689         * modules/unistr/u32-to-u8-tests: Likewise.
22690         * modules/unistr/u32-uctomb-tests: Likewise.
22691         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
22692         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
22693         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
22694         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
22695         * modules/uniwidth/u8-strwidth-tests: Likewise.
22696         * modules/uniwidth/u8-width-tests: Likewise.
22697         * modules/uniwidth/u16-strwidth-tests: Likewise.
22698         * modules/uniwidth/u16-width-tests: Likewise.
22699         * modules/uniwidth/u32-strwidth-tests: Likewise.
22700         * modules/uniwidth/u32-width-tests: Likewise.
22701         * modules/uniwidth/width-tests: Likewise.
22702
22703 2010-05-18  Richard Jones  <rjones@redhat.com>
22704
22705         doc: users.txt: list hivex
22706         * users.txt: Add hivex.
22707
22708 2010-05-18  Richard Jones  <rjones@redhat.com>
22709
22710         doc: users.txt: list febootstrap
22711         * users.txt: Add febootstrap.
22712
22713 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
22714
22715         bootstrap: fix an error when gnulib is not used as a git submodule
22716         * build-aux/bootstrap (gnulib_path): If its length is zero then
22717         assign "gnulib" to it.
22718         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
22719
22720 2010-05-16  Bruno Haible  <bruno@clisp.org>
22721
22722         Avoid autoconf warnings about AM_ICONV.
22723         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
22724         2.64.
22725
22726 2010-05-16  Bruno Haible  <bruno@clisp.org>
22727
22728         absolute-header: Make the macro usable in more situations.
22729         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
22730         from gl_ABSOLUTE_HEADER.
22731         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
22732
22733 2010-05-16  James Youngman  <jay@gnu.org>
22734
22735         doc: update users.txt
22736         * users.txt: Add CSSC.
22737
22738 2010-05-16  Jim Meyering  <meyering@redhat.com>
22739
22740         init.sh: fix an error in the previous change; add more comments
22741         * tests/init.sh: Compare exit code in loop against 9, not 2.
22742         Patch by Bruno Haible.
22743         Make the two tests more similar by adding an empty "then" clause.
22744         Add comments.
22745
22746         init.sh: avoid unnecessary shell re-exec
22747         * tests/init.sh: Improve the re-exec-required check to first test the
22748         current shell.  If it passes the test, do not search for a shell that
22749         does pass, and do not re-exec.  This test is particularly contorted to
22750         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
22751         of $(...) evokes a syntax error and causes immediate shell exit with
22752         status 2.  Bruno Haible reported that the re-exec made it impossible
22753         to single-step through any init.sh-using script.
22754
22755 2010-05-16  Bruno Haible  <bruno@clisp.org>
22756
22757         Fix collision between gnulib's and libintl's printf replacements.
22758         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
22759         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
22760         (printf): When using GNU C, map the __printf__ function to rpl_printf
22761         via __asm__. When not using GNU C, define rpl_printf instead of
22762         __printf__.
22763         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
22764         commit.
22765         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
22766         commit.
22767         * m4/asm-underscore.m4: New file.
22768         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
22769         * modules/stdio (Files): Add m4/asm-underscore.m4.
22770         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
22771         Reported by Ben Pfaff.
22772
22773 2010-05-16  Bruno Haible  <bruno@clisp.org>
22774
22775         verify: Avoid skipping the test on openSUSE 11.0.
22776         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
22777
22778 2010-05-13  Bruno Haible  <bruno@clisp.org>
22779
22780         Avoid useless warnings from G++.
22781         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
22782         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
22783         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22784
22785 2010-05-11  Jim Meyering  <meyering@redhat.com>
22786
22787         maint.mk: tweak preceding change
22788         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
22789         regexps tighter by anchoring at EOL, and make the new group "shy"
22790         for slightly decreased overhead.
22791
22792 2010-05-11  Eric Blake  <eblake@redhat.com>
22793
22794         maint.mk: gnulib doesn't guarantee NSIG
22795         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
22796
22797 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22798
22799         test-pwrite.c: Remove unused variable declaration.
22800         * tests/test-pwrite.c (main): Remove read_buf declaration.
22801
22802         Remove useless test-pwrite.sh file.
22803         * tests/test-pwrite.sh: Delete file.
22804         * modules/pwrite-tests: Remove references.
22805         Reported by Bruno Haible.
22806
22807 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22808
22809         init.sh: fix a typo
22810         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
22811
22812 2010-05-10  Jim Meyering  <meyering@redhat.com>
22813
22814         maint.mk: avoid using a temporary file in the always-defined-macros check
22815         * top/maint.mk (.re-defmac): Remove rule.
22816         (gl_trap_): Remove definition.
22817         (sc_prohibit_always-defined_macros): Rewrite not to create and
22818         depend on a temporary file.  Instead, depend on GNU grep's ability
22819         to read a list of regular expressions from stdin when given "-f -".
22820
22821 2010-05-09  Bruno Haible  <bruno@clisp.org>
22822
22823         Update to GNU gettext 0.18, part 1.
22824         * m4/gettext.m4: Update to GNU gettext 0.18.
22825         * m4/intl.m4: Likewise.
22826         * m4/po.m4: Likewise.
22827         * modules/gettext (Files): Add m4/fcntl-o.m4.
22828         (configure.ac): Require gettext infrastructure from version 0.18.
22829
22830 2010-05-09  Jim Meyering  <meyering@redhat.com>
22831
22832         init.sh: enable MALLOC_PERTURB_
22833         * tests/init.sh: Enable glibc's malloc-perturbing option.
22834
22835         maint.mk: improve sc_cross_check_PATH_usage_in_tests
22836         With my recent change in init.sh from the two-line form:
22837             -#   : ${srcdir=.}
22838             -#   . "$srcdir/init.sh"; path_prepend_ .
22839             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
22840         I noticed that using the one-line form would cause this test
22841         to fail with a false-positive, or to stop working altogether,
22842         depending on whether help-version changed or all the tests did.
22843         * top/maint.mk (_hv_regex): Remove this definition.
22844         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
22845         (_hv_regex_strong): Use a stronger regex to check for conformance.
22846         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
22847         Give a separate diagnostic for lack of conforming use.
22848
22849         maint.mk: prohibit definition of symbols defined by gnulib
22850         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
22851         definition of symbols defined by gnulib.
22852
22853 2010-05-09  Bruno Haible  <bruno@clisp.org>
22854
22855         acl: Avoid test failure on Cygwin-hosted mingw.
22856         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
22857
22858 2010-05-09  Bruno Haible  <bruno@clisp.org>
22859
22860         error: Use system's fcntl function.
22861         * lib/error.c (fcntl): Undefine.
22862
22863 2010-05-09  Jim Meyering  <meyering@redhat.com>
22864
22865         verify: adjust formatting to be more consistent
22866         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
22867         argument-list '('s, and after one comma.
22868
22869 2010-05-09  Bruno Haible  <bruno@clisp.org>
22870
22871         error: More reliable output on mingw.
22872         * lib/error.c: Include <windows.h>.
22873         (is_open): New function.
22874         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
22875         defined.
22876
22877 2010-05-09  Bruno Haible  <bruno@clisp.org>
22878
22879         vasnprintf: Fix syntax errors in libintl build on mingw.
22880         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
22881         pad_ourselves and prec_ourselves after use.
22882
22883 2010-05-08  Bruno Haible  <bruno@clisp.org>
22884
22885         * lib/config.charset: Update comments for Cygwin 1.7.
22886         * lib/localcharset.c: Likewise.
22887
22888 2010-05-07  Jim Meyering  <meyering@redhat.com>
22889
22890         init.sh: improve comments
22891         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
22892         . "${srcdir=.}/init.sh"; path_prepend_ .
22893         Add a note about path_prepend_ and the alternative of using
22894         TESTS_ENVIRONMENT.
22895
22896 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
22897
22898         exclude: Unescape hashed patterns in wildcard mode.
22899         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
22900         to the hash list.
22901         * tests/test-exclude8.sh: New test case.
22902         * modules/exclude-tests: Add new test.
22903
22904 2010-05-05  Eric Blake  <eblake@redhat.com>
22905
22906         verify: automate tests
22907         * modules/verify-tests: New module.
22908         * tests/test-verify.sh: New file.
22909         * tests/test-verify.c: Guard each negative test with a unique id.
22910         Also avoid warning about unused left hand of comma expressions.
22911
22912 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
22913
22914         Further improvements to verify.h, suggested by Eric Blake.
22915         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
22916         the GL_* versions, to avoid collision with OpenGL.
22917         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
22918         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
22919         than testing merely whether it's defined.
22920
22921         Modify verify.h to pacify gcc -Wredundant_decls.
22922         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
22923         These use the prefix "GL_" since they're likely to be useful elsewhere.
22924         We may need to break them out into a different .h file.
22925         (__COUNTER__): Define to 0 if the compiler doesn't support it.
22926         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
22927         of verify_function__.
22928
22929 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22930
22931         Tests for module pwrite.
22932         * modules/pwrite-tests: New file.
22933         * tests/test-pwrite.sh: New file.
22934         * tests/test-pwrite.c: New file.
22935
22936         New module pwrite.
22937         * lib/unistd.in.h (pwrite): New declaration.
22938         * lib/pwrite.c: New file, from glibc with modifications.
22939         * m4/pwrite.m4: New file.
22940         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
22941         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
22942         REPLACE_PWRITE.
22943         * modules/pwrite: New file.
22944         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
22945         REPLACE_PWRITE.
22946         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
22947         * doc/posix-functions/pwrite.texi: Mention the new module.
22948
22949 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22950
22951         pread: Update documentation.
22952         * doc/posix-functions/pread.texi: Mention the 'pread' module.
22953
22954 2010-05-04  Eric Blake  <eblake@redhat.com>
22955
22956         docs: update cygwin progress
22957         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
22958         this bug.
22959         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
22960         Added in cygwin 1.7.2.
22961         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
22962         Likewise.
22963         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
22964         Likewise.
22965         * doc/glibc-functions/dup3.texi (dup3): Likewise.
22966         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
22967         * doc/glibc-functions/accept4.texi (accept4): Likewise.
22968         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
22969         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
22970         Mention nproc module.
22971         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
22972         bug in cygwin 1.7.5 addition.
22973         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
22974         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
22975         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
22976         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
22977         1.7.5.
22978         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
22979         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
22980         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
22981         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
22982         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
22983         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
22984         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
22985         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
22986         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
22987         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
22988         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
22989         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
22990         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
22991         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
22992         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
22993         Likewise.
22994         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
22995         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
22996         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
22997         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
22998         Likewise.
22999         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
23000         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
23001         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
23002         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
23003         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
23004         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
23005         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
23006         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
23007         Likewise.
23008         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
23009         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
23010         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
23011         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
23012         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
23013         Likewise.
23014         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
23015         Likewise.
23016         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
23017         Likewise.
23018         * doc/glibc-functions/xdrrec_endofrecord.texi
23019         (xdrrec_endofrecord): Likewise.
23020         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
23021         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
23022         Likewise.
23023         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
23024         Likewise.
23025
23026 2010-05-04  Jim Meyering  <meyering@redhat.com>
23027
23028         gendocs.sh: make its "-s FILE" option more useful
23029         * build-aux/gendocs.sh: When honoring the -s FILE option, update
23030         $PACKAGE to reflect the probably-different basename of "FILE".
23031
23032 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
23033
23034         bootstrap: don't ignore download_po_files failure
23035         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
23036         failure.
23037
23038 2010-05-03  Jim Meyering  <meyering@redhat.com>
23039
23040         maint.mk: allow to pass options to gendocs.sh
23041         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
23042         (gendocs_options_): New overridable variable.
23043
23044         gnu-web-doc-update: don't ignore configure or build failure
23045         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
23046
23047         announce-gen: backslash-escape '@'s in --help output
23048         * build-aux/announce-gen: Fix syntax errors.
23049
23050         maint.mk, announce-gen: allow project-specific announcement mail headers
23051         * top/maint.mk (translation_project_): Define default.
23052         (announcement_Cc_, announcement_mail_headers_): Likewise.
23053         (announcement): Invoke announce-gen with new --mail-headers option.
23054         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
23055
23056         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
23057         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
23058         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
23059         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
23060         line in the "err2" output file when running "make check" in verbose
23061         mode (i.e., with set -x enabled).
23062
23063 2010-05-03  Bruno Haible  <bruno@clisp.org>
23064
23065         wctob: Fix for weird platforms.
23066         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
23067         argument value.
23068
23069 2010-05-03  Jim Meyering  <meyering@redhat.com>
23070
23071         maint.mk: prohibit unwarranted use of <strings.h>
23072         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
23073         strings.h in a file that does not also use strcasecmp, strncasecmp,
23074         ffs or ffsll.
23075
23076         maint.mk: remove obsolete comments
23077         * top/maint.mk: Remove stale, commented-out rules.
23078
23079 2010-05-02  Bruno Haible  <bruno@clisp.org>
23080
23081         wcwidth: Declare also when it's aliased.
23082         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
23083         macro.
23084
23085 2010-05-02  Bruno Haible  <bruno@clisp.org>
23086
23087         Fix regression from 2010-04-25.
23088         * gnulib-tool (func_modules_transitive_closure): Check the status of
23089         all modules, not only of the tests that are of the form foo-tests where
23090         foo is a module.
23091
23092 2010-05-02  Bruno Haible  <bruno@clisp.org>
23093
23094         wctob: Work around nasty Cygwin 1.7.2 bug.
23095         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
23096         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
23097
23098 2010-05-01  Bruno Haible  <bruno@clisp.org>
23099
23100         fpurge: Sharper test.
23101         * tests/test-fpurge.c (main): Add one more ftell check.
23102         * modules/fpurge-tests (Depends-on): Add ftell.
23103         Suggested by Eric Blake.
23104
23105 2010-05-01  Bruno Haible  <bruno@clisp.org>
23106
23107         ftello: Another test.
23108         * tests/test-ftello3.c: New file.
23109         * modules/ftello-tests (Files): Add it.
23110         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23111         MOSTLYCLEANFILES.
23112
23113         ftell: Another test.
23114         * tests/test-ftell3.c: New file.
23115         * modules/ftell-tests (Files): Add it.
23116         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23117         MOSTLYCLEANFILES.
23118
23119 2010-05-01  Bruno Haible  <bruno@clisp.org>
23120
23121         ftell, ftello: Work around Solaris bug.
23122         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
23123         * lib/ftello.c: Include stdio-impl.h.
23124         (ftello): On Solaris, when _IOWRT is set, compute the result without
23125         looking at _IOREAD.
23126         * modules/ftello (Files): Add lib/stdio-impl.h.
23127         * doc/posix-functions/ftell.texi: Mention Solaris bug.
23128         * doc/posix-functions/ftello.texi: Likewise.
23129         Reported by Eric Blake.
23130
23131 2010-05-01  Bruno Haible  <bruno@clisp.org>
23132
23133         freading: Adapt to special meaning of _IOREAD flag on Solaris.
23134         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
23135         the _IOWRT flag is also set.
23136
23137 2010-05-01  Bruno Haible  <bruno@clisp.org>
23138
23139         Fix doc about a HP-UX stdio bug.
23140         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
23141         * doc/posix-functions/ftello.texi: Likewise.
23142
23143 2010-05-01  Bruno Haible  <bruno@clisp.org>
23144
23145         lseek test: Fix failure on Solaris.
23146         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
23147         output.
23148
23149 2010-04-30  Jim Meyering  <meyering@redhat.com>
23150
23151         bootstrap: don't ignore failure to generate po*/Makevars
23152         * build-aux/bootstrap (with_gettext): Don't ignore failure
23153         to create po/Makevars or runtime-po/Makevars.
23154
23155 2010-04-29  Eric Blake  <eblake@redhat.com>
23156
23157         headers: relax license to LGPLv2+
23158         * modules/fcntl-h (License): Relax license.
23159         * modules/getopt-posix (License): Likewise.
23160         * modules/locale (License): Likewise.
23161         * modules/math (License): Likewise.
23162         * modules/pty (License): Likewise.
23163         * modules/sched (License): Likewise.
23164         * modules/search (License): Likewise.
23165         * modules/spawn (License): Likewise.
23166         * modules/stdarg (License): Likewise.
23167         * modules/sysexits (License): Likewise.
23168
23169 2010-04-29  Jim Meyering  <meyering@redhat.com>
23170
23171         inttypes: relax license to LGPLv2+
23172         * modules/inttypes (License): Relax license.
23173
23174 2010-04-29  Simon Josefsson  <simon@josefsson.org>
23175
23176         * top/maint.mk (indent): Run twice to produce idempotent results.
23177
23178 2010-04-28  Bruno Haible  <bruno@clisp.org>
23179
23180         getdate: Generate getdate.c in the source directory.
23181         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
23182         MOSTLYCLEANFILES.
23183         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
23184
23185 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
23186
23187         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
23188         is not declared as a const *; avoid warnings in that case.
23189
23190 2010-04-28  Eric Blake  <eblake@redhat.com>
23191
23192         canonicalize-lgpl: avoid compiler warning
23193         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
23194         declaration' / 'extraneous semicolon' warning with some compilers.
23195         Reported by Andreas Gruenbacher.
23196
23197 2010-04-28  Jim Meyering  <meyering@redhat.com>
23198
23199         init.sh: ensure a more reliable exit status when exiting via trap
23200         * tests/init.sh (setup_): Don't rely on $? in signal handler.
23201         Inspired by patches from Dmitry V. Levin.
23202         Also trap on signal 3 (SIGQUIT).
23203
23204 2010-04-27  Bruno Haible  <bruno@clisp.org>
23205
23206         Update doc about utimes().
23207         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
23208         'utimens' module.
23209         Reported by Andreas Gruenbacher <agruen@suse.de>.
23210
23211 2010-04-27  Eric Blake  <eblake@redhat.com>
23212
23213         full-read, full-write: relax license
23214         * modules/full-read (License): Drop to LGPLv2+.
23215         * modules/full-write (License): Likewise.
23216         * modules/safe-read (License): Likewise.
23217         * modules/safe-write (License): Likewise.
23218
23219         pthread: mention library for linking
23220         * modules/pthread (Link): Mention $(LIB_PTHREAD).
23221
23222 2010-04-27  Jim Meyering  <meyering@redhat.com>
23223
23224         maint.mk: fix a bug introduced in last change
23225         * top/maint.mk (gl_assured_headers_): Now that all names are on
23226         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
23227         is not anchored to end of word, it should be adequate.
23228
23229         maint.mk: avoid side-effect in latest syntax-check
23230         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
23231         to run commands via $(shell...), and hence to incur cost only when
23232         the new rule is actually run.
23233
23234         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
23235         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
23236         and use that to create a regexp used to detect all #if HAVE_..._H uses.
23237         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
23238         (gl_assured_headers_, az_, AZ_): Define.
23239         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
23240
23241 2010-04-26  Jim Meyering  <jim@meyering.net>
23242             Bruno Haible  <bruno@clisp.org>
23243
23244         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
23245         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
23246         Prompted by an exchange with Gilles Espinasse.
23247
23248 2010-04-26  Jim Meyering  <meyering@redhat.com>
23249
23250         git-version-gen: aesthetic tweak
23251         * build-aux/git-version-gen: Use "$nl" rather than a literal,
23252         so that the command remains on a single line.
23253
23254 2010-04-26  Eric Blake  <eblake@redhat.com>
23255
23256         git-version-gen: allow use on EBCDIC hosts
23257         * build-aux/git-version-gen (dirty): Use literal rather than tying
23258         ourselves to ascii.
23259         Reported by Steve Goetze.
23260
23261 2010-04-25  Bruno Haible  <bruno@clisp.org>
23262
23263         netdb: Add support for GNULIB_POSIXCHECK.
23264         * lib/netdb.in.h: Include warn-on-use.h.
23265         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
23266         functions are used when GNULIB_POSIXCHECK is defined and the
23267         getaddrinfo module is not in use.
23268         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
23269         freeaddrinfo, gai_strerror, getnameinfo are declared.
23270         * modules/netdb (Depends-on): Add warn-on-use.
23271         (Makefile.am): Include warn-on-use.h in netdb.h.
23272
23273 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
23274
23275         build: avoid "make check" failure without .git/ directory
23276         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
23277         there is no .git/ directory.
23278
23279 2010-04-25  Bruno Haible  <bruno@clisp.org>
23280
23281         ptsname: Fix misuse of ttyname_r.
23282         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
23283         of errno.
23284
23285 2010-04-25  Bruno Haible  <bruno@clisp.org>
23286
23287         ttyname_r: Make it work on Solaris 10.
23288         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
23289         if the system function has the POSIX declaration. Test whether the
23290         function fails if the buffer is less than 128 bytes large.
23291         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
23292         system's ttyname_r function. Provide a reasonably large buffer.
23293         * modules/ttyname_r (Depends-on): Add extensions.
23294         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
23295
23296 2010-04-25  Bruno Haible  <bruno@clisp.org>
23297
23298         Use the 'extensions' module for some more functions on Solaris.
23299         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
23300         module.
23301         * doc/posix-functions/ctime_r.texi: Likewise.
23302         * doc/posix-functions/getgrgid_r.texi: Likewise.
23303         * doc/posix-functions/getgrnam_r.texi: Likewise.
23304         * doc/posix-functions/getpwnam_r.texi: Likewise.
23305         * doc/posix-functions/getpwuid_r.texi: Likewise.
23306         * doc/posix-functions/readdir_r.texi: Likewise.
23307         * doc/posix-functions/sigwait.texi: Likewise.
23308         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
23309         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
23310
23311 2010-04-25  Bruno Haible  <bruno@clisp.org>
23312
23313         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
23314         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
23315         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
23316         * lib/ttyname_r.c: Include <limits.h>.
23317         (ttyname_r): Define using the system's ttyname_r function, if it exists
23318         and not on Solaris.
23319         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
23320         set.
23321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
23322         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
23323         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
23324         Reported by Simon Josefsson.
23325
23326 2010-04-25  Bruno Haible  <bruno@clisp.org>
23327
23328         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
23329         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
23330         * doc/posix-functions/ctime_r.texi: Likewise.
23331         * doc/posix-functions/getgrgid_r.texi: Likewise.
23332         * doc/posix-functions/getgrnam_r.texi: Likewise.
23333         * doc/posix-functions/getlogin_r.texi: Likewise.
23334         * doc/posix-functions/getpwnam_r.texi: Likewise.
23335         * doc/posix-functions/getpwuid_r.texi: Likewise.
23336         * doc/posix-functions/readdir_r.texi: Likewise.
23337         * doc/posix-functions/sigwait.texi: Likewise.
23338         * doc/posix-functions/ttyname_r.texi: Likewise.
23339         Reported by Simon Josefsson.
23340
23341 2010-04-25  Bruno Haible  <bruno@clisp.org>
23342
23343         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
23344         * gnulib-tool (func_usage): Document that --with-*-tests options apply
23345         also to --create-testdir.
23346         (func_acceptable): Don't consider the status of *-tests modules here.
23347         (func_modules_transitive_closure): Consider it here, before including a
23348         test module.
23349         (func_import, func_create_testdir): Set inc_all_direct_tests,
23350         inc_all_indirect_tests.
23351         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
23352         --create-testdir and --create-megatestdir.
23353
23354 2010-04-25  Bruno Haible  <bruno@clisp.org>
23355
23356         gnulib-tool: Add --without-*-tests options.
23357         * gnulib-tool (func_usage): Document the --without-*-tests options.
23358         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
23359         excl_unportable_tests): New variables.
23360         Fail if they are specified with --import or --update.
23361         (func_acceptable): Respect the excl_*_tests variables.
23362         (func_import): Set the excl_*_tests variables to empty.
23363
23364 2010-04-25  Simon Josefsson  <simon@josefsson.org>
23365             Bruno Haible  <bruno@clisp.org>
23366
23367         Work around a MacOS X 10.4 bug with openpty.
23368         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
23369         * tests/test-openpty.c (main): Close the master side explicitly.
23370
23371 2010-04-25  Bruno Haible  <bruno@clisp.org>
23372
23373         strnlen: Fix a C++ test error on MacOS X and Solaris.
23374         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
23375         the function is not declared.
23376         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
23377         Simon Josefsson.
23378
23379 2010-04-24  Bruno Haible  <bruno@clisp.org>
23380
23381         Avoid a gcc warning.
23382         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
23383         of correct type for %08lx directive.
23384         Reported by Eric Blake.
23385
23386 2010-04-24  Bruno Haible  <bruno@clisp.org>
23387
23388         vasnprintf: Correct errno value in case of out-of-memory.
23389         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
23390         or sprintf. Use the errno value from SNPRINTF or sprintf.
23391         Reported by Ian Beckwith <ianb@erislabs.net>.
23392
23393 2010-04-24  Bruno Haible  <bruno@clisp.org>
23394
23395         ansi-c++-opt: Find correct compiler when cross-compiling.
23396         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
23397         AC_CHECK_PROGS.
23398         Reported by Simon Josefsson.
23399
23400 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23401
23402         vc-list-files: Add support for subversion
23403         * build-aux/vc-list-files: Use "svn list" to generate the list of
23404         files controlled by subversion.
23405
23406 2010-04-23  Jim Meyering  <meyering@redhat.com>
23407
23408         vc-list-files tests: convert to use init.sh
23409         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
23410         path_prepend_.
23411         Use Exit, not exit.
23412         Use skip_ rather than open coding it.
23413         Remove trap set-up and compare definitions.
23414         * tests/test-vc-list-files-git.sh: Likewise.
23415         * modules/vc-list-files-tests (Files): Add tests/init.sh.
23416
23417 2010-04-22  Simon Josefsson  <simon@josefsson.org>
23418
23419         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
23420         backup files.
23421
23422 2010-04-21  Simon Josefsson  <simon@josefsson.org>
23423
23424         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
23425
23426 2010-04-20  Eric Blake  <eblake@redhat.com>
23427
23428         tests: be robust to ignored SIGPIPE
23429         * tests/test-select-in.sh: Consume all output.
23430         * tests/test-lseek.sh: Check correct exit status, while avoiding
23431         EPIPE.
23432
23433 2010-04-20  Simon Josefsson  <simon@josefsson.org>
23434             Bruno Haible  <bruno@clisp.org>
23435
23436         visibility: Don't use -fvisibility if it leads to a warning.
23437         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
23438         yes, don't pretend that visibility works if it leads to a warning.
23439         Reported by Mike Gran <spk121@yahoo.com>.
23440
23441 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
23442
23443         * build-aux/bootstrap: Use "git -h" for testing for supported options
23444         instead of "git --help".  The short-form option only shows a summary,
23445         and doesn't layout the full man page.  Grep for the full option name
23446         in the summary, too.
23447
23448 2010-04-19  Bruno Haible  <bruno@clisp.org>
23449
23450         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
23451         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
23452         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
23453         mention of RELOCATABLE_STRIP.
23454         Reported by Sylvain Beucler <beuc@beuc.net>.
23455
23456 2010-04-19  Bruno Haible  <bruno@clisp.org>
23457
23458         * lib/diffseq.h: Fix typo in comment.
23459         Reported by Eric Blake.
23460
23461 2010-04-19  Bruno Haible  <bruno@clisp.org>
23462
23463         ioctl: Move autoconf macro to a .m4 file.
23464         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23465         * modules/ioctl (Files): Add it.
23466         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23467         Reported by Ian Beckwith <ianb@erislabs.net>.
23468
23469 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23470             Bruno Haible  <bruno@clisp.org>
23471
23472         diffseq: Accommodate use-case with abstract arrays.
23473         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23474         is not defined.
23475         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23476         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23477
23478 2010-04-18  Bruno Haible  <bruno@clisp.org>
23479
23480         * doc/posix-headers/stdbool.texi: More precise wording.
23481
23482 2010-04-17  Jim Meyering  <meyering@redhat.com>
23483
23484         maint.mk: use gnu-style indentation in an embedded perl script
23485         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23486         Rename variable: s/two/last_two_bytes/
23487
23488 2010-04-16  Eric Blake  <eblake@redhat.com>
23489
23490         test-stdbool: skip test that fails with Solaris CC
23491         * tests/test-stdbool.c (f): Skip test that causes compilation
23492         error under buggy C++ compiler.
23493         * lib/stdbool.in.h: Document the limitation.
23494         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23495
23496         setenv: allow compilation with C++
23497         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23498         register keyword.
23499
23500         stdint: allow test to pass with C++
23501         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23502
23503         getopt: allow compilation with C++
23504         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23505         struct.
23506         * lib/getopt.c (_getopt_internal_r): Use correct type.
23507         Reported by Dagobert Michelson, via Joel E. Denny.
23508
23509 2010-04-16  Bruno Haible  <bruno@clisp.org>
23510
23511         Override netdb.h always.
23512         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23513         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23514         Reported by Ludovic Courtès <ludo@gnu.org>.
23515
23516 2010-04-15  Bruno Haible  <bruno@clisp.org>
23517
23518         openpty: Fix mistake from 2010-03-21.
23519         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23520         Reported by Simon Josefsson.
23521
23522 2010-04-15  Eric Blake  <eblake@redhat.com>
23523
23524         test-forkpty: fix expected signature
23525         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
23526         Reported by Simon Josefsson.
23527
23528 2010-04-15  Jim Meyering  <meyering@redhat.com>
23529
23530         maint.mk: texinfo_suffix_re_: correct the default regexp
23531         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
23532
23533         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
23534         make it configurable via texinfo_suffix_re_.
23535
23536 2010-04-14  Eric Blake  <eblake@redhat.com>
23537
23538         strtok_r: relax license to LGPLv2+
23539         * modules/strtok_r (License): Relax license.
23540         Reported by Matthias Bolte.
23541
23542 2010-04-14  Simon Josefsson  <simon@josefsson.org>
23543
23544         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
23545         version 1.4.4 by default instead of requiring the libgcrypt
23546         version used during build.  This makes it possible to use the
23547         application with older but still binary compatible libgcrypt
23548         versions.
23549
23550 2010-04-13  Eric Blake  <eblake@redhat.com>
23551
23552         getopt-gnu: match recent glibc fixes and posix ruling
23553         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
23554         '+' handling, when requesting extensions.
23555         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
23556         'W;' handling.
23557         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
23558         * doc/posix-functions/getopt.texi (getopt): Document this.
23559         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23560         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23561         Likewise.
23562
23563         getopt: merge bug fixes from glibc
23564         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
23565         diagnostics.  Honor '+:' correctly.  Reject ';'.
23566
23567         getopt-posix: detect MacOS bug
23568         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
23569         optind when missing a required argument.
23570         * doc/posix-functions/getopt.texi (getopt): Document the bug.
23571         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23572         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23573         Likewise.
23574
23575         getopt-posix: avoid spurious failure on Solaris
23576         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
23577         an indicator that setting optind=1 is sufficient for reset.
23578
23579         getopt-posix: avoid spurious failure on FreeBSD
23580         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
23581         in POSIX mode, since the m4 test uses it.
23582
23583         gnulib-tool: silence warning on BSD sh
23584         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
23585
23586 2010-04-13  Jim Meyering  <meyering@redhat.com>
23587
23588         doc: users.txt: GNU patch now uses gnulib
23589         * users.txt: Add patch.
23590
23591 2010-04-12  Jim Meyering  <meyering@redhat.com>
23592
23593         maint.mk: generate more concise timing data for syntax-check rules
23594         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
23595         " done" from each line that reports a syntax-check test duration.
23596
23597 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
23598
23599         git-version-gen: use "git update-index..." rather than "git status"
23600         * build-aux/git-version-gen: Use git update-index --refresh, not
23601         "git status".  With some versions of git, "git status" would fail
23602         to update the index and result in an unwarranted "-dirty" suffix.
23603
23604 2010-04-11  Jim Meyering  <meyering@redhat.com>
23605
23606         openat: correct formatting (no semantic change)
23607         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
23608         Suggested by Bruno Haible.
23609
23610 2010-04-11  Bruno Haible  <bruno@clisp.org>
23611
23612         Stricter declaration checking in testdirs.
23613         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23614         If for_tests is true, augment AM_CPPFLAGS to define
23615         GNULIB_STRICT_CHECKING.
23616         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
23617         GNULIB_STRICT_CHECKING is defined, verify that the function is
23618         declared.
23619
23620 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
23621             Bruno Haible  <bruno@clisp.org>
23622
23623         libunistring: Improve configure output.
23624         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
23625         Don't say "consider installing GNU libunistring" when checking again
23626         with libiconv.
23627
23628 2010-04-11  Bruno Haible  <bruno@clisp.org>
23629
23630         libunistring: Correct value of $LTLIBUNISTRING.
23631         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
23632         correct the value of $LTLIBUNISTRING.
23633
23634 2010-04-11  Bruno Haible  <bruno@clisp.org>
23635
23636         havelib: Add static libraries to LIBS in the right order.
23637         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
23638         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
23639
23640 2010-04-11  Bruno Haible  <bruno@clisp.org>
23641
23642         libunistring: Detect libunistring also when it depends on libiconv.
23643         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
23644         the second AC_LIB_HAVE_LINKFLAGS invocation.
23645
23646 2010-04-11  James Youngman  <jay@gnu.org>
23647
23648         close-stream: declare local scalars to be "const"
23649         * lib/close-stream.c (close_stream): Make boolean variables const
23650         to document the fact that we set but do not change them.
23651
23652 2010-04-11  Bruno Haible  <bruno@clisp.org>
23653
23654         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
23655
23656 2010-04-11  Jim Meyering  <meyering@redhat.com>
23657
23658         maint.mk: don't include dist-check.mk
23659         * top/maint.mk: Remove bogus include directive.
23660
23661         maint.mk: improve empty-line-at-EOF check
23662         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
23663         solution, rather than tail+Perl-based one.  The latter would read
23664         a few kilobytes from the end of each file, and did not handle empty
23665         files properly.
23666
23667         maint.mk: print the elapsed time for each syntax-check rule
23668         * top/maint.mk (sc_m_rules_): Save start time in a file.
23669         (sc_z_rules_): New rules: remove temp file and print elapsed time.
23670         (local-check): Interpose the .z rules
23671
23672 2010-04-11  Jim Meyering  <meyering@redhat.com>
23673
23674         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
23675         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
23676         empty file with one that ends in an empty line.
23677
23678 2010-04-10  Bruno Haible  <bruno@clisp.org>
23679
23680         mkdir: Make it work on mingw64.
23681         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
23682         * lib/mkdir.c: Update comment.
23683         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
23684
23685 2010-04-10  Bruno Haible  <bruno@clisp.org>
23686
23687         Don't override improved macro from newer autoconf.
23688         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
23689         autoconf >= 2.62.
23690         Reported by Joel E. Denny <jdenny@clemson.edu>.
23691
23692 2010-04-10  Jim Meyering  <meyering@redhat.com>
23693
23694         maint.mk: new syntax-check rule: prohibit empty lines at end of file
23695         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
23696
23697         maint.mk: correct a diagnostic
23698         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
23699         in diagnostic; now use $prohibit.
23700
23701 2010-04-10  Bruno Haible  <address@hidden>
23702
23703         fchownat: Fix a C++ test error on Solaris 8.
23704         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
23705         the function does not exist.
23706
23707 2010-04-10  Bruno Haible  <bruno@clisp.org>
23708
23709         vasnprintf: Add more tests.
23710         * tests/test-vasnprintf-posix.c: Include <errno.h>.
23711         (test_function): Test converting an invalid wide string.
23712
23713         vasnprintf: Correct handling of unconvertible wide string arguments.
23714         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
23715         VASNPRINTF.
23716         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
23717         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
23718         smaller than the expected maximum need for the directive. Set errno to
23719         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
23720         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
23721         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
23722         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
23723         * modules/vasnprintf (Files): Add m4/printf.m4.
23724         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23725
23726 2010-04-10  Bruno Haible  <bruno@clisp.org>
23727
23728         vasnprintf: Fix crash in %ls directive.
23729         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
23730         string is passed as argument to %ls, with no precision and no width.
23731         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23732
23733 2010-04-10  Bruno Haible  <bruno@clisp.org>
23734
23735         vasnprintf: Fix multiple test failures on mingw.
23736         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
23737         _snprintf, or snwprintf, not _snwprintf.
23738
23739 2010-04-10  Bruno Haible  <bruno@clisp.org>
23740
23741         write: Fix a C++ test error on mingw.
23742         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
23743
23744 2010-04-10  Bruno Haible  <bruno@clisp.org>
23745
23746         vasnprintf test: Reduce code duplication.
23747         * tests/test-vasnprintf.c (test_function): New function, extracted from
23748         test_vasnprintf.
23749         (test_vasnprintf, test_asnprintf): Invoke it.
23750
23751 2010-04-10  Bruno Haible  <bruno@clisp.org>
23752
23753         strnlen: Fix warning in C++ mode on MacOS X.
23754         * lib/string.in.h (strnlen): Use the modern idiom.
23755         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
23756         defining strnlen as a macro already in <config.h>.
23757         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23758         REPLACE_STRNLEN.
23759         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
23760         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23761
23762 2010-04-08  James Youngman  <jay@gnu.org>
23763
23764         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
23765         the example.
23766
23767 2010-04-09  Jim Meyering  <meyering@redhat.com>
23768
23769         maint.mk: print better diagnostic when there is no $(_hv_file)
23770         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
23771         announce that when $(_hv_file) (aka help-version) does not exist.
23772
23773         init.sh: run tr in the "C" locale to avoid multibyte interpretation
23774         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
23775         not try to interpret its random input bytes.  Jarno Rajahalme reported
23776         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
23777         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
23778         (mktempd_): Likewise, just in case.
23779
23780         ftruncate: add two years to projected module removal date: 2012
23781         * m4/ftruncate.m4: Adjust comments.
23782
23783         ftruncate: mark module as obsolete; even MinGW provides it, now
23784         * modules/ftruncate (Status): Obsolete.
23785         (Notice): Say that.
23786         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
23787         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
23788
23789 2010-04-08  Bruno Haible  <bruno@clisp.org>
23790
23791         Fix side effects from tests-related modules.
23792         * modules/dprintf-posix (Comment): New section.
23793         * modules/fprintf-posix (Comment): Likewise.
23794         * modules/obstack-printf-posix (Comment): Likewise.
23795         * modules/printf-posix (Comment): Likewise.
23796         * modules/snprintf-posix (Comment): Likewise.
23797         * modules/sprintf-posix (Comment): Likewise.
23798         * modules/vasnprintf-posix (Comment): Likewise.
23799         * modules/vasprintf-posix (Comment): Likewise.
23800         * modules/vdprintf-posix (Comment): Likewise.
23801         * modules/vfprintf-posix (Comment): Likewise.
23802         * modules/vprintf-posix (Comment): Likewise.
23803         * modules/vsnprintf-posix (Comment): Likewise.
23804         * modules/vsprintf-posix (Comment): Likewise.
23805         * modules/xprintf-posix (Comment): Likewise.
23806         * modules/xvasprintf-posix (Comment): Likewise.
23807         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
23808         * modules/floorf-tests (Depends-on): Likewise.
23809         * modules/round-tests (Depends-on): Likewise.
23810         * modules/roundf-tests (Depends-on): Likewise.
23811         * modules/trunc-tests (Depends-on): Likewise.
23812         * modules/truncf-tests (Depends-on): Likewise.
23813         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
23814         'fprintf-posix' module is not present.
23815         * tests/test-floorf2.c (check): Likewise.
23816         * tests/test-trunc2.c (check): Likewise.
23817         * tests/test-truncf2.c (check): Likewise.
23818         * tests/test-round2.c (equal): Likewise.
23819         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23820
23821 2010-04-07  Karl Berry  <karl@gnu.org>
23822
23823         * config/srclist.txt,
23824         * config/srclistvars.sh,
23825         * config/srclist-update: doc fixes.
23826
23827 2010-04-07  Jim Meyering  <meyering@redhat.com>
23828
23829         maint.mk: add a PATH crosschecking syntax-check rule
23830         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
23831         Useful if you use a test like the one in help-version (coreutils,
23832         diffutils, grep, gzip) that ensures $(VERSION) matches what is
23833         printed by prog --version.
23834
23835 2010-04-06  Bruno Haible  <bruno@clisp.org>
23836
23837         Fix link error on mingw.
23838         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
23839         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
23840
23841 2010-04-06  Bruno Haible  <bruno@clisp.org>
23842
23843         Assume rmdir exists.
23844         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
23845
23846 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
23847
23848         doc: update users.txt
23849         * users.txt: Add gcal.
23850
23851 2010-04-06  Jim Meyering  <meyering@redhat.com>
23852
23853         init.sh: simply unset TMPDIR rather than risking env -i
23854         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
23855         although it probably works fine on all Unix-based systems, some
23856         systems (Cygwin?) cannot tolerate a totally cleared environment.
23857         Suggestion from Eric Blake.
23858
23859 2010-04-06  Jim Meyering  <meyering@redhat.com>
23860
23861         init.sh: portability fix: use env's POSIX-specified -i option not -u
23862         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
23863         than unportable env -u.  Solaris 5.11's env lacks support for -u.
23864
23865 2010-04-05  Bruno Haible  <bruno@clisp.org>
23866
23867         btowc: Work around Cygwin 1.7.2 bug.
23868         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
23869         does not map NUL to 0.
23870         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
23871
23872 2010-04-05  Bruno Haible  <bruno@clisp.org>
23873
23874         Make the multithread modules work on Cygwin 1.7.2.
23875         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
23876         imported symbols can be declared weak, so that it returns "no" on
23877         Cygwin 1.7.2.
23878
23879 2010-04-05  Bruno Haible  <bruno@clisp.org>
23880
23881         Use the module 'strncat'.
23882         * modules/unistr/u8-strncat (Depends-on): Add strncat.
23883
23884         Tests for module 'strncat'.
23885         * modules/strncat-tests: New file.
23886         * tests/test-strncat.c: New file.
23887
23888         New module 'strncat'.
23889         * lib/string.in.h (strncat): New declaration.
23890         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
23891         * m4/strncat.m4: New file, based on m4/memchr.m4.
23892         * modules/strncat: New file.
23893         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
23894         is declared.
23895         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
23896         REPLACE_STRNCAT.
23897         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
23898         REPLACE_STRNCAT.
23899         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
23900         module.
23901         * tests/test-string-c++.cc: Check signature of strncat.
23902
23903 2010-04-05  Jim Meyering  <meyering@redhat.com>
23904
23905         xstrtoumax-tests: convert to use init.sh
23906         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
23907         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23908         Use Exit, not exit.
23909         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23910
23911         xstrtoimax-tests: convert to use init.sh
23912         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
23913         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23914         Use Exit, not exit.
23915         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23916
23917 2010-04-05  Bruno Haible  <bruno@clisp.org>
23918
23919         sys_socket: Avoid #define replacements in C++ mode.
23920         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
23921         warning to the function if possible, rather than #defining the symbol
23922         to a dysfunctional alias.
23923
23924 2010-04-05  Bruno Haible  <bruno@clisp.org>
23925
23926         fseeko: Fix C++ test error on mingw.
23927         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
23928         gl_FUNC_FSEEKO.
23929         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
23930         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
23931         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
23932         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
23933
23934 2010-04-05  Bruno Haible  <bruno@clisp.org>
23935
23936         duplocale: Improve test output.
23937         * tests/test-duplocale.c (main): Print reason for skipped test.
23938
23939 2010-04-05  Bruno Haible  <bruno@clisp.org>
23940
23941         Assume rmdir exists.
23942         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
23943         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
23944
23945 2010-04-05  Bruno Haible  <bruno@clisp.org>
23946
23947         Fix link error on Solaris 8 with cc.
23948         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
23949
23950 2010-04-05  Bruno Haible  <bruno@clisp.org>
23951
23952         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
23953         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
23954
23955 2010-04-05  Bruno Haible  <bruno@clisp.org>
23956
23957         vasprintf: Update documentation.
23958         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
23959
23960 2010-04-05  Bruno Haible  <bruno@clisp.org>
23961
23962         ptsname: Improve test.
23963         * tests/test-ptsname.c (main): Also try the various master names of BSD
23964         systems.
23965
23966 2010-04-05  Bruno Haible  <bruno@clisp.org>
23967
23968         memchr: Avoid a possible C++ test error.
23969         * lib/string.in.h (memchr): Provide declaration if function is missing.
23970         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
23971         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
23972         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
23973         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
23974
23975 2010-04-05  Bruno Haible  <bruno@clisp.org>
23976
23977         strtok_r: Improve idiom.
23978         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
23979         AC_LIBOBJ is used.
23980
23981 2010-04-05  Bruno Haible  <bruno@clisp.org>
23982
23983         strdup: Improve idiom.
23984         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
23985         AC_LIBOBJ is used.
23986         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
23987         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
23988         when AC_LIBOBJ is used.
23989
23990 2010-04-05  Bruno Haible  <bruno@clisp.org>
23991
23992         mbsinit, mbrtowc, wcrtomb: Improve idioms.
23993         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
23994         don't set REPLACE_MBSINIT to 1.
23995         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
23996         don't set REPLACE_MBRTOWC to 1.
23997         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
23998         exist, don't set REPLACE_MBSRTOWCS to 1.
23999         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
24000         exist, don't set REPLACE_MBSNRTOWCS to 1.
24001         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
24002         don't set REPLACE_WCRTOMB to 1.
24003         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
24004         exist, don't set REPLACE_WCSRTOMBS to 1.
24005         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
24006         exist, don't set REPLACE_WCSNRTOMBS to 1.
24007
24008 2010-04-05  Bruno Haible  <bruno@clisp.org>
24009
24010         ldexpl: Improve idiom.
24011         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
24012         make sure to set HAVE_DECL_LDEXPL to 0.
24013
24014 2010-04-05  Jim Meyering  <meyering@redhat.com>
24015
24016         xstrtol-tests: convert to use init.sh
24017         * modules/xstrtol-tests (Files): Add tests/init.sh.
24018         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24019         Use Exit, not exit.
24020         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24021
24022         atexit-tests: convert to use init.sh
24023         * modules/atexit-tests (Files): Add tests/init.sh.
24024         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24025         Use Exit, not exit.
24026         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24027
24028         init.sh: fix typo
24029         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
24030
24031         init.sh: make it easier for a test script to write to the tty, ...
24032         when using automake's parallel-tests mode.
24033         * tests/init.sh (stderr_fileno_): Define overridable variable.
24034         (warn_): New function, to use it.
24035         (fail_, skip_, framework_failure_): Use warn_.
24036
24037 2010-04-04  Bruno Haible  <bruno@clisp.org>
24038
24039         btowc: Avoid warning.
24040         * lib/btowc.c: Include <stdlib.h>.
24041         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
24042
24043 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24044             Bruno Haible  <bruno@clisp.org>
24045
24046         wchar: Port to NetBSD 1.5.
24047         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
24048         * lib/wctype.in.h (WEOF): Likewise.
24049
24050 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24051             Bruno Haible  <bruno@clisp.org>
24052
24053         Port extended stdio to NetBSD 1.5.
24054         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
24055         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
24056         older.
24057
24058 2010-04-04  Bruno Haible  <bruno@clisp.org>
24059
24060         string: Remove unused substitution.
24061         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
24062         HAVE_DECL_STRERROR.
24063         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
24064
24065 2010-04-04  Bruno Haible  <bruno@clisp.org>
24066
24067         strtod: Avoid a possible C++ test error.
24068         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
24069         set REPLACE_STRTOD.
24070
24071 2010-04-04  Bruno Haible  <bruno@clisp.org>
24072
24073         strerror: Update documentation.
24074         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
24075
24076 2010-04-04  Bruno Haible  <bruno@clisp.org>
24077
24078         stdio: Fix some C++ test errors on Solaris 8 with GCC.
24079         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
24080         _GL_CXXALIAS_SYS_CAST.
24081
24082 2010-04-04  Bruno Haible  <bruno@clisp.org>
24083
24084         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24085         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
24086         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
24087         REPLACE_FREXPL to 1.
24088         * doc/posix-functions/frexpl.texi: Update documentation.
24089
24090 2010-04-04  Bruno Haible  <bruno@clisp.org>
24091
24092         math: Fix some C++ test errors on Solaris 8 and Cygwin.
24093         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
24094
24095 2010-04-04  Bruno Haible  <bruno@clisp.org>
24096
24097         Implement nanosleep for native Windows.
24098         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
24099
24100 2010-04-04  Bruno Haible  <bruno@clisp.org>
24101
24102         math: Fix some C++ test errors on Solaris 8.
24103         * lib/math.in.h (truncf, trunc): Use simpler idiom.
24104
24105 2010-04-04  Bruno Haible  <bruno@clisp.org>
24106
24107         math: Fix some C++ test errors on Cygwin.
24108         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
24109         truncl): Provide declaration if the system does not have it.
24110         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
24111         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
24112         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
24113         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
24114         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
24115         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
24116         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
24117         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
24118         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
24119         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
24120         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
24121         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
24122         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
24123         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
24124         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
24125         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
24126         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
24127         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24128         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24129         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
24130         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24131         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24132
24133 2010-04-04  Bruno Haible  <bruno@clisp.org>
24134
24135         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
24136         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
24137         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
24138         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
24139         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
24140         * m4/isinf.m4 (gl_ISINF): Likewise.
24141         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24142
24143 2010-04-04  Bruno Haible  <bruno@clisp.org>
24144
24145         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
24146         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24147
24148 2010-04-04  Bruno Haible  <bruno@clisp.org>
24149
24150         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
24151         * modules/tmpfile (configure.ac): Update.
24152
24153         tmpfile: Fix C++ test error on mingw.
24154         * lib/stdio.in.h (tmpfile): New declaration.
24155         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
24156         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
24157         * modules/tmpfile (Depends-on): Add stdio.
24158         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
24159         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
24160         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
24161         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
24162         REPLACE_TMPFILE.
24163         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
24164
24165 2010-04-04  Bruno Haible  <bruno@clisp.org>
24166
24167         ioctl: Fix C++ test error on mingw.
24168         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
24169         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
24170         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
24171
24172 2010-04-03  Bruno Haible  <bruno@clisp.org>
24173
24174         wcwidth: Fix C++ test error on mingw.
24175         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
24176         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
24177         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
24178
24179 2010-04-03  Bruno Haible  <bruno@clisp.org>
24180
24181         nanosleep: Fix C++ test error on mingw.
24182         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
24183         * lib/time.in.h (nanosleep): Use modern idiom.
24184         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
24185         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
24186         REPLACE_NANOSLEEP to 1.
24187         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
24188         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
24189
24190 2010-04-03  Bruno Haible  <bruno@clisp.org>
24191
24192         strptime: Fix C++ test error on mingw.
24193         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
24194         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
24195         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
24196         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
24197         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
24198         not REPLACE_STRPTIME.
24199         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
24200         REPLACE_STRPTIME.
24201
24202 2010-04-03  Bruno Haible  <bruno@clisp.org>
24203
24204         timegm: Fix C++ test error on mingw.
24205         * lib/time.in.h (timegm): Use modern idiom.
24206         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
24207         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
24208         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
24209         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
24210
24211 2010-04-03  Bruno Haible  <bruno@clisp.org>
24212
24213         timegm: Assume declaration if function exists.
24214         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
24215         if it exists. Don't clobber ac_cv_func_timegm.
24216
24217 2010-04-03  Bruno Haible  <bruno@clisp.org>
24218
24219         time_r: Fix C++ test error on mingw.
24220         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
24221         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
24222         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
24223         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
24224         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
24225
24226 2010-04-03  Bruno Haible  <bruno@clisp.org>
24227
24228         time_r: Minor updates.
24229         * modules/time_r (Description): Mention the provided functions.
24230         * lib/time_r.c: Don't include <string.h>.
24231         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
24232         * doc/posix-functions/localtime_r.texi: Likewise.
24233
24234 2010-04-03  Bruno Haible  <bruno@clisp.org>
24235
24236         time: Fix regression introduced on 2010-03-08.
24237         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
24238         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
24239
24240 2010-04-03  Jim Meyering  <meyering@redhat.com>
24241
24242         maint.mk: don't silently disable project-specific syntax-check rules
24243         * top/maint.mk (_prohibit_regexp): Define, to help people realize
24244         that they need to convert their project-specific syntax-check rules
24245         to use the new _sc_search_regexp.
24246
24247 2010-04-03  Bruno Haible  <bruno@clisp.org>
24248
24249         fchdir: Fix regression introduced on 2010-03-08.
24250         * lib/unistd.in.h (fchdir): Fix declaration.
24251         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
24252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
24253         REPLACE_FCHDIR.
24254         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
24255         REPLACE_FCHDIR.
24256
24257 2010-04-03  Bruno Haible  <bruno@clisp.org>
24258
24259         getpagesize: Fix C++ test error on mingw.
24260         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
24261         system does not declare the function.
24262         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
24263         declared.
24264         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24265         HAVE_DECL_GETPAGESIZE.
24266         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
24267
24268 2010-04-03  Bruno Haible  <bruno@clisp.org>
24269
24270         stdio: Make C++ tests work on mingw.
24271         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
24272         does not declare the function.
24273
24274 2010-04-03  Bruno Haible  <bruno@clisp.org>
24275
24276         ftello: Fix C++ test error on mingw.
24277         * lib/stdio.in.h (ftello): Use modern idiom.
24278         * lib/ftello.c (ftello): Renamed from rpl_ftello.
24279         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
24280         is missing and that it needs to be replaced.
24281         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
24282         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
24283         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
24284
24285 2010-04-03  Bruno Haible  <bruno@clisp.org>
24286
24287         fseeko: Fix C++ test error on mingw.
24288         * lib/stdio.in.h (fseeko): Use modern idiom.
24289         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
24290         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
24291         is missing and that it needs to be replaced.
24292         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
24293         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
24294         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
24295
24296 2010-04-03  Bruno Haible  <bruno@clisp.org>
24297
24298         mkstemp: Fix C++ test error on mingw.
24299         * lib/stdlib.in.h (mkstemp): Use modern idiom.
24300         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
24301         function is missing and that it needs to be replaced.
24302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
24303         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
24304
24305 2010-04-03  Bruno Haible  <bruno@clisp.org>
24306
24307         stpncpy: Fix C++ test error on mingw.
24308         * lib/string.in.h (stpncpy): Use modern idiom.
24309         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
24310         function is missing and that it needs to be replaced.
24311         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24312         REPLACE_STPNCPY.
24313         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
24314
24315 2010-04-03  Bruno Haible  <bruno@clisp.org>
24316
24317         sys_stat: Fix C++ test error on mingw.
24318         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
24319         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
24320
24321 2010-04-03  Bruno Haible  <bruno@clisp.org>
24322
24323         pty: Update doc.
24324         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
24325
24326 2010-04-03  Bruno Haible  <bruno@clisp.org>
24327
24328         unistd: Fix C++ test error on mingw.
24329         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
24330
24331 2010-04-03  Bruno Haible  <bruno@clisp.org>
24332
24333         Update doc regarding mingw.
24334         * doc/glibc-functions/openpty.texi: Update regarding mingw.
24335         * doc/glibc-functions/login_tty.texi: Likewise.
24336         * doc/glibc-functions/forkpty.texi: Likewise.
24337
24338 2010-04-03  Bruno Haible  <bruno@clisp.org>
24339
24340         stdlib: Avoid compilation failure of c-strtold on mingw.
24341         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
24342
24343 2010-04-03  Bruno Haible  <bruno@clisp.org>
24344
24345         locale: Make C++ tests work on Cygwin and mingw.
24346         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
24347         cannot provide the function.
24348         Reported by Simon Josefsson.
24349
24350 2010-04-03  Bruno Haible  <bruno@clisp.org>
24351
24352         localename: Port to MacOS X 10.6.
24353         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
24354         memory layout of the locales in MacOS X 10.6 as well.
24355         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
24356
24357 2010-04-02  Bruno Haible  <bruno@clisp.org>
24358
24359         gnulib-tool: Ensure that long-running tests are executed last.
24360         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
24361         running tests after the one for the other tests.
24362
24363 2010-04-02  Bruno Haible  <bruno@clisp.org>
24364
24365         gnulib-tool: Ensure the tests in the main directory are executed first.
24366         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
24367         start with the current directory.
24368
24369 2010-04-02  Bruno Haible  <bruno@clisp.org>
24370
24371         Tests for module 'havelib', moved here from GNU gettext.
24372         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
24373         modifications.
24374         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
24375         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
24376         with modifications.
24377         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
24378         modifications.
24379         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
24380         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
24381         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
24382         with modifications.
24383         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
24384         with modifications.
24385         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
24386         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
24387         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
24388         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
24389         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
24390         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
24391         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
24392         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
24393         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
24394         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
24395         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
24396         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
24397         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
24398         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
24399         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
24400         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
24401         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
24402         with modifications.
24403         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
24404         with modifications.
24405         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
24406         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
24407         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
24408         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
24409         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
24410         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
24411         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
24412         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
24413         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
24414         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
24415         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
24416         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
24417         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
24418         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
24419         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
24420         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
24421         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
24422         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
24423         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
24424         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
24425         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
24426         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
24427         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
24428         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
24429         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
24430         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
24431         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
24432         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
24433         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
24434         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
24435         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
24436         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
24437         * tests/havelib/rpathx/rpathx.c: New file, from
24438         gettext/autoconf-lib-link.
24439         * tests/havelib/rpathx/Makefile.am: New file, from
24440         gettext/autoconf-lib-link.
24441         * tests/havelib/rpathx/configure.ac: New file, from
24442         gettext/autoconf-lib-link with modifications.
24443         * tests/havelib/rpathy/rpathy.c: New file, from
24444         gettext/autoconf-lib-link.
24445         * tests/havelib/rpathy/Makefile.am: New file, from
24446         gettext/autoconf-lib-link.
24447         * tests/havelib/rpathy/configure.ac: New file, from
24448         gettext/autoconf-lib-link with modifications.
24449         * tests/havelib/rpathz/rpathz.c: New file, from
24450         gettext/autoconf-lib-link.
24451         * tests/havelib/rpathz/Makefile.am: New file, from
24452         gettext/autoconf-lib-link.
24453         * tests/havelib/rpathz/configure.ac: New file, from
24454         gettext/autoconf-lib-link with modifications.
24455         * tests/havelib/rpathlx/usex.c: New file, from
24456         gettext/autoconf-lib-link.
24457         * tests/havelib/rpathlx/Makefile.am: New file, from
24458         gettext/autoconf-lib-link.
24459         * tests/havelib/rpathlx/configure.ac: New file, from
24460         gettext/autoconf-lib-link with modifications.
24461         * tests/havelib/rpathly/usey.c: New file, from
24462         gettext/autoconf-lib-link.
24463         * tests/havelib/rpathly/Makefile.am: New file, from
24464         gettext/autoconf-lib-link.
24465         * tests/havelib/rpathly/configure.ac: New file, from
24466         gettext/autoconf-lib-link with modifications.
24467         * tests/havelib/rpathlz/usez.c: New file, from
24468         gettext/autoconf-lib-link.
24469         * tests/havelib/rpathlz/Makefile.am: New file, from
24470         gettext/autoconf-lib-link.
24471         * tests/havelib/rpathlz/configure.ac: New file, from
24472         gettext/autoconf-lib-link with modifications.
24473         * tests/havelib/rpathlyx/usey.c: New file, from
24474         gettext/autoconf-lib-link.
24475         * tests/havelib/rpathlyx/Makefile.am: New file, from
24476         gettext/autoconf-lib-link.
24477         * tests/havelib/rpathlyx/configure.ac: New file, from
24478         gettext/autoconf-lib-link with modifications.
24479         * tests/havelib/rpathlzyx/usez.c: New file, from
24480         gettext/autoconf-lib-link.
24481         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24482         gettext/autoconf-lib-link.
24483         * tests/havelib/rpathlzyx/configure.ac: New file, from
24484         gettext/autoconf-lib-link with modifications.
24485         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24486         with modifications.
24487
24488 2010-04-02  Bruno Haible  <bruno@clisp.org>
24489
24490         gnulib-tool: Create distributed built sources also for the tests.
24491         * gnulib-tool (func_create_testdir): Also generate distributed built
24492         sources in the tests directory.
24493
24494 2010-04-02  Bruno Haible  <bruno@clisp.org>
24495
24496         gnulib-tool: Obey user's environment variables.
24497         * gnulib-tool (func_create_testdir): When creating built sources,
24498         respect the environment variables for autoconf, automake, etc. given by
24499         the user.
24500
24501 2010-04-02  Bruno Haible  <bruno@clisp.org>
24502
24503         gnulib-tool: Provide the value of --m4-base to modules.
24504         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24505         of gl_m4_base.
24506
24507 2010-04-02  Eric Blake  <eblake@redhat.com>
24508
24509         maint.mk: fix some fallout
24510         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24511         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24512
24513 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24514
24515         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24516         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24517         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24518         (sc_cast_of_x_alloc_return_value): Likewise.
24519         (sc_cast_of_alloca_return_value): Likewise.
24520         (sc_space_tab): Likewise.
24521         (sc_prohibit_atoi_atof): Likewise.
24522         (sc_prohibit_magic_number_exit): Likewise.
24523         (sc_error_exit_success): Likewise.
24524         (sc_file_system): Likewise.
24525         (sc_prohibit_have_config_h): Likewise.
24526         (sc_require_config_h): Likewise.
24527         (sc_prohibit_HAVE_MBRTOWC): Likewise.
24528         (sc_obsolete_symbols): Likewise.
24529         (sc_changelog): Likewise.
24530         (sc_program_name): Likewise.
24531         (sc_the_the): Likewise.
24532         (sc_trailing_blank): Likewise.
24533         (sc_two_space_separator_in_usage): Likewise.
24534         (sc_useless_cpp_parens): Likewise.
24535         (sc_GPL_version): Likewise.
24536         (sc_GFDL_version): Likewise.
24537         (sc_texinfo_acronym): Likewise.
24538         (sc_prohibit_cvs_keyword): Likewise.
24539         (sc_prohibit_stat_st_blocks): Likewise.
24540         (sc_prohibit_S_IS_definition): Likewise.
24541         (sc_redundant_const): Likewise.
24542         (sc_makefile_TAB_only_indentation): Likewise.
24543         (sc_m4_quote_check): Likewise.
24544         (sc_makefile_path_separator_check): Likewise.
24545         (sc_copyright_check): Likewise.
24546         (sc_Wundef_boolean): Likewise.
24547         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24548
24549         maint.mk: match 0 or more whitespace-before-function-call '('
24550         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
24551         that have zero or two-and-more spaces between the function name
24552         and the open parenthesis.
24553         (sc_error_message_warn_fatal): Likewise.
24554         (sc_error_message_uppercase): Likewise.
24555         (sc_error_message_period): Likewise.
24556
24557 2010-03-31  Eric Blake  <eblake@redhat.com>
24558
24559         maint.mk: check for [ as well as test
24560         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
24561         Based on a libvirt report by Matthias Bolte.
24562
24563         gnumakefile: don't squelch _version output
24564         * top/GNUmakefile (_version): Create one-shot dependency rather
24565         than using $(shell) when version must be regenerated.
24566         (_autoreconf): Run verbosely, by default.
24567
24568         sys_time: avoid compiler warnings
24569         * lib/sys_time.in.h (includes): Ensure gcc pragma is
24570         unconditional, fixing regression from 2010-03-29.
24571         Reported by Simon Josefsson.
24572
24573 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24574
24575         maint.mk: s/_header_without_use/_sc_header_without_use/
24576         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
24577         (sc_prohibit_assert_without_use): Use the new name.
24578         (sc_prohibit_close_stream_without_use): Likewise.
24579         (sc_prohibit_getopt_without_use): Likewise.
24580         (sc_prohibit_quotearg_without_use): Likewise.
24581         (sc_prohibit_quote_without_use): Likewise.
24582         (sc_prohibit_long_options_without_use): Likewise.
24583         (sc_prohibit_inttostr_without_use): Likewise.
24584         (sc_prohibit_ignore_value_without_use): Likewise.
24585         (sc_prohibit_error_without_use): Likewise.
24586         (sc_prohibit_xalloc_without_use): Likewise.
24587         (sc_prohibit_hash_without_use): Likewise.
24588         (sc_prohibit_hash_pjw_without_use): Likewise.
24589         (sc_prohibit_safe_read_without_use): Likewise.
24590         (sc_prohibit_argmatch_without_use): Likewise.
24591         (sc_prohibit_canonicalize_without_use): Likewise.
24592         (sc_prohibit_root_dev_ino_without_use): Likewise.
24593         (sc_prohibit_openat_without_use): Likewise.
24594         (sc_prohibit_c_ctype_without_use): Likewise.
24595         (sc_prohibit_signal_without_use): Likewise.
24596         (sc_prohibit_intprops_without_use): Likewise.
24597
24598 2010-03-30  Eric Blake  <eblake@redhat.com>
24599
24600         maint: improve module indicators
24601         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
24602         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
24603         columns, and avoid extra macro expansion.
24604
24605         fdopendir: work around FreeBSD bug
24606         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24607         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
24608         * modules/dirent (Makefile.am): Substitute it.
24609         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
24610         declaration.
24611         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
24612         fix.
24613         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24614
24615 2010-03-29  Bruno Haible  <bruno@clisp.org>
24616
24617         Emit #pragma system_header after the inclusion guard, not before.
24618         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
24619         guard that spans the entire file, not before. This enables an
24620         optimization in GCC's preprocessor.
24621         * lib/ctype.in.h: Likewise.
24622         * lib/dirent.in.h: Likewise.
24623         * lib/errno.in.h: Likewise.
24624         * lib/float.in.h: Likewise.
24625         * lib/getopt.in.h: Likewise.
24626         * lib/iconv.in.h: Likewise.
24627         * lib/langinfo.in.h: Likewise.
24628         * lib/locale.in.h: Likewise.
24629         * lib/math.in.h: Likewise.
24630         * lib/netdb.in.h: Likewise.
24631         * lib/netinet_in.in.h: Likewise.
24632         * lib/pty.in.h: Likewise.
24633         * lib/sched.in.h: Likewise.
24634         * lib/se-selinux.in.h: Likewise.
24635         * lib/search.in.h: Likewise.
24636         * lib/spawn.in.h: Likewise.
24637         * lib/stdarg.in.h: Likewise.
24638         * lib/stdint.in.h: Likewise.
24639         * lib/string.in.h: Likewise.
24640         * lib/strings.in.h: Likewise.
24641         * lib/sys_file.in.h: Likewise.
24642         * lib/sys_ioctl.in.h: Likewise.
24643         * lib/sys_time.in.h: Likewise.
24644         * lib/sys_times.in.h: Likewise.
24645         * lib/sys_utsname.in.h: Likewise.
24646         * lib/sys_wait.in.h: Likewise.
24647         * lib/sysexits.in.h: Likewise.
24648         * lib/wctype.in.h: Likewise.
24649
24650 2010-03-28  James Youngman  <jay@gnu.org>
24651
24652         save-cwd: don't leak a file descriptor when the caller execs.
24653         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
24654         saved file descriptor.
24655         * modules/save-cwd (Depends-on): Depend on cloexec.
24656
24657 2010-03-29  Bruno Haible  <bruno@clisp.org>
24658
24659         Remove vestiges of fts-lgpl module.
24660         * lib/fts_.h: Assume GNULIB_FTS is 1.
24661         * lib/fts.c: Likewise.
24662         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24663
24664 2010-03-28  Bruno Haible  <bruno@clisp.org>
24665
24666         Fix definition of tests witness macro.
24667         * gnulib-tool (func_import): Fix definition of witness macro.
24668
24669 2010-03-28  Bruno Haible  <bruno@clisp.org>
24670
24671         Fix ioctl's protoype on glibc systems.
24672         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
24673         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
24674         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
24675         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
24676         signature. If not, arrange to replace the ioctl function.
24677         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24678         REPLACE_IOCTL.
24679         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
24680         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
24681         Reported by Ludovic Courtès <ludo@gnu.org>.
24682
24683 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
24684
24685         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
24686         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
24687         made it so grep -r --include=GLOB* ... did not work.
24688
24689 2010-03-26  Jim Meyering  <meyering@redhat.com>
24690             Eric Blake  <eblake@redhat.com>
24691
24692         maint.mk: prohibit use of test's -o and -a operators
24693         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
24694
24695 2010-03-28  Bruno Haible  <bruno@clisp.org>
24696
24697         Remove unused GNULIB_XYZ macro definitions.
24698         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
24699         invocation.
24700
24701 2010-03-28  Bruno Haible  <bruno@clisp.org>
24702
24703         Mark privileged tests modules.
24704         * modules/idpriv-drop-tests (Status): New section.
24705         * modules/idpriv-droptemp-tests (Status): New section.
24706
24707 2010-03-28  Bruno Haible  <bruno@clisp.org>
24708
24709         Split C++ tests into separate tests modules.
24710         * modules/dirent-c++-tests: New file, extracted from
24711         modules/dirent-tests.
24712         * modules/dirent-tests: Depend on it.
24713         * modules/fcntl-h-c++-tests: New file, extracted from
24714         modules/fcntl-h-tests.
24715         * modules/fcntl-h-tests: Depend on it.
24716         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
24717         * modules/glob-tests: Depend on it.
24718         * modules/iconv-h-c++-tests: New file, extracted from
24719         modules/iconv-h-tests.
24720         * modules/iconv-h-tests: Depend on it.
24721         * modules/langinfo-c++-tests: New file, extracted from
24722         modules/langinfo-tests.
24723         * modules/langinfo-tests: Depend on it.
24724         * modules/locale-c++-tests: New file, extracted from
24725         modules/locale-tests.
24726         * modules/locale-tests: Depend on it.
24727         * modules/math-c++-tests: New file, extracted from modules/math-tests.
24728         * modules/math-tests: Depend on it.
24729         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
24730         * modules/pty-tests: Depend on it.
24731         * modules/search-c++-tests: New file, extracted from
24732         modules/search-tests.
24733         * modules/search-tests: Depend on it.
24734         * modules/signal-c++-tests: New file, extracted from
24735         modules/signal-tests.
24736         * modules/signal-tests: Depend on it.
24737         * modules/spawn-c++-tests: New file, extracted from
24738         modules/spawn-tests.
24739         * modules/spawn-tests: Depend on it.
24740         * modules/stdio-c++-tests: New file, extracted from
24741         modules/stdio-tests.
24742         * modules/stdio-tests: Depend on it.
24743         * modules/stdlib-c++-tests: New file, extracted from
24744         modules/stdlib-tests.
24745         * modules/stdlib-tests: Depend on it.
24746         * modules/string-c++-tests: New file, extracted from
24747         modules/string-tests.
24748         * modules/string-tests: Depend on it.
24749         * modules/sys_ioctl-c++-tests: New file, extracted from
24750         modules/sys_ioctl-tests.
24751         * modules/sys_ioctl-tests: Depend on it.
24752         * modules/sys_select-c++-tests: New file, extracted from
24753         modules/sys_select-tests.
24754         * modules/sys_select-tests: Depend on it.
24755         * modules/sys_socket-c++-tests: New file, extracted from
24756         modules/sys_socket-tests.
24757         * modules/sys_socket-tests: Depend on it.
24758         * modules/sys_stat-c++-tests: New file, extracted from
24759         modules/sys_stat-tests.
24760         * modules/sys_stat-tests: Depend on it.
24761         * modules/sys_time-c++-tests: New file, extracted from
24762         modules/sys_time-tests.
24763         * modules/sys_time-tests: Depend on it.
24764         * modules/time-c++-tests: New file, extracted from modules/time-tests.
24765         * modules/time-tests: Depend on it.
24766         * modules/unistd-c++-tests: New file, extracted from
24767         modules/unistd-tests.
24768         * modules/unistd-tests: Depend on it.
24769         * modules/wchar-c++-tests: New file, extracted from
24770         modules/wchar-tests.
24771         * modules/wchar-tests: Depend on it.
24772         * modules/wctype-c++-tests: New file, extracted from
24773         modules/wctype-tests.
24774         * modules/wctype-tests: Depend on it.
24775         Reported by Simon Josefsson.
24776
24777 2010-03-28  Bruno Haible  <bruno@clisp.org>
24778
24779         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
24780         * gnulib-tool (func_exists_module): New function, extracted from
24781         func_verify_module.
24782         (func_verify_module): Use it.
24783         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
24784         'foo' only if 'foo' exists.
24785         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
24786         module.
24787
24788 2010-03-28  Bruno Haible  <bruno@clisp.org>
24789
24790         gnulib-tool: Add support for special categories of tests.
24791         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
24792         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
24793         (func_usage): Document them.
24794         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
24795         inc_unportable_tests, inc_all_tests): New variables.
24796         (func_acceptable): Consider these variables.
24797         (func_modules_transitive_closure): Make it work when the 'Status' field
24798         consists of multiple words.
24799         (func_import): Store and restore the values of inc_cxx_tests,
24800         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
24801         inc_all_tests in gnulib-comp.m4.
24802         (func_create_testdir): Set inc_all_tests to true.
24803         * doc/gnulib.texi (Extra tests modules): New section.
24804         Suggested by Jim Meyering.
24805
24806 2010-03-28  Bruno Haible  <bruno@clisp.org>
24807
24808         ansi-c++-opt: Allow turning off the C++ build by default.
24809         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
24810         gl_CXX_CHOICE_DEFAULT_NO is defined.
24811         Requested by Eric Blake.
24812
24813 2010-03-28  Bruno Haible  <bruno@clisp.org>
24814
24815         unistd: Avoid #define replacements in C++ mode.
24816         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
24817         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
24818         setsockopt, shutdown, select): In C++, attach a warning to the function
24819         if possible, rather than #defining the symbol to a dysfunctional alias.
24820         Reported by John W. Eaton <jwe@gnu.org>.
24821
24822 2010-03-28  Bruno Haible  <bruno@clisp.org>
24823
24824         Fix link errors on mingw.
24825         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
24826         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
24827         $(LIBSOCKET).
24828         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
24829         $(LIBSOCKET).
24830
24831 2010-03-28  Bruno Haible  <bruno@clisp.org>
24832             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24833
24834         lib-ignore: Determine different options for different compilers.
24835         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
24836         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
24837         Add comments.
24838         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
24839         * NEWS: Mention the change.
24840
24841 2010-03-27  Bruno Haible  <bruno@clisp.org>
24842
24843         Remove unused GNULIB_XYZ macro definitions.
24844         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24845         * modules/fseek (configure.ac): Likewise.
24846         * modules/ioctl (configure.ac): Likewise.
24847         * modules/open (configure.ac): Likewise.
24848         * modules/stdlib-safer (configure.ac): Likewise.
24849
24850 2010-03-27  Bruno Haible  <bruno@clisp.org>
24851
24852         Add a remark about certain modules.
24853         * modules/malloc (Comment): New section.
24854         * modules/realloc (Comment): Likewise.
24855         * modules/sigpipe (Comment): Likewise.
24856
24857 2010-03-27  Bruno Haible  <bruno@clisp.org>
24858
24859         Resolve conflict between the two kinds of module indicators.
24860         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
24861         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
24862         * modules/canonicalize (configure.ac): Invoke
24863         gl_MODULE_INDICATOR_FOR_TESTS.
24864         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
24865         GNULIB_XYZ.
24866         * tests/test-dirent-c++.cc: Likewise.
24867         * tests/test-dirent-safer.c: Likewise.
24868         * tests/test-dup2.c: Likewise.
24869         * tests/test-fchdir.c: Likewise.
24870         * tests/test-fcntl-h-c++.cc: Likewise.
24871         * tests/test-getopt.c: Likewise.
24872         * tests/test-getopt.h: Likewise.
24873         * tests/test-langinfo-c++.cc: Likewise.
24874         * tests/test-locale-c++.cc: Likewise.
24875         * tests/test-math-c++.cc: Likewise.
24876         * tests/test-pty-c++.cc: Likewise.
24877         * tests/test-search-c++.cc: Likewise.
24878         * tests/test-signal-c++.cc: Likewise.
24879         * tests/test-spawn-c++.cc: Likewise.
24880         * tests/test-stdio-c++.cc: Likewise.
24881         * tests/test-stdlib-c++.cc: Likewise.
24882         * tests/test-string-c++.cc: Likewise.
24883         * tests/test-sys_ioctl-c++.cc: Likewise.
24884         * tests/test-sys_select-c++.cc: Likewise.
24885         * tests/test-sys_socket-c++.cc: Likewise.
24886         * tests/test-sys_stat-c++.cc: Likewise.
24887         * tests/test-sys_time-c++.cc: Likewise.
24888         * tests/test-time-c++.cc: Likewise.
24889         * tests/test-unistd-c++.cc: Likewise.
24890         * tests/test-wchar-c++.cc: Likewise.
24891         * tests/uninorm/test-u8-nfc.c: Likewise.
24892         * tests/uninorm/test-u8-nfd.c: Likewise.
24893         * tests/uninorm/test-u8-nfkc.c: Likewise.
24894         * tests/uninorm/test-u8-nfkd.c: Likewise.
24895         * tests/uninorm/test-u16-nfc.c: Likewise.
24896         * tests/uninorm/test-u16-nfd.c: Likewise.
24897         * tests/uninorm/test-u16-nfkc.c: Likewise.
24898         * tests/uninorm/test-u16-nfkd.c: Likewise.
24899         * tests/uninorm/test-u32-nfc.c: Likewise.
24900         * tests/uninorm/test-u32-nfc-big.c: Likewise.
24901         * tests/uninorm/test-u32-nfd.c: Likewise.
24902         * tests/uninorm/test-u32-nfd-big.c: Likewise.
24903         * tests/uninorm/test-u32-nfkc.c: Likewise.
24904         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
24905         * tests/uninorm/test-u32-nfkd.c: Likewise.
24906         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
24907         * tests/uninorm/test-u32-normalize-big.c: Likewise.
24908
24909 2010-03-27  Bruno Haible  <bruno@clisp.org>
24910
24911         Distinguish two kinds of module indicators.
24912         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
24913         gl_MODULE_INDICATOR.
24914         (gl_MODULE_INDICATOR): New macro.
24915         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
24916         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
24917         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24918         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24919         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24920         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24921         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24922         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24923         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24924         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24925         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24926         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24927         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24928         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24929         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24930         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
24931         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
24932         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
24933         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
24934         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
24935         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
24936         * modules/cloexec (configure.ac): Likewise.
24937         * modules/getopt-gnu (configure.ac): Likewise.
24938         * modules/uninorm/u8-normalize (configure.ac): Likewise.
24939         * modules/uninorm/u16-normalize (configure.ac): Likewise.
24940         * modules/uninorm/u32-normalize (configure.ac): Likewise.
24941         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
24942
24943 2010-03-27  Bruno Haible  <bruno@clisp.org>
24944
24945         New module description field 'Comment'.
24946         * gnulib-tool: New option --extract-comment.
24947         (func_usage): Document it.
24948         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
24949         (func_get_comment): New function.
24950         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
24951
24952 2010-03-27  Bruno Haible  <bruno@clisp.org>
24953
24954         Addendum to 2010-02-07 commit.
24955         * gnulib-tool (func_usage): Document --extract-applicability option.
24956
24957 2010-03-27  Bruno Haible  <bruno@clisp.org>
24958
24959         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
24960         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
24961         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
24962         rather than link errors.
24963
24964 2010-03-27  Bruno Haible  <bruno@clisp.org>
24965
24966         Avoid side effects from tests-related modules on the compilation of lib.
24967         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
24968         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
24969         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
24970         parameter. Emit into AM_CPPFLAGS a definition of the designated C
24971         macro.
24972         (func_import): Define a witness macro. Assign it a value that depends
24973         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
24974         tests-related modules.
24975         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
24976         Reported by Jim Meyering.
24977
24978 2010-03-27  Bruno Haible  <bruno@clisp.org>
24979
24980         Factorize common .m4 code.
24981         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
24982         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
24983         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
24984         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
24985         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24986         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
24987         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
24988         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24989         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24990         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24991         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
24992         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24993         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24994         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24995         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24996         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
24997         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24998         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24999         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25000         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
25001         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
25002         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25003         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25004         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25005         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25006         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25007         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
25008         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
25009         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
25010         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25011         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25012         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25013
25014 2010-03-27  Bruno Haible  <bruno@clisp.org>
25015
25016         Fix a compilation error on Cygwin with g++ >= 4.3.
25017         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
25018         if it is undefined or if we alias it to chmod.
25019         (lstat): Don't warn about the use of this function if it is undefined
25020         or if we alias it to stat.
25021         Reported by Simon Josefsson.
25022
25023 2010-03-27  Bruno Haible  <bruno@clisp.org>
25024
25025         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
25026         * modules/getlogin (configure.ac): Update.
25027
25028         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
25029         * modules/getlogin_r (configure.ac): Update.
25030
25031         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
25032         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
25033         * modules/inet_ntop (configure.ac): Update.
25034
25035         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
25036         * modules/inet_pton (configure.ac): Update.
25037
25038         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
25039         * modules/mbslen (configure.ac): Update.
25040
25041         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
25042         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
25043         * modules/forkpty (configure.ac): Update.
25044         * modules/openpty (configure.ac): Update.
25045
25046 2010-03-26  Simon Josefsson  <simon@josefsson.org>
25047
25048         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
25049         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
25050
25051 2010-03-25  Eric Blake  <eblake@redhat.com>
25052
25053         maint: use pragma consistently across replacement headers
25054         * lib/ctype.in.h (system_header): Hoist for consistent placement.
25055         * lib/dirent.in.h (system_header): Likewise.
25056         * lib/errno.in.h (system_header): Likewise.
25057         * lib/float.in.h (system_header): Likewise.
25058         * lib/getopt.in.h (system_header): Likewise.
25059         * lib/iconv.in.h (system_header): Likewise.
25060         * lib/inttypes.in.h (system_header): Likewise.
25061         * lib/langinfo.in.h (system_header): Likewise.
25062         * lib/locale.in.h (system_header): Likewise.
25063         * lib/math.in.h (system_header): Likewise.
25064         * lib/netdb.in.h (system_header): Likewise.
25065         * lib/netinet_in.in.h (system_header): Likewise.
25066         * lib/pty.in.h (system_header): Likewise.
25067         * lib/sched.in.h (system_header): Likewise.
25068         * lib/se-selinux.in.h (system_header): Likewise.
25069         * lib/search.in.h (system_header): Likewise.
25070         * lib/spawn.in.h (system_header): Likewise.
25071         * lib/stdarg.in.h (system_header): Likewise.
25072         * lib/stdint.in.h (system_header): Likewise.
25073         * lib/string.in.h (system_header): Likewise.
25074         * lib/strings.in.h (system_header): Likewise.
25075         * lib/sys_file.in.h (system_header): Likewise.
25076         * lib/sys_ioctl.in.h (system_header): Likewise.
25077         * lib/sys_socket.in.h (system_header): Likewise.
25078         * lib/sys_times.in.h (system_header): Likewise.
25079         * lib/sys_utsname.in.h (system_header): Likewise.
25080         * lib/sys_wait.in.h (system_header): Likewise.
25081         * lib/sysexits.in.h (system_header): Likewise.
25082         * lib/unistd.in.h (system_header): Likewise.
25083         * lib/wctype.in.h (system_header): Likewise.
25084
25085         arpa/inet: fix mingw compilation warning
25086         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
25087         Reported by Matthew Bolte.
25088
25089 2010-03-25  Bruno Haible  <bruno@clisp.org>
25090
25091         Avoid collision between gnulib wrapper and libintl wrapper.
25092         * lib/printf.c (printf): Don't define if a printf wrapper is already
25093         defined in intl/printf.c.
25094         Reported by Michel Boaventura <michel@michelboaventura.com>.
25095
25096 2010-03-25  Bruno Haible  <bruno@clisp.org>
25097
25098         Use ANSI C.
25099         * lib/readutmp.h (getutent): Provide ANSI C prototype.
25100
25101 2010-03-25  Bruno Haible  <bruno@clisp.org>
25102
25103         Minor formatting changes.
25104         * lib/acosl.c: Insert space before function argument list.
25105         * lib/argz.c: Likewise.
25106         * lib/asinl.c: Likewise.
25107         * lib/expl.c: Likewise.
25108         * lib/gen-uni-tables.c: Likewise.
25109         * lib/gettext.h: Likewise.
25110         * lib/glthread/lock.h: Likewise.
25111         * lib/tanl.c: Likewise.
25112         * lib/uniname/uniname.c: Likewise.
25113         * tests/test-idpriv-drop.c: Likewise.
25114         * tests/test-idpriv-droptemp.c: Likewise.
25115         * tests/test-lock.c: Likewise.
25116         * tests/test-tls.c: Likewise.
25117         * lib/argp-help.c: Insert space before function-like macro argument
25118         list.
25119         * lib/memcmp.c: Likewise.
25120         * tests/test-base64.c: Likewise.
25121         * lib/localename.c: Insert space before sizeof's argument list.
25122         * lib/safe-alloc.h: Likewise.
25123         * lib/file-set.h: Insert space before macro argument list.
25124         * tests/test-argp.c: Likewise.
25125         * lib/argp-namefrob.h: Insert space before function parameter list.
25126         * lib/getaddrinfo.c: Likewise.
25127         * lib/netdb.in.h: Likewise.
25128         * lib/parse-duration.h: Likewise.
25129         * lib/parse-duration.c: Likewise.
25130         * lib/poll.c: Likewise.
25131         * lib/select.c: Likewise.
25132         * lib/trim.h: Likewise.
25133         * tests/test-usleep.c: Likewise.
25134         * lib/ldexpl.c: Insert space before function parameter list and before
25135         function argument list.
25136         * lib/logl.c: Likewise.
25137         * lib/sqrtl.c: Likewise.
25138         * lib/trim.c: Likewise.
25139         * lib/cosl.c: Use GNU style indentation. Insert space before function
25140         argument list.
25141         * lib/sinl.c: Likewise.
25142         * lib/tsearch.c: Insert space after 'for'.
25143         Reported by Jim Meyering.
25144
25145 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
25146
25147         * maint.mk (sc_Wundef_boolean): Check for the presence of the
25148         config header before grepping, as it's not present before
25149         autoreconf/configure are run.  Reported by Simon Josefsson.
25150
25151 2010-03-23  Bruno Haible  <bruno@clisp.org>
25152
25153         pt_chown: Make it work with automake < 1.11.
25154         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
25155         Reported by Simon Josefsson.
25156
25157 2010-03-23  Bruno Haible  <bruno@clisp.org>
25158
25159         pt_chown: Don't depend on GPLed modules.
25160         * lib/pt_chown.c: Don't include idpriv.h.
25161         (main): Don't drop privileges.
25162         * modules/pt_chown (Depends-on): Remove idpriv-drop.
25163         Reported by Simon Josefsson.
25164
25165 2010-03-24  Simon Josefsson  <simon@josefsson.org>
25166
25167         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
25168         suggestions from karl@freefriends.org (Karl Berry).
25169
25170 2010-03-22  Eric Blake  <eblake@redhat.com>
25171
25172         gethostname: further tweaks
25173         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
25174         are overriding gethostname.
25175         Suggested by Bruno Haible.
25176
25177 2010-03-21  Bruno Haible  <bruno@clisp.org>
25178
25179         Fix comments.
25180         * lib/forkpty.c (rpl_forkpty): Fix comment.
25181         * lib/openpty.c (rpl_openpty): Likewise.
25182         Reported by Eric Blake.
25183
25184 2010-03-22  Eric Blake  <eblake@redhat.com>
25185
25186         gethostname: fix build on mingw
25187         * lib/unistd.in.h (includes): Work around fact that mingw
25188         <winsock2.h> re-includes <unistd.h>, by avoiding any
25189         redeclarations if we are being included by <winsock2.h>.
25190         Reported by Matthias Bolte.
25191
25192 2010-03-21  Bruno Haible  <bruno@clisp.org>
25193
25194         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25195         * lib/forkpty.c (forkpty): New replacement function, from glibc with
25196         modifications.
25197         * lib/pty.in.h (forkpty): Update declaration. Add comments.
25198         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
25199         provide the replacement.
25200         * modules/forkpty (Depends-on): Add openpty, login_tty.
25201         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
25202         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
25203         * doc/glibc-functions/forkpty.texi: More supported platforms.
25204         * config/srclist.txt: Add forkpty.c (commented).
25205
25206 2010-03-21  Bruno Haible  <bruno@clisp.org>
25207
25208         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
25209         (Makefile.am): Verify that PTY_LIB is defined.
25210
25211         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
25212
25213 2010-03-21  Bruno Haible  <bruno@clisp.org>
25214
25215         Tests for module 'login_tty'.
25216         * modules/login_tty-tests: New file.
25217         * tests/test-login_tty.c: New file.
25218
25219         New module 'login_tty'.
25220         * lib/login_tty.c: New file.
25221         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
25222         * modules/login_tty: New file.
25223         * doc/glibc-functions/login_tty.texi: Mention the new module.
25224
25225 2010-03-21  Bruno Haible  <bruno@clisp.org>
25226
25227         login_tty: Documentation.
25228         * doc/glibc-functions/login_tty.texi: New file.
25229         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
25230
25231 2010-03-21  Bruno Haible  <bruno@clisp.org>
25232
25233         pty: Consistent macro naming.
25234         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
25235         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
25236         * modules/pty (configure.ac): Update.
25237
25238 2010-03-21  Bruno Haible  <bruno@clisp.org>
25239
25240         Tests for openpty: Make stricter.
25241         * tests/test-openpty.c (main): Add test of canonical processing and
25242         erase.
25243         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
25244
25245         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25246         * lib/openpty.c (openpty): New replacement function.
25247         * lib/pty.in.h: Include <termios.h>.
25248         (openpty): Update declaration. Add comments.
25249         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
25250         is not declared, arrange to provide the replacement. Check for _getpty
25251         and posix_openpt.
25252         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
25253         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
25254         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
25255         * modules/pty-tests (test_pty_c___LDADD): New variable.
25256         * doc/glibc-functions/openpty.texi: More supported platforms.
25257
25258 2010-03-21  Bruno Haible  <bruno@clisp.org>
25259
25260         setenv: Tweaks.
25261         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
25262         the test program.
25263         * doc/posix-functions/setenv.texi: Update platforms list.
25264
25265 2010-03-21  Bruno Haible  <bruno@clisp.org>
25266
25267         New module 'unlockpt'.
25268         * lib/unlockpt.c: New file, from glibc with modifications.
25269         * m4/unlockpt.m4: New file.
25270         * modules/unlockpt: New file.
25271         * lib/stdlib.in.h (unlockpt): New declaration.
25272         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
25273         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
25274         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
25275         HAVE_UNLOCKPT.
25276         * doc/posix-functions/unlockpt.texi: Mention the new module.
25277         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
25278         * config/srclist.txt: Add unlockpt.c (commented).
25279
25280 2010-03-21  Jim Meyering  <meyering@redhat.com>
25281
25282         maint.mk: prohibit inclusion of "intprops.h" without use
25283         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
25284
25285 2010-03-21  Bruno Haible  <bruno@clisp.org>
25286
25287         New module 'grantpt'.
25288         * lib/grantpt.c: New file, from glibc with modifications.
25289         * m4/grantpt.m4: New file.
25290         * modules/grantpt: New file.
25291         * lib/stdlib.in.h (grantpt): New declaration.
25292         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
25293         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
25294         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
25295         HAVE_GRANTPT.
25296         * doc/posix-functions/grantpt.texi: Mention the new module.
25297         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
25298         * config/srclist.txt: Add grantpt.c (commented).
25299
25300 2010-03-21  Bruno Haible  <bruno@clisp.org>
25301
25302         New module 'pt_chown'.
25303         * lib/pt_chown.c: New file, from glibc with modifications.
25304         * lib/pty-private.h: New file, from glibc with modifications.
25305         * modules/pt_chown: New file.
25306         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
25307
25308 2010-03-21  Bruno Haible  <bruno@clisp.org>
25309
25310         Tests for module 'ptsname'.
25311         * modules/ptsname-tests: New file.
25312         * tests/test-ptsname.c: New file.
25313
25314         New module 'ptsname'.
25315         * lib/ptsname.c: New file, from glibc with modifications.
25316         * m4/ptsname.m4: New file.
25317         * modules/ptsname: New file.
25318         * lib/stdlib.in.h (ptsname): New declaration.
25319         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
25320         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
25321         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
25322         HAVE_PTSNAME.
25323         * doc/posix-functions/ptsname.texi: Mention the new module.
25324         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
25325         * config/srclist.txt: Add ptsname.c (commented).
25326
25327 2010-03-21  Bruno Haible  <bruno@clisp.org>
25328
25329         Tests for module 'ttyname_r'.
25330         * modules/ttyname_r-tests: New file.
25331         * tests/test-ttyname_r.c: New file.
25332
25333         New module 'ttyname_r'.
25334         * lib/ttyname_r.c: New file.
25335         * m4/ttyname_r.m4: New file.
25336         * modules/ttyname_r: New file.
25337         * lib/unistd.in.h (ttyname_r): New declaration.
25338         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
25339         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
25340         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
25341         HAVE_TTYNAME_R.
25342         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
25343         * doc/posix-functions/ttyname_r.texi: Mention the new module.
25344
25345 2010-03-20  Bruno Haible  <bruno@clisp.org>
25346
25347         signal: Undefine macro definitions in C++ mode.
25348         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
25349         sigfillset): Undefine macro definitions from the system header in C++
25350         mode.
25351         Reported by John W. Eaton <jwe@gnu.org>.
25352
25353 2010-03-20  Bruno Haible  <bruno@clisp.org>
25354
25355         Ensure no #include statements inside extern "C" { ... }.
25356         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
25357         contain #include statements.
25358         * lib/time.in.h: Likewise.
25359
25360 2010-03-20  Bruno Haible  <bruno@clisp.org>
25361
25362         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
25363         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
25364         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
25365         Reported by John W. Eaton <jwe@gnu.org>.
25366
25367 2010-03-20  Bruno Haible  <bruno@clisp.org>
25368
25369         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
25370         Reported by Jim Meyering.
25371
25372 2010-03-20  Bruno Haible  <bruno@clisp.org>
25373
25374         pipe: Set errno upon failure.
25375         * lib/pipe.h: Specify that when -1 is returned, errno is set.
25376         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
25377         errno value in error message.
25378
25379 2010-03-20  Bruno Haible  <bruno@clisp.org>
25380             Jim Meyering  <meyering@redhat.com>
25381
25382         lchown: Avoid "unused variable" warning.
25383         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
25384
25385 2010-03-20  Bruno Haible  <bruno@clisp.org>
25386
25387         Work around unlink() bug on MacOS X 10.5.6.
25388         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
25389         attempting to unlink a parent directory.
25390         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
25391         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
25392         activate for the replacement function.
25393         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
25394
25395 2010-03-20  Bruno Haible  <bruno@clisp.org>
25396
25397         Fix link errors on Solaris 8.
25398         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
25399         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
25400
25401 2010-03-19  Jim Meyering  <meyering@redhat.com>
25402
25403         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
25404         The _LIBC implementation of build_range_exp correctly honors the
25405         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
25406         However, the non-_LIBC implementation would ignore that syntax-bit
25407         flag and return REG_ERANGE unconditionally.
25408         This change makes it honor that flag.
25409         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
25410         Make two pointer parameters "const".
25411         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
25412         (parse_bracket_exp): Update caller.
25413
25414         regex.m4: correct the reversed range endpoint ([b-a]) test
25415         * m4/regex.m4: When requiring that [b-a] evoke failure,
25416         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
25417         test pass once again for x86-based systems.
25418
25419 2010-03-19  Bruno Haible  <bruno@clisp.org>
25420
25421         scandir: Fix link error on Solaris 8.
25422         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
25423         macros.
25424
25425 2010-03-19  Bruno Haible  <bruno@clisp.org>
25426
25427         getusershell: Fix documentation.
25428         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
25429         module.
25430         * doc/glibc-functions/setusershell.texi: Likewise.
25431
25432         getusershell: Provide declaration, missing on Solaris 9.
25433         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
25434         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
25435         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
25436         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
25437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25438         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
25439         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
25440         HAVE_GETUSERSHELL.
25441         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
25442
25443 2010-03-19  Bruno Haible  <bruno@clisp.org>
25444
25445         wctype: Provide iswblank function.
25446         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
25447         exists and is fine.
25448         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
25449         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
25450         * tests/test-wctype.c (main): Re-enable the iswblank tests.
25451         * doc/posix-functions/iswblank.texi: Update.
25452
25453 2010-03-19  Bruno Haible  <bruno@clisp.org>
25454
25455         Tests of module 'pty' in C++ mode.
25456         * modules/pty-tests: New file.
25457         * tests/test-pty-c++.cc: New file.
25458         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25459
25460 2010-03-19  Eric Blake  <eblake@redhat.com>
25461
25462         logb: fix documentation
25463         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25464         1.5 declaration bug.
25465
25466         forkpty, openpty: prefer glibc's const-safe prototype
25467         * lib/forkpty.c (rpl_forkpty): New file.
25468         * lib/openpty.c (rpl_openpty): Likewise.
25469         * modules/forkpty (Files): Distribute it.
25470         * modules/openpty (Files): Likewise.
25471         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25472         check...
25473         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25474         replacement for for non-const BSD signature.
25475         * modules/pty (Makefile.am): Substitute witnesses.
25476         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25477         * tests/test-forkpty.c: Update signature check.
25478         * tests/test-openpty.c: Likewise.
25479         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25480         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25481
25482         forkpty, openpty: split functions into new modules
25483         * modules/pty (Makefile.am): Substitute new witnesses.
25484         (Libraries): Move library detection...
25485         * modules/forkpty: ...into new module.
25486         * modules/openpty: Another new module.
25487         * modules/pty-tests: Rename and split...
25488         * modules/forkpty-tests: ...to this...
25489         * modules/openpty-tests: ...and this.
25490         * tests/test-pty.c: Rename and split...
25491         * tests/test-forkpty.c: ...to this...
25492         * tests/test-openpty.c: ...and this.
25493         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25494         (gl_PTY): Split library searching...
25495         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25496         (gl_FORKPTY, gl_OPENPTY): New macros.
25497         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25498         * NEWS: Mention the split.
25499         * MODULES.html.sh (Misc): Document the modules.
25500         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25501         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25502
25503         pty: improve replacement header
25504         * lib/pty.in.h: New file.
25505         * modules/pty (Files): Ship it.
25506         (Makefile.am): Always build replacement.
25507         * m4/pty.m4: Rename...
25508         * m4/pty_h.m4: ...to this.
25509         (gl_PTY): Modernize setting of witness macros; update check of
25510         forkpty to take proper advantage of cache.
25511         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25512
25513         getopt: avoid compiler warning
25514         * lib/getopt.c (attribute_hidden): Remove unused macro.
25515
25516 2010-03-18  Bruno Haible  <bruno@clisp.org>
25517
25518         Fix link errors on Solaris 8.
25519         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25520         * modules/search-tests (test_search_c___LDADD): Likewise.
25521         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25522         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25523         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25524         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
25525         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
25526         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
25527         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
25528
25529 2010-03-18  Bruno Haible  <bruno@clisp.org>
25530
25531         Fix bug introduced on 2010-03-14.
25532         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
25533         (gl_SPAWN_H): Require it.
25534         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
25535         Reported by Simon Josefsson.
25536
25537 2010-03-18  Bruno Haible  <bruno@clisp.org>
25538
25539         Fix typo introduced on 2009-12-31.
25540         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
25541         posix_spawn_file_actions_adddup2.
25542
25543 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
25544         and Eric Blake  <eblake@redhat.com>
25545
25546         test-vc-list-files-git: make more robust
25547         * tests/test-vc-list-files-git.sh: Unset problematic environment
25548         variables.  Chain commands together.
25549
25550 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
25551
25552         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
25553         `AC_CHECK_DECL' invocation.
25554
25555 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
25556
25557         * lib/inttostr.c (inttostr): Make sure the invocation of verify
25558         appears before executable statements. Suggested by Petr Sumbera
25559         <Petr.Sumbera@Sun.COM>.
25560
25561 2010-03-14  Bruno Haible  <bruno@clisp.org>
25562
25563         * tests/test-flock.c (test_exclusive): Comment out a test that causes
25564         portability problems. Instead use a simpler test.
25565         (main): Check that invalid arguments are rejected only on Linux.
25566
25567 2010-03-14  Bruno Haible  <bruno@clisp.org>
25568
25569         Fix bug introduced on 2009-12-31.
25570         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25571         gl_PREREQ_SYS_H_WINSOCK2 always.
25572         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
25573         SYS_SOCKET_H variable.
25574         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
25575         Update comments.
25576         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
25577         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25578         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25579         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25580         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
25581
25582 2010-03-14  Bruno Haible  <bruno@clisp.org>
25583
25584         Fix values returned by sinl, cosl.
25585         * lib/trigl.h: Add specification comments.
25586         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
25587         that combines the values from the precomputed table with the values of
25588         the Chebyshev polynomials.
25589
25590 2010-03-14  Bruno Haible  <bruno@clisp.org>
25591
25592         Fix compilation error when modules 'posix_spawn[p]' are not used.
25593         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
25594         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
25595
25596 2010-03-14  Bruno Haible  <bruno@clisp.org>
25597
25598         Fix compilation error on mingw when module 'time_r' is not used.
25599         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
25600         is 1.
25601         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
25602         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25603         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
25604         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
25605
25606 2010-03-14  Bruno Haible  <bruno@clisp.org>
25607
25608         Fix compilation error with Sun C.
25609         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
25610         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
25611         instead of GCC specific ULONG_LONG_MAX.
25612         * lib/xstrtoll.c: Likewise.
25613         * lib/xstrtoull.c: Likewise.
25614
25615 2010-03-13  Bruno Haible  <bruno@clisp.org>
25616
25617         Allow the user to disable C++ code and tests.
25618         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
25619         (gl_PROG_ANSI_CXX): Require it.
25620
25621 2010-03-13  Bruno Haible  <bruno@clisp.org>
25622
25623         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
25624         cases.
25625
25626 2010-03-13  Bruno Haible  <bruno@clisp.org>
25627
25628         Test that gnulib does not break the standard C++ headers.
25629         * tests/test-locale-c++2.cc: New file.
25630         * modules/locale-tests (Files): Add it.
25631         (Makefile.am): Compile it for test-locale-c++.
25632         * tests/test-math-c++2.cc: New file.
25633         * modules/math-tests (Files): Add it.
25634         (Makefile.am): Compile it for test-math-c++.
25635         * tests/test-signal-c++2.cc: New file.
25636         * modules/signal-tests (Files): Add it.
25637         (Makefile.am): Compile it for test-signal-c++.
25638         * tests/test-stdio-c++2.cc: New file.
25639         * modules/stdio-tests (Files): Add it.
25640         (Makefile.am): Compile it for test-stdio-c++.
25641         * tests/test-stdlib-c++2.cc: New file.
25642         * modules/stdlib-tests (Files): Add it.
25643         (Makefile.am): Compile it for test-stdlib-c++.
25644         * tests/test-string-c++2.cc: New file.
25645         * modules/string-tests (Files): Add it.
25646         (Makefile.am): Compile it for test-string-c++.
25647         * tests/test-time-c++2.cc: New file.
25648         * modules/time-tests (Files): Add it.
25649         (Makefile.am): Compile it for test-time-c++.
25650         Reported by John W. Eaton <jwe@gnu.org>.
25651
25652 2010-03-13  Bruno Haible  <bruno@clisp.org>
25653
25654         * gnulib-tool (func_usage): Clarify which options are available for
25655         --create-testdir and --create-megatestdir.
25656
25657 2010-03-13  Bruno Haible  <bruno@clisp.org>
25658
25659         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
25660         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
25661         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
25662         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25663         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
25664         when appropriate.
25665         Reported by Jim Meyering.
25666
25667 2010-03-12  Simon Josefsson  <simon@josefsson.org>
25668
25669         * gnulib-tool (func_import): Explain origin of code.
25670
25671 2010-03-12  Bruno Haible  <bruno@clisp.org>
25672
25673         Fix problem with automake's definition of CXXLINK.
25674         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
25675         Reported by Simon Josefsson and Ludovic Courtès.
25676
25677 2010-03-12  Bruno Haible  <bruno@clisp.org>
25678
25679         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
25680         stable releases.
25681
25682 2010-03-11  Bruno Haible  <bruno@clisp.org>
25683
25684         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
25685         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
25686         whether the system provides one variant or multiple variants of the
25687         function.
25688         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
25689         C++ compilers.
25690         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
25691         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
25692         Reported by Jim Meyering.
25693
25694 2010-03-09  Simon Josefsson  <simon@josefsson.org>
25695
25696         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
25697
25698 2010-03-08  Bruno Haible  <bruno@clisp.org>
25699
25700         gnulib-tool: Add support for --libtool in --create-testdir.
25701         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
25702         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
25703
25704 2010-03-08  Eric Blake  <eblake@redhat.com>
25705
25706         gnulib-tool.texi: mention possibility of git submodule
25707         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
25708         submodules.
25709         * doc/.gitignore: Ignore another generated file.
25710
25711 2010-03-08  Karl Berry  <karl@gnu.org>
25712
25713         * doc/gnulib-tool.texi (VCS Issues): Mention third option
25714         of committing gnulib files while skipping others.
25715
25716 2010-03-07  Bruno Haible  <bruno@clisp.org>
25717
25718         Tests of module 'wctype' in C++ mode.
25719         * tests/test-wctype-c++.cc: New file.
25720         * modules/wctype-tests (Files): Add it and tests/signature.h.
25721         (Depends-on): Add ansi-c++-opt.
25722         (Makefile.am): Arrange to compile and run test-wctype-c++.
25723
25724         Tests of module 'wchar' in C++ mode.
25725         * tests/test-wchar-c++.cc: New file.
25726         * modules/wchar-tests (Files): Add it and tests/signature.h.
25727         (Depends-on): Add ansi-c++-opt.
25728         (Makefile.am): Arrange to compile and run test-wchar-c++.
25729         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
25730         gl_MODULE_INDICATOR.
25731
25732         Tests of module 'unistd' in C++ mode.
25733         * tests/test-unistd-c++.cc: New file.
25734         * modules/unistd-tests (Files): Add it and tests/signature.h.
25735         (Depends-on): Add ansi-c++-opt.
25736         (Makefile.am): Arrange to compile and run test-unistd-c++.
25737         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
25738         gl_MODULE_INDICATOR.
25739
25740         Tests of module 'time' in C++ mode.
25741         * tests/test-time-c++.cc: New file.
25742         * modules/time-tests (Files): Add it and tests/signature.h.
25743         (Depends-on): Add ansi-c++-opt.
25744         (Makefile.am): Arrange to compile and run test-time-c++.
25745         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25746
25747         Tests of module 'sys_time' in C++ mode.
25748         * tests/test-sys_time-c++.cc: New file.
25749         * modules/sys_time-tests (Files): Add it and tests/signature.h.
25750         (Depends-on): Add ansi-c++-opt.
25751         (Makefile.am): Arrange to compile and run test-sys_time-c++.
25752         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
25753         gl_MODULE_INDICATOR.
25754
25755         Tests of module 'sys_stat' in C++ mode.
25756         * tests/test-sys_stat-c++.cc: New file.
25757         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
25758         (Depends-on): Add ansi-c++-opt.
25759         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
25760         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
25761         gl_MODULE_INDICATOR.
25762
25763         Tests of module 'sys_socket' in C++ mode.
25764         * tests/test-sys_socket-c++.cc: New file.
25765         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
25766         (Depends-on): Add ansi-c++-opt.
25767         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
25768         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
25769         gl_MODULE_INDICATOR.
25770
25771         Tests of module 'sys_select' in C++ mode.
25772         * tests/test-sys_select-c++.cc: New file.
25773         * modules/sys_select-tests (Files): Add it and tests/signature.h.
25774         (Depends-on): Add ansi-c++-opt.
25775         (Makefile.am): Arrange to compile and run test-sys_select-c++.
25776         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
25777         gl_MODULE_INDICATOR.
25778
25779         Tests of module 'sys_ioctl' in C++ mode.
25780         * tests/test-sys_ioctl-c++.cc: New file.
25781         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
25782         (Depends-on): Add ansi-c++-opt.
25783         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
25784         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
25785         gl_MODULE_INDICATOR.
25786
25787         Tests of module 'string' in C++ mode.
25788         * tests/test-string-c++.cc: New file.
25789         * modules/string-tests (Files): Add it and tests/signature.h.
25790         (Depends-on): Add ansi-c++-opt.
25791         (Makefile.am): Arrange to compile and run test-string-c++.
25792         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
25793         gl_MODULE_INDICATOR.
25794
25795         Tests of module 'stdlib' in C++ mode.
25796         * tests/test-stdlib-c++.cc: New file.
25797         * modules/stdlib-tests (Files): Add it and tests/signature.h.
25798         (Depends-on): Add ansi-c++-opt.
25799         (Makefile.am): Arrange to compile and run test-stdlib-c++.
25800         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
25801         gl_MODULE_INDICATOR.
25802
25803         Tests of module 'stdio' in C++ mode.
25804         * tests/test-stdio-c++.cc: New file.
25805         * modules/stdio-tests (Files): Add it and tests/signature.h.
25806         (Depends-on): Add ansi-c++-opt.
25807         (Makefile.am): Arrange to compile and run test-stdio-c++.
25808         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
25809         gl_MODULE_INDICATOR.
25810
25811         Tests of module 'spawn' in C++ mode.
25812         * tests/test-spawn-c++.cc: New file.
25813         * modules/spawn-tests (Files): Add it and tests/signature.h.
25814         (Depends-on): Add ansi-c++-opt.
25815         (Makefile.am): Arrange to compile and run test-spawn-c++.
25816         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
25817         gl_MODULE_INDICATOR.
25818
25819         Tests of module 'signal' in C++ mode.
25820         * tests/test-signal-c++.cc: New file.
25821         * modules/signal-tests (Files): Add it and tests/signature.h.
25822         (Depends-on): Add ansi-c++-opt.
25823         (Makefile.am): Arrange to compile and run test-signal-c++.
25824         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
25825         gl_MODULE_INDICATOR.
25826
25827         Tests of module 'search' in C++ mode.
25828         * tests/test-search-c++.cc: New file.
25829         * modules/search-tests (Files): Add it and tests/signature.h.
25830         (Depends-on): Add ansi-c++-opt.
25831         (Makefile.am): Arrange to compile and run test-search-c++.
25832         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
25833         gl_MODULE_INDICATOR.
25834
25835         Tests of module 'math' in C++ mode.
25836         * tests/test-math-c++.cc: New file.
25837         * modules/math-tests (Files): Add it and tests/signature.h.
25838         (Depends-on): Add ansi-c++-opt.
25839         (Makefile.am): Arrange to compile and run test-math-c++.
25840         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25841
25842         Tests of module 'locale' in C++ mode.
25843         * tests/test-locale-c++.cc: New file.
25844         * modules/locale-tests (Files): Add it and tests/signature.h.
25845         (Depends-on): Add ansi-c++-opt.
25846         (Makefile.am): Arrange to compile and run test-locale-c++.
25847         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
25848         gl_MODULE_INDICATOR.
25849
25850         Tests of module 'langinfo' in C++ mode.
25851         * tests/test-langinfo-c++.cc: New file.
25852         * modules/langinfo-tests (Files): Add it and tests/signature.h.
25853         (Depends-on): Add ansi-c++-opt.
25854         (Makefile.am): Arrange to compile and run test-langinfo-c++.
25855         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
25856         gl_MODULE_INDICATOR.
25857
25858         Tests of module 'iconv-h' in C++ mode.
25859         * tests/test-iconv-h-c++.cc: New file.
25860         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
25861         (Depends-on): Add ansi-c++-opt.
25862         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
25863
25864         Tests of module 'glob' in C++ mode.
25865         * tests/test-glob-c++.cc: New file.
25866         * modules/glob-tests (Files): Add it.
25867         (Depends-on): Add ansi-c++-opt.
25868         (Makefile.am): Arrange to compile and run test-glob-c++.
25869
25870         Tests of module 'fcntl-h' in C++ mode.
25871         * tests/test-fcntl-h-c++.cc: New file.
25872         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
25873         (Depends-on): Add ansi-c++-opt.
25874         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
25875         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
25876         gl_MODULE_INDICATOR.
25877
25878         Tests of module 'dirent' in C++ mode.
25879         * tests/test-dirent-c++.cc: New file.
25880         * modules/dirent-tests (Files): Add it and tests/signature.h.
25881         (Depends-on): Add ansi-c++-opt.
25882         (Makefile.am): Arrange to compile and run test-dirent-c++.
25883         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25884         gl_MODULE_INDICATOR.
25885
25886         New module 'ansi-c++-opt'.
25887         * modules/ansi-c++-opt: New file.
25888         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
25889
25890         Document C++ namespace mode.
25891         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
25892
25893         wctype: Avoid #define replacements in C++ mode.
25894         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
25895         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
25896         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
25897         In C++, define a namespaced alias symbol.
25898         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
25899         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
25900         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
25901         rule.
25902
25903         wchar: Avoid #define replacements in C++ mode.
25904         * lib/wchar.in.h: Include c++defs.h.
25905         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
25906         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
25907         symbol.
25908         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
25909         * modules/wchar (Depends-on): Add c++defs.
25910         (Makefile.am): Update wchar.h rule.
25911
25912         unistd: Avoid #define replacements in C++ mode.
25913         * lib/unistd.in.h: Include c++defs.h.
25914         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
25915         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
25916         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
25917         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
25918         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
25919         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
25920         symbol.
25921         (environ): Update.
25922         * modules/unistd (Depends-on): Add c++defs.
25923         (Makefile.am): Update unistd.h rule.
25924
25925         time: Avoid #define replacements in C++ mode.
25926         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
25927         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
25928         define a namespaced alias symbol.
25929         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
25930         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
25931         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
25932         * modules/time (Depends-on): Add c++defs, warn-on-use.
25933         (Makefile.am): Update time.h rule.
25934         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25935         * modules/nanosleep (configure.ac): Likewise.
25936         * modules/strptime (configure.ac): Likewise.
25937         * modules/timegm (configure.ac): Likewise.
25938
25939         sys_time: Avoid #define replacements in C++ mode.
25940         * lib/sys_time.in.h: Include c++defs.h.
25941         (gettimeofday): In C++, define a namespaced alias symbol.
25942         * modules/sys_time (Depends-on): Add c++defs.
25943         (Makefile.am): Update sys/time.h rule.
25944
25945         sys_stat: Avoid #define replacements in C++ mode.
25946         * lib/sys_stat.in.h: Include c++defs.h.
25947         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
25948         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
25949         namespaced alias symbol.
25950         In C++, define a namespaced alias symbol.
25951         * modules/sys_stat (Depends-on): Add c++defs.
25952         (Makefile.am): Update sys/stat.h rule.
25953
25954         sys_socket: Avoid #define replacements in C++ mode.
25955         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
25956         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
25957         definitions also when the system has a <sys/socket.h>.
25958         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
25959         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
25960         In C++, define a namespaced alias symbol.
25961         * modules/sys_socket (Depends-on): Add c++defs.
25962         (Makefile.am): Update sys/socket.h rule.
25963
25964         sys_select: Avoid #define replacements in C++ mode.
25965         * lib/sys_select.in.h: Include c++defs.h. Enable the function
25966         definitions also when the system has a <sys/select.h>.
25967         (select): In C++, define a namespaced alias symbol.
25968         * modules/sys_select (Depends-on): Add c++defs.
25969         (Makefile.am): Update sys/select.h rule.
25970
25971         sys_ioctl: Avoid #define replacements in C++ mode.
25972         * lib/sys_ioctl.in.h: Include c++defs.h.
25973         (ioctl): In C++, define a namespaced alias symbol.
25974         * modules/sys_ioctl (Depends-on): Add c++defs.
25975         (Makefile.am): Update sys/ioctl.h rule.
25976
25977         string: Avoid #define replacements in C++ mode.
25978         * lib/string.in.h: Include c++defs.h.
25979         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
25980         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
25981         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
25982         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
25983         strsignal, strverscmp): In C++, define a namespaced alias symbol.
25984         * modules/string (Depends-on): Add c++defs.
25985         (Makefile.am): Update string.h rule.
25986
25987         stdlib: Avoid #define replacements in C++ mode.
25988         * lib/stdlib.in.h: Include c++defs.h.
25989         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
25990         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
25991         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
25992         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
25993         symbol.
25994         * modules/stdlib (Depends-on): Add c++defs.
25995         (Makefile.am): Update stdlib.h rule.
25996
25997         stdio: Avoid #define replacements in C++ mode.
25998         * lib/stdio.in.h: Include c++defs.h.
25999         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
26000         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
26001         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
26002         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
26003         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
26004         namespaced alias symbol.
26005         * modules/stdio (Depends-on): Add c++defs.
26006         (Makefile.am): Update stdio.h rule.
26007
26008         spawn: Avoid #define replacements in C++ mode.
26009         * lib/spawn.in.h: Include c++defs.h.
26010         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26011         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26012         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26013         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26014         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26015         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26016         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26017         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26018         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26019         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26020         In C++, define a namespaced alias symbol.
26021         * modules/spawn (Depends-on): Add c++defs.
26022         (Makefile.am): Update spawn.h rule.
26023
26024         signal: Avoid #define replacements in C++ mode.
26025         * lib/signal.in.h: Include c++defs.h.
26026         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26027         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
26028         namespaced alias symbol.
26029         * modules/signal (Depends-on): Add c++defs.
26030         (Makefile.am): Update signal.h rule.
26031
26032         search: Avoid #define replacements in C++ mode.
26033         * lib/search.in.h: Include c++defs.h.
26034         (_gl_search_compar_fn, _gl_search_action_fn): New types.
26035         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
26036         symbol.
26037         * modules/search (Depends-on): Add c++defs.
26038         (Makefile.am): Update search.h rule.
26039
26040         math: Avoid #define replacements in C++ mode.
26041         * lib/math.in.h: Include c++defs.h.
26042         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
26043         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
26044         trunc, truncl): In C++, define a namespaced alias symbol.
26045         * modules/math (Depends-on): Add c++defs.
26046         (Makefile.am): Update math.h rule.
26047
26048         locale: Avoid #define replacements in C++ mode.
26049         * lib/locale.in.h: Include c++defs.h.
26050         (duplocale): In C++, define a namespaced alias symbol.
26051         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
26052         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
26053         * modules/locale (Depends-on): Add c++defs.
26054         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
26055
26056         langinfo: Avoid #define replacements in C++ mode.
26057         * lib/langinfo.in.h: Include c++defs.h.
26058         (nl_langinfo): In C++, define a namespaced alias symbol.
26059         * modules/langinfo (Depends-on): Add c++defs.
26060         (Makefile.am): Update langinfo.h rule.
26061
26062         iconv-h: Avoid #define replacements in C++ mode.
26063         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
26064         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
26065         symbol.
26066         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
26067         whenever iconv is present.
26068         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
26069         (Makefile.am): Update iconv.h rule.
26070
26071         glob: Avoid #define replacements in C++ mode.
26072         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
26073         (_gl_glob_errfunc_fn): New type.
26074         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
26075         symbol.
26076         * modules/glob (Depends-on): Add c++defs, warn-on-use.
26077         (Makefile.am): Update glob.h rule.
26078
26079         fcntl-h: Avoid #define replacements in C++ mode.
26080         * lib/fcntl.in.h: Include c++defs.h.
26081         (fcntl, open, openat): In C++, define a namespaced alias symbol.
26082         * modules/fcntl-h (Depends-on): Add c++defs.
26083         (Makefile.am): Update fcntl.h rule.
26084
26085         dirent: Avoid #define replacements in C++ mode.
26086         * lib/dirent.in.h: Include c++defs.h.
26087         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
26088         namespaced alias symbol.
26089         (dirfd): Update declaration.
26090         * modules/dirent (Depends-on): Add c++defs.
26091         (Makefile.am): Update dirent.h rule.
26092
26093         ctype: Make it usable in C++ code.
26094         * lib/ctype.in.h: Include c++defs.h.
26095         (isblank): Declare as extern "C".
26096         * modules/ctype (Depends-on): Add c++defs.
26097         (Makefile.am): Update ctype.h rule.
26098
26099         New module 'c++defs'.
26100         * modules/c++defs: New file.
26101         * build-aux/c++defs.h: New file.
26102         Reported by John W. Eaton <jwe@gnu.org>.
26103
26104 2010-03-07  Bruno Haible  <bruno@clisp.org>
26105
26106         logb: Provide missing declaration for Cygwin.
26107         * lib/math.in.h (logb): New declaration.
26108         * m4/logb.m4: New file.
26109         * modules/logb (Files): Add m4/logb.m4.
26110         (Depends-on): Add math.
26111         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
26112         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
26113         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
26114         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
26115         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
26116
26117 2010-03-07  Bruno Haible  <bruno@clisp.org>
26118
26119         Fix test-cond link error.
26120         * tests/test-cond.c: Include <stdio.h>.
26121
26122 2010-03-07  Bruno Haible  <bruno@clisp.org>
26123
26124         Fix test-dirent-safer link error.
26125         * modules/dirent-safer-tests (Makefile.am): Define
26126         test_dirent_safer_LDADD.
26127
26128 2010-03-07  Bruno Haible  <bruno@clisp.org>
26129
26130         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
26131         among default module list.
26132
26133 2010-03-07  Bruno Haible  <bruno@clisp.org>
26134
26135         Fix link error on platforms with GNU libiconv.
26136         * modules/unistr/u8-strcoll-tests (Makefile): Define
26137         test_u8_strcoll_LDADD.
26138         * modules/unistr/u16-strcoll-tests (Makefile): Define
26139         test_u16_strcoll_LDADD.
26140         * modules/unistr/u32-strcoll-tests (Makefile): Define
26141         test_u32_strcoll_LDADD.
26142
26143 2010-03-07  Bruno Haible  <bruno@clisp.org>
26144
26145         Use POSIX declarations for socket functions.
26146         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
26147         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
26148         rpl_sendto): Change declaration to match POSIX.
26149         * lib/connect.c (rpl_connect): Likewise.
26150         * lib/accept.c (rpl_accept): Likewise.
26151         * lib/bind.c (rpl_bind): Likewise.
26152         * lib/getpeername.c (rpl_getpeername): Likewise.
26153         * lib/getsockname.c (rpl_getsockname): Likewise.
26154         * lib/recv.c (rpl_recv): Likewise.
26155         * lib/send.c (rpl_send): Likewise.
26156         * lib/recvfrom.c (rpl_recvfrom): Likewise.
26157         * lib/sendto.c (rpl_sendto): Likewise.
26158
26159 2010-03-06  Bruno Haible  <bruno@clisp.org>
26160
26161         Clarify access, euidaccess, faccessat.
26162         * doc/posix-functions/faccessat.texi: Mention security problem under
26163         "Other problems", not "Portability problems".
26164         * doc/posix-functions/access.texi: Likewise. Mention a related security
26165         problem.
26166         * doc/glibc-functions/euidaccess.texi: Mention security problems.
26167         * lib/euidaccess.c: Add comments about platforms.
26168         * lib/unistd.in.h (access, euidaccess): Add warnings.
26169
26170 2010-03-07  Bruno Haible  <bruno@clisp.org>
26171
26172         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
26173         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
26174         (POSIX_SPAWN_SETSCHEDULER): Likewise.
26175         (POSIX_SPAWN_USEVFORK): Define in a way that works when
26176         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26177         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
26178         declare when POSIX_SPAWN_SETSCHEDULER is zero.
26179         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
26180         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
26181         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
26182         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
26183         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
26184         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
26185         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
26186         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
26187         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
26188         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
26189         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
26190         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
26191         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
26192         Likewise.
26193         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
26194         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
26195         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
26196         Likewise.
26197         * tests/test-spawn.c (main): Make it work when
26198         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26199
26200 2010-03-07  Bruno Haible  <bruno@clisp.org>
26201
26202         Fix incorrect Makefile.am generation in German locale.
26203         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26204         Execute sed command with character range in C locale.
26205
26206 2010-03-06  Bruno Haible  <bruno@clisp.org>
26207
26208         Tests for module 'iconv-h'.
26209         * modules/iconv-h-tests: New file.
26210         * tests/test-iconv-h.c: New file.
26211
26212         New module 'iconv-h'.
26213         * modules/iconv-h: New file.
26214         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
26215         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
26216         (configure.ac): Remove gl_ICONV_H.
26217         (Makefile.am): Remove rule for iconv.h.
26218
26219 2010-03-06  Bruno Haible  <bruno@clisp.org>
26220
26221         More consistent naming of *.m4 files.
26222         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
26223         * modules/wctype (Files): Update.
26224
26225         More consistent naming of *.m4 files.
26226         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
26227         * modules/wchar (Files): Update.
26228
26229 2010-03-06  Jim Meyering  <meyering@redhat.com>
26230
26231         euidaccess: relax license to LGPLv2+
26232         * modules/euidaccess (License): Relax to LGPLv2+.
26233
26234 2010-03-06  Bruno Haible  <bruno@clisp.org>
26235
26236         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
26237         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
26238         (Makefile.am): Augment lib_SOURCES instead.
26239
26240 2010-03-04  Jim Meyering  <meyering@redhat.com>
26241
26242         utime: remove obsolete module
26243         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
26244         unnecessary for years, and has been marked as obsolete for 10 months.
26245         * modules/utime: Remove file.
26246         * lib/utime.c: Remove file.
26247         * m4/utime.m4: Remove file.
26248         * m4/utimes-null.m4: Remove file.
26249         * doc/posix-functions/utime.texi (utime): Remove reference to
26250         the module.  Move the sole "fixed by gnulib" item into the
26251         "problems not fixed by Gnulib" list.
26252         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
26253
26254 2010-03-05  Simon Josefsson  <simon@josefsson.org>
26255
26256         * modules/exit (License): Relax license to LGPLv2+.
26257         (Status): Mark as obsolete.
26258         * NEWS: Mention deprecated 'exit' module.
26259         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
26260         of now obsolete 'exit'.
26261
26262 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26263
26264         fts-lgpl: remove unused module
26265         * modules/fts-lgpl: Remove.
26266         * MODULES.html.sh (func_all_modules): Adjust.
26267         * check-module (find_included_lib_files): Adjust.
26268         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
26269
26270 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
26271
26272         copy-acl: enhance Solaris ACL error handling
26273         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
26274         * lib/set-mode-acl.c (qset_acl): Likewise.
26275
26276 2010-03-02  Bruno Haible  <bruno@clisp.org>
26277
26278         spawn: Don't override the system defined values on FreeBSD 8.
26279         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
26280         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
26281         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
26282         if HAVE_POSIX_SPAWN is 1.
26283         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
26284
26285 2010-03-01  Bruno Haible  <bruno@clisp.org>
26286
26287         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
26288         regarding Automake.
26289
26290 2010-02-25  Bruno Haible  <bruno@clisp.org>
26291
26292         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
26293         * gnulib-tool: Define 'echo' as a function only before the ksh alias
26294         setting, not afterwards.
26295         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
26296
26297 2010-02-24  Eric Blake  <eblake@redhat.com>
26298
26299         bootstrap, git-version-gen: use timestamp
26300         * build-aux/git-version-gen (scriptversion): Force UTC.
26301         * build-aux/bootstrap (scriptversion): New variable.
26302
26303         bootstrap: allow older git
26304         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
26305         older than 1.6.4.  Requested by the libvirt project.
26306
26307 2010-02-23  Eric Blake  <eblake@redhat.com>
26308
26309         warn-on-use: work with old autoconf
26310         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
26311         AS_VAR semantics of autoconf 2.60.
26312         Reported by Bruno Haible.
26313
26314         bootstrap: improve some comments
26315         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
26316         clarification comments.
26317
26318         gettimeofday: provide correct function
26319         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
26320         when replacement is declared, otherwise provide gettimeofday.
26321         Reported by Michael Goffioul.
26322
26323 2010-02-23  Jim Meyering  <meyering@redhat.com>
26324
26325         lib-ignore: relax license to "unlimited", not LGPLv2+
26326         * modules/lib-ignore (License): Relax to "unlimited".
26327
26328 2010-02-23  Jim Meyering  <meyering@redhat.com>
26329
26330         lib-ignore: relax license to LGPLv2+
26331         * modules/lib-ignore (License): Relax to LGPLv2+.
26332
26333 2010-02-22  Eric Blake  <eblake@redhat.com>
26334
26335         lseek: avoid bash 3.2 broken pipe bug
26336         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
26337         warning from bash 3.2.
26338         Reported by Ben Pfaff, with analysis from Bruno Haible.
26339
26340         bootstrap: support non-FSF copyright holder
26341         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
26342         bootstrap.conf override of COPYRIGHT_HOLDER.
26343         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
26344
26345         bootstrap: interoperate with gettext 0.14.1
26346         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
26347
26348         bootstrap: allow for alternate submodule location
26349         * build-aux/bootstrap (gnulib_path): New variable; use instead of
26350         hardcoding submodule location.
26351         (gnulib_mk): Allow direct use of Makefile.am.
26352
26353         bootstrap: use GNULIB_SRCDIR to reduce disk usage
26354         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
26355         rather than reconfiguring where the submodule points.
26356
26357         gettimeofday: restore support for platforms that lack function
26358         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
26359         replacement if function is missing.
26360         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
26361         * modules/sys_time (Makefile.am): Substitute it.
26362         * lib/sys_time.in.h (gettimeofday): Check it.
26363         Reported by Michael Goffioul.
26364
26365 2010-02-21  Bruno Haible  <bruno@clisp.org>
26366
26367         * lib/stdio.in.h (obstack_printf): Fix typo.
26368
26369 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
26370
26371         vc-list-files: use bzr ls's -R option
26372         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
26373         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
26374
26375 2010-02-21  Jim Meyering  <meyering@redhat.com>
26376
26377         init.sh: fix EXEEXT shims to work also for names like test-prog
26378         * tests/init.sh: Re-exec a better shell, when needed.
26379         If the current shell lacks support for posix $(...), an init.sh-using
26380         test will now try to find a shell that supports that.  If EXEEXT is
26381         nonempty, we also require support for hyphen-in-alias-name and shell
26382         substitutions like ${var#glob}.  Failure to find such a shell results
26383         in a skipped test.
26384
26385 2010-02-21  Bruno Haible  <bruno@clisp.org>
26386
26387         Really work around around "broken pipe" error message from bash 3.2.
26388         * gnulib-tool (func_reset_sigpipe): Remove function.
26389         (echo): In bash 3.2, define to a function that uses printf.
26390         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
26391
26392 2010-02-20  Bruno Haible  <bruno@clisp.org>
26393
26394         Restore support for automake 1.9.6 with autoconf 2.61.
26395         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
26396         Reported by James Youngman <jay@gnu.org>.
26397
26398 2010-02-20  Bruno Haible  <bruno@clisp.org>
26399
26400         Improve *printf warning condition.
26401         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
26402         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
26403         and the function is overridden due to SIGPIPE emulation.
26404
26405 2010-02-20  Bruno Haible  <bruno@clisp.org>
26406
26407         * lib/stdio.in.h: Tweak comments.
26408
26409 2010-02-19  Bruno Haible  <bruno@clisp.org>
26410
26411         Make it easier to find modules. New gnulib-tool option '--find'.
26412         * gnulib-tool: New option --find.
26413         (func_usage): Document it.
26414         (func_sanitize_modulelist): New function, extracted from
26415         func_all_modules.
26416         (func_all_modules): Invoke it.
26417         * doc/gnulib-tool.texi (Which modules?): New node.
26418
26419 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
26420
26421         * lib/sys_select.in.h: Provide select replacement even if
26422         sys/select.h exists on a system, for Interix.
26423
26424 2010-02-18  Jim Meyering  <meyering@redhat.com>
26425
26426         init.sh: don't use $(...) just yet
26427         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
26428         to accommodate e.g., Solaris' /bin/sh.
26429
26430 2010-02-17  Bruno Haible  <bruno@clisp.org>
26431
26432         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
26433         Reported by Ludovic Courtès <ludo@gnu.org>.
26434
26435 2010-02-16  Simon Josefsson  <simon@josefsson.org>
26436
26437         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
26438         linking with -lintl.
26439
26440 2010-02-17  Simon Josefsson  <simon@josefsson.org>
26441
26442         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
26443         if not provided by the system's netdb.h.  Reported by
26444         ludo@gnu.org (Ludovic Courtès).
26445
26446 2010-02-15  Jim Meyering  <meyering@redhat.com>
26447
26448         init.sh: improve portability and efficiency
26449         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
26450         "dummy" in a for loop.
26451         Use '!', not '^' to select the complement of a character set used
26452         in a "case" statement.
26453         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
26454         Suggestions from Eric Blake.
26455
26456         init.sh: automatically accommodate programs with the .exe suffix
26457         Automatically arrange for an invocation of "prog" to execute the
26458         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
26459         may use the simpler "prog", yet still work when built on a system
26460         that requires specifying the added suffix.
26461         Do this by constructing a function named "prog" that invokes
26462         "prog.exe" for each .exe file in selected directories.
26463         * tests/init.sh (find_exe_basenames_): New function.
26464         (create_exe_shim_functions_): New function.
26465         (path_prepend_): Use it.
26466
26467         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26468         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26469         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26470
26471 2010-02-14  Jim Meyering  <meyering@redhat.com>
26472
26473         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26474         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26475         (sc_prohibit_hash_pjw_without_use): New rule.
26476
26477         maint.mk: allow the default upload destination dir to be overridden
26478         * top/maint.mk (upload_dest_dir_): Define with a default that
26479         preserves the status quo.
26480         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26481         Reported by Peter Simons.
26482
26483         maint.mk: prohibit inclusion of "hash.h" without_use
26484         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26485
26486 2010-02-10  Jim Meyering  <meyering@redhat.com>
26487
26488         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26489         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26490
26491 2010-02-09  Eric Blake  <ebb9@byu.net>
26492         and Bruno Haible  <bruno@clisp.org>
26493
26494         obstack-printf-posix: ensure declaration
26495         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26496         extracted from gl_FUNC_OBSTACK_PRINTF.
26497         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26498         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26499         Likewise.
26500         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26501         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26502         0.
26503
26504 2010-02-08  Bruno Haible  <bruno@clisp.org>
26505
26506         gnulib-tool: Fix typo in 2010-02-07 commit.
26507         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26508         Reported by Eric Blake.
26509
26510 2010-02-07  Bruno Haible  <bruno@clisp.org>
26511
26512         gnulib-tool: Fix up caching patches.
26513         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26514         option --no-cache. Use associative arrays when supported by the shell.
26515         (sed_comments): New variable.
26516         (modcache): Renamed from do_cache.
26517         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26518         abbreviate unnecessarily.
26519         (have_associative): New variable.
26520         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26521         way also for ksh and zsh.
26522         (func_init_sed_convert_to_cache_statements): New function, extracted
26523         from func_cache_lookup_module. Add support for associative arrays.
26524         Don't set the c_MODULE_cached variable here. Ignore all lines before
26525         the first field header. Remove only the final newline, not all trailing
26526         newlines. Support empty fields correctly. Limit the use of 'eval' to
26527         assignments.
26528         (func_get_description, func_get_status, func_get_notice,
26529         func_get_applicability, func_get_filelist, func_get_dependencies,
26530         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
26531         func_get_automake_snippet, func_get_include_directive,
26532         func_get_link_directive, func_get_license, func_get_maintainer):
26533         Update documentation. List the unoptimized code first. Add support for
26534         associative arrays. Limit the use of 'eval' to assignments.
26535         (func_get_applicability): Undo stylistic pessimisations.
26536         (func_get_automake_snippet, func_get_include_directive): Reduce code
26537         duplication.
26538         (func_modules_transitive_closure, func_modules_add_dummy,
26539         func_modules_notice, func_modules_to_filelist, func_add_file,
26540         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
26541         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
26542         func_create_testdir, func_create_megatestdir): Update documentation.
26543
26544 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26545
26546         * gnulib-tool (func_cache_lookup_module): Store the module name
26547         belonging to the cache variable; error out if two different
26548         module names map to the same cache variable name.
26549
26550 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26551
26552         gnulib-tool: Make caching optional.
26553         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
26554         Update matching short versions of --no-changelog.
26555         (func_usage): Update.
26556         (sed_extract_cache_prog): Renamed from ...
26557         (sed_extract_prog): ... this; revert to old extraction script.
26558         (func_get_description, func_get_status)
26559         (func_get_notice, func_get_applicability, func_get_filelist)
26560         (func_get_dependencies, func_get_autoconf_early_snippet)
26561         (func_get_autoconf_snippet, func_get_automake_snippet)
26562         (func_get_include_directive, func_get_link_directive)
26563         (func_get_license, func_get_maintainer): If $do_cache is false,
26564         use old, non-caching extraction scripts.
26565         Suggestion by Bruno Haible.
26566
26567 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26568
26569         gnulib-tool: cache module metainformation.
26570         * gnulib-tool (sed_extract_prog): Match newline before each
26571         header, and rewrite header to a shell variable suffix.
26572         (func_cache_var, func_cache_lookup_module): New functions,
26573         to turn a module name into a cache variable prefix, and to
26574         look up and cache module metainformation.
26575         (func_get_description, func_get_status)
26576         (func_get_notice, func_get_applicability, func_get_filelist)
26577         (func_get_dependencies, func_get_autoconf_early_snippet)
26578         (func_get_autoconf_snippet, func_get_automake_snippet)
26579         (func_get_include_directive, func_get_link_directive)
26580         (func_get_license, func_get_maintainer): Use
26581         func_cache_lookup_module.
26582
26583 2010-02-07  Bruno Haible  <bruno@clisp.org>
26584
26585         fnctl: Fix missing dependency.
26586         * modules/fcntl (Depends-on): Add getdtablesize.
26587         Reported by John W. Eaton <jwe@gnu.org>.
26588
26589 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26590
26591         Argp: fix recognition of short alias options.
26592
26593         * lib/argp-parse.c (convert_options): Fix improper use of
26594         `|' between character values.
26595         * tests/test-argp.c (group1_option): New alias option
26596         --read (-r).
26597         (group1_parser): Special handling for 'r'.
26598         (test15): New test case.
26599         (test_fun): Add test15.
26600         * tests/test-argp-2.sh: Update expected --help and --usage
26601         outputs.
26602
26603 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26604
26605         * tests/test-argp.c: Fix indentation.
26606
26607 2010-02-04  Eric Blake  <ebb9@byu.net>
26608
26609         gettimeofday: expose type of second argument
26610         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
26611         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
26612         * tests/test-gettimeofday.c: Use it to silence warning.
26613         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
26614         the issue.
26615
26616 2010-02-03  Jim Meyering  <meyering@redhat.com>
26617
26618         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
26619         * lib/regcomp.c (TYPE_SIGNED): Define.
26620         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
26621
26622         regcomp.c: avoid a new -Wshadow warning
26623         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
26624
26625 2010-02-01  Jim Meyering  <meyering@redhat.com>
26626
26627         removing useless parentheses in cpp #define directives
26628         For motivation, see commit c0221df4, "define STREQ(a,b)
26629         consistently, removing useless parentheses"
26630         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
26631         * lib/mountlist.c (MNT_IGNORE): Likewise.
26632         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
26633
26634 2010-02-01  Eric Blake  <ebb9@byu.net>
26635
26636         sys_time: use link-warning
26637         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
26638         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
26639         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
26640         * modules/sys_time (Depends-on): Add warn-on-use.
26641         (Makefile.am): Always build replacement.
26642         (configure.ac): Update substitutions.
26643         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
26644         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
26645         bother with SYS_TIME_H.
26646         * modules/gettimeofday (configure.ac): Declare indicator.
26647         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
26648         in use.
26649
26650         closein-tests: silence compiler warning
26651         * tests/test-closein.c (main): Ignore fread result.
26652         * modules/closein-tests (Depends-on): Add ignore-value.
26653
26654         tests: silence warning about system return
26655         * tests/test-areadlink-with-size.c (main): Ignore system result.
26656         * tests/test-areadlink.c (main): Likewise.
26657         * tests/test-areadlinkat-with-size.c (main): Likewise.
26658         * tests/test-areadlinkat.c (main): Likewise.
26659         * tests/test-canonicalize-lgpl.c (main): Likewise.
26660         * tests/test-canonicalize.c (main): Likewise.
26661         * tests/test-chown.c (main): Likewise.
26662         * tests/test-fchownat.c (main): Likewise.
26663         * tests/test-fdutimensat.c (main): Likewise.
26664         * tests/test-fstatat.c (main): Likewise.
26665         * tests/test-futimens.c (main): Likewise.
26666         * tests/test-lchown.c (main): Likewise.
26667         * tests/test-link.c (main): Likewise.
26668         * tests/test-linkat.c (main): Likewise.
26669         * tests/test-lstat.c (main): Likewise.
26670         * tests/test-mkdir.c (main): Likewise.
26671         * tests/test-mkdirat.c (main): Likewise.
26672         * tests/test-mkfifo.c (main): Likewise.
26673         * tests/test-mkfifoat.c (main): Likewise.
26674         * tests/test-mknod.c (main): Likewise.
26675         * tests/test-readlink.c (main): Likewise.
26676         * tests/test-remove.c (main): Likewise.
26677         * tests/test-rename.c (main): Likewise.
26678         * tests/test-renameat.c (main): Likewise.
26679         * tests/test-rmdir.c (main): Likewise.
26680         * tests/test-symlink.c (main): Likewise.
26681         * tests/test-symlinkat.c (main): Likewise.
26682         * tests/test-unlink.c (main): Likewise.
26683         * tests/test-unlinkat.c (main): Likewise.
26684         * tests/test-utimens.c (main): Likewise.
26685         * tests/test-utimensat.c (main): Likewise.
26686         * modules/areadlink-tests (Depends-on): Add ignore-value.
26687         * modules/areadlink-with-size-tests (Depends-on): Likewise.
26688         * modules/areadlinkat-tests (Depends-on): Likewise.
26689         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
26690         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26691         * modules/canonicalize-tests (Depends-on): Likewise.
26692         * modules/chown-tests (Depends-on): Likewise.
26693         * modules/fdutimensat-tests (Depends-on): Likewise.
26694         * modules/futimens-tests (Depends-on): Likewise.
26695         * modules/lchown-tests (Depends-on): Likewise.
26696         * modules/link-tests (Depends-on): Likewise.
26697         * modules/linkat-tests (Depends-on): Likewise.
26698         * modules/lstat-tests (Depends-on): Likewise.
26699         * modules/mkdir-tests (Depends-on): Likewise.
26700         * modules/mkfifo-tests (Depends-on): Likewise.
26701         * modules/mkfifoat-tests (Depends-on): Likewise.
26702         * modules/mknod-tests (Depends-on): Likewise.
26703         * modules/openat-tests (Depends-on): Likewise.
26704         * modules/readlink-tests (Depends-on): Likewise.
26705         * modules/remove-tests (Depends-on): Likewise.
26706         * modules/rename-tests (Depends-on): Likewise.
26707         * modules/renameat-tests (Depends-on): Likewise.
26708         * modules/rmdir-tests (Depends-on): Likewise.
26709         * modules/symlink-tests (Depends-on): Likewise.
26710         * modules/symlinkat-tests (Depends-on): Likewise.
26711         * modules/unlink-tests (Depends-on): Likewise.
26712         * modules/utimens-tests (Depends-on): Likewise.
26713         * modules/utimensat-tests (Depends-on): Likewise.
26714
26715 2010-01-31  Bruno Haible  <bruno@clisp.org>
26716
26717         Perform the same test for many <math.h> functions.
26718         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
26719         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
26720         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
26721         of gl_MATHFUNC.
26722         * modules/acos (configure.ac): Likewise.
26723         * modules/asin (configure.ac): Likewise.
26724         * modules/atan (configure.ac): Likewise.
26725         * modules/atan2 (configure.ac): Likewise.
26726         * modules/cbrt (configure.ac): Likewise.
26727         * modules/copysign (configure.ac): Likewise.
26728         * modules/cos (configure.ac): Likewise.
26729         * modules/cosh (configure.ac): Likewise.
26730         * modules/erf (configure.ac): Likewise.
26731         * modules/erfc (configure.ac): Likewise.
26732         * modules/exp (configure.ac): Likewise.
26733         * modules/fmod (configure.ac): Likewise.
26734         * modules/hypot (configure.ac): Likewise.
26735         * modules/j0 (configure.ac): Likewise.
26736         * modules/j1 (configure.ac): Likewise.
26737         * modules/jn (configure.ac): Likewise.
26738         * modules/lgamma (configure.ac): Likewise.
26739         * modules/log (configure.ac): Likewise.
26740         * modules/log10 (configure.ac): Likewise.
26741         * modules/log1p (configure.ac): Likewise.
26742         * modules/pow (configure.ac): Likewise.
26743         * modules/remainder (configure.ac): Likewise.
26744         * modules/sin (configure.ac): Likewise.
26745         * modules/sinh (configure.ac): Likewise.
26746         * modules/tan (configure.ac): Likewise.
26747         * modules/tanh (configure.ac): Likewise.
26748         * modules/y0 (configure.ac): Likewise.
26749         * modules/y1 (configure.ac): Likewise.
26750         * modules/yn (configure.ac): Likewise.
26751         Suggested by Paolo Bonzini.
26752
26753 2010-01-31  Bruno Haible  <bruno@clisp.org>
26754
26755         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
26756
26757 2010-01-31  Bruno Haible  <bruno@clisp.org>
26758
26759         Work around getdelim() bug on FreeBSD 8.0.
26760         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
26761         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
26762         not work.
26763         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
26764         is 1.
26765         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
26766         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
26767         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
26768         a non-zero size.
26769         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
26770
26771 2010-01-31  Bruno Haible  <bruno@clisp.org>
26772
26773         Work around getline() bug on FreeBSD 8.0.
26774         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
26775         and a non-zero size.
26776         * tests/test-getline.c (main): Likewise.
26777         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
26778         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
26779
26780 2010-01-28  Eric Blake  <ebb9@byu.net>
26781
26782         regex: fix build failure
26783         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
26784         platforms.
26785
26786 2010-01-28  Jim Meyering  <meyering@redhat.com>
26787
26788         regex: do not ignore memory allocation failure
26789         * lib/regex_internal.c (create_cd_newstate): Detect
26790         re_node_set_init_copy failure.   Extracted from glibc commit
26791         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26792
26793         regex: sync more white-space changes from libc
26794         * lib/regex_internal.c: White-space only changes.
26795         * lib/regexec.c: Likewise.
26796
26797         regex: add many uses of __attribute_warn_unused_result__
26798         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
26799         * lib/regexec.c: Likewise.
26800         Extracted from a messy glibc commit.
26801
26802         regcomp.c: spelling and merge-artifact from glibc
26803         * lib/regcomp.c: Merge remainder of glibc's
26804         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26805
26806         regcomp.c: sync white-space changes from glibc
26807         * lib/regcomp.c: Merge to accommodate white space
26808         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26809
26810         regcomp.c: do not ignore internal return values
26811         * lib/regcomp.c: Do not ignore internal return values.
26812         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
26813         but without its white-space changes and spelling fixes.
26814
26815         regex_internal.h: define __attribute_warn_unused_result__
26816         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
26817
26818         maint: add a syntax-check rule to check for vulnerable Makefile.in
26819         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
26820
26821 2010-01-27  Jim Meyering  <meyering@redhat.com>
26822
26823         ncftpput-ftp: clean up spaces
26824         * build-aux/ncftpput-ftp: Make Copyright line consistent.
26825         Remove trailing blanks.
26826
26827 2010-01-27  Simon Josefsson  <simon@josefsson.org>
26828
26829         * build-aux/git-version-gen: Fix copyright statement.
26830         * build-aux/gnupload: Likewise.
26831         * tests/test-arcfour.c: Likewise.
26832         * tests/test-arctwo.c: Likewise.
26833         * tests/test-count-one-bits.c: Likewise.
26834         * tests/test-crc.c: Likewise.
26835         * tests/test-des.c: Likewise.
26836         * tests/test-gc-arcfour.c: Likewise.
26837         * tests/test-gc-arctwo.c: Likewise.
26838         * tests/test-gc-des.c: Likewise.
26839         * tests/test-gc-hmac-md5.c: Likewise.
26840         * tests/test-gc-hmac-sha1.c: Likewise.
26841         * tests/test-gc-md2.c: Likewise.
26842         * tests/test-gc-md4.c: Likewise.
26843         * tests/test-gc-md5.c: Likewise.
26844         * tests/test-gc-pbkdf2-sha1.c: Likewise.
26845         * tests/test-gc-rijndael.c: Likewise.
26846         * tests/test-gc-sha1.c: Likewise.
26847         * tests/test-gc.c: Likewise.
26848         * tests/test-gethostname.c: Likewise.
26849         * tests/test-gettimeofday.c: Likewise.
26850         * tests/test-hash.c: Likewise.
26851         * tests/test-hmac-md5.c: Likewise.
26852         * tests/test-hmac-sha1.c: Likewise.
26853         * tests/test-md2.c: Likewise.
26854         * tests/test-md4.c: Likewise.
26855         * tests/test-md5.c: Likewise.
26856         * tests/test-memchr.c: Likewise.
26857         * tests/test-memchr2.c: Likewise.
26858         * tests/test-memcmp.c: Likewise.
26859         * tests/test-memmem.c: Likewise.
26860         * tests/test-memrchr.c: Likewise.
26861         * tests/test-rawmemchr.c: Likewise.
26862         * tests/test-read-file.c: Likewise.
26863         * tests/test-rijndael.c: Likewise.
26864         * tests/test-sockets.c: Likewise.
26865         * tests/test-strchrnul.c: Likewise.
26866         * tests/test-strstr.c: Likewise.
26867         * tests/test-strtod.c: Likewise.
26868         * build-aux/ncftpput-ftp: Likewise.
26869
26870 2010-01-26  Eric Blake  <ebb9@byu.net>
26871
26872         ignore-value: update recommended header name
26873         * modules/ignore-value (Include): Only use <> for headers that
26874         exist in glibc.
26875
26876 2010-01-26  Jim Meyering  <meyering@redhat.com>
26877
26878         test-userspec.c: avoid compiler warnings
26879         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
26880         and "initialization discards qualifiers..." warnings.
26881         Put the first "uid" in its own scope, and make char* members "const".
26882
26883 2010-01-25  Bruno Haible  <bruno@clisp.org>
26884
26885         gnulib-tool: Make warning diagnostics consistent.
26886         * gnulib-tool (func_warning): New function.
26887         Use it everywhere where gnulib-tool produces output to stderr and it is
26888         not a fatal error.
26889
26890 2010-01-25  Bruno Haible  <bruno@clisp.org>
26891
26892         Fix test dependencies.
26893         * modules/xstrtol-tests (Depends-on): Add inttypes.
26894         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
26895
26896 2010-01-25 Pádraig Brady <P@draigBrady.com>
26897
26898         syntax-check: detect incorrect boolean macro values in config.h
26899         * modules/maintainer-makefile (configure.ac): Parameterize the location
26900         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
26901         The logic is from Eric Blake and the location indicated by Jim Meyering.
26902         Note the more natural CONFIG_HEADER name is prohibited by automake
26903         for backwards compatibility reasons.
26904         * top/maint.mk (sc_Wundef_boolean): New rule.
26905
26906 2010-01-25  Jim Meyering  <meyering@redhat.com>
26907
26908         bootstrap: detect MacOS 10.6's shasum, too
26909         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
26910         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
26911
26912 2010-01-23  Jim Meyering  <meyering@redhat.com>
26913
26914         xstrtoll: new module
26915         * modules/xstrtoll: New file.
26916         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
26917         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
26918         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
26919         ./configure fails if you use this module and lack "long long".
26920         * modules/xstrtoll-tests: New module.
26921         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
26922         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
26923         new init.sh-based test framework.
26924
26925 2010-01-24  Bruno Haible  <bruno@clisp.org>
26926
26927         Tests for module 'yn'.
26928         * modules/yn-tests: New file.
26929         * tests/test-yn.c: New file.
26930
26931         Tests for module 'y1'.
26932         * modules/y1-tests: New file.
26933         * tests/test-y1.c: New file.
26934
26935         Tests for module 'y0'.
26936         * modules/y0-tests: New file.
26937         * tests/test-y0.c: New file.
26938
26939         Tests for module 'tanh'.
26940         * modules/tanh-tests: New file.
26941         * tests/test-tanh.c: New file.
26942
26943         Tests for module 'tan'.
26944         * modules/tan-tests: New file.
26945         * tests/test-tan.c: New file.
26946
26947         Tests for module 'sqrt'.
26948         * modules/sqrt-tests: New file.
26949         * tests/test-sqrt.c: New file.
26950
26951         Tests for module 'sinh'.
26952         * modules/sinh-tests: New file.
26953         * tests/test-sinh.c: New file.
26954
26955         Tests for module 'sin'.
26956         * modules/sin-tests: New file.
26957         * tests/test-sin.c: New file.
26958
26959         Tests for module 'rint'.
26960         * modules/rint-tests: New file.
26961         * tests/test-rint.c: New file.
26962
26963         Tests for module 'remainder'.
26964         * modules/remainder-tests: New file.
26965         * tests/test-remainder.c: New file.
26966
26967         Tests for module 'pow'.
26968         * modules/pow-tests: New file.
26969         * tests/test-pow.c: New file.
26970
26971         Tests for module 'nextafter'.
26972         * modules/nextafter-tests: New file.
26973         * tests/test-nextafter.c: New file.
26974
26975         Tests for module 'modf'.
26976         * modules/modf-tests: New file.
26977         * tests/test-modf.c: New file.
26978
26979         Tests for module 'logb'.
26980         * modules/logb-tests: New file.
26981         * tests/test-logb.c: New file.
26982
26983         Tests for module 'log1p'.
26984         * modules/log1p-tests: New file.
26985         * tests/test-log1p.c: New file.
26986
26987         Tests for module 'log10'.
26988         * modules/log10-tests: New file.
26989         * tests/test-log10.c: New file.
26990
26991         Tests for module 'log'.
26992         * modules/log-tests: New file.
26993         * tests/test-log.c: New file.
26994
26995         Tests for module 'lgamma'.
26996         * modules/lgamma-tests: New file.
26997         * tests/test-lgamma.c: New file.
26998
26999         Tests for module 'ldexp'.
27000         * modules/ldexp-tests: New file.
27001         * tests/test-ldexp.c: New file.
27002
27003         Tests for module 'jn'.
27004         * modules/jn-tests: New file.
27005         * tests/test-jn.c: New file.
27006
27007         Tests for module 'j1'.
27008         * modules/j1-tests: New file.
27009         * tests/test-j1.c: New file.
27010
27011         Tests for module 'j0'.
27012         * modules/j0-tests: New file.
27013         * tests/test-j0.c: New file.
27014
27015         Tests for module 'hypot'.
27016         * modules/hypot-tests: New file.
27017         * tests/test-hypot.c: New file.
27018
27019         Tests for module 'fmod'.
27020         * modules/fmod-tests: New file.
27021         * tests/test-fmod.c: New file.
27022
27023         Tests for module 'fabs'.
27024         * modules/fabs-tests: New file.
27025         * tests/test-fabs.c: New file.
27026
27027         Tests for module 'exp'.
27028         * modules/exp-tests: New file.
27029         * tests/test-exp.c: New file.
27030
27031         Tests for module 'erfc'.
27032         * modules/erfc-tests: New file.
27033         * tests/test-erfc.c: New file.
27034
27035         Tests for module 'erf'.
27036         * modules/erf-tests: New file.
27037         * tests/test-erf.c: New file.
27038
27039         Tests for module 'cosh'.
27040         * modules/cosh-tests: New file.
27041         * tests/test-cosh.c: New file.
27042
27043         Tests for module 'cos'.
27044         * modules/cos-tests: New file.
27045         * tests/test-cos.c: New file.
27046
27047         Tests for module 'copysign'.
27048         * modules/copysign-tests: New file.
27049         * tests/test-copysign.c: New file.
27050
27051         Tests for module 'cbrt'.
27052         * modules/cbrt-tests: New file.
27053         * tests/test-cbrt.c: New file.
27054
27055         Tests for module 'atan2'.
27056         * modules/atan2-tests: New file.
27057         * tests/test-atan2.c: New file.
27058
27059         Tests for module 'atan'.
27060         * modules/atan-tests: New file.
27061         * tests/test-atan.c: New file.
27062
27063         Tests for module 'asin'.
27064         * modules/asin-tests: New file.
27065         * tests/test-asin.c: New file.
27066
27067         Tests for module 'acos'.
27068         * modules/acos-tests: New file.
27069         * tests/test-acos.c: New file.
27070
27071 2010-01-24  Bruno Haible  <bruno@clisp.org>
27072
27073         Fix tests for common <math.h> functions.
27074         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
27075         code snippet that references the function pointer, rather than merely
27076         calling the function. Substitute the FUNC_LIBM variable.
27077         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
27078         * modules/acos (configure.ac): Likewise.
27079         * modules/asin (configure.ac): Likewise.
27080         * modules/atan (configure.ac): Likewise.
27081         * modules/atan2 (configure.ac): Likewise.
27082         * modules/cbrt (configure.ac): Likewise.
27083         * modules/copysign (configure.ac): Likewise.
27084         * modules/cos (configure.ac): Likewise.
27085         * modules/cosh (configure.ac): Likewise.
27086         * modules/erf (configure.ac): Likewise.
27087         * modules/erfc (configure.ac): Likewise.
27088         * modules/exp (configure.ac): Likewise.
27089         * modules/fabs (configure.ac): Likewise.
27090         * modules/fmod (configure.ac): Likewise.
27091         * modules/hypot (configure.ac): Likewise.
27092         * modules/j0 (configure.ac): Likewise.
27093         * modules/j1 (configure.ac): Likewise.
27094         * modules/jn (configure.ac): Likewise.
27095         * modules/ldexp (configure.ac): Likewise.
27096         * modules/lgamma (configure.ac): Likewise.
27097         * modules/log (configure.ac): Likewise.
27098         * modules/log10 (configure.ac): Likewise.
27099         * modules/log1p (configure.ac): Likewise.
27100         * modules/logb (configure.ac): Likewise.
27101         * modules/modf (configure.ac): Likewise.
27102         * modules/nextafter (configure.ac): Likewise.
27103         * modules/pow (configure.ac): Likewise.
27104         * modules/remainder (configure.ac): Likewise.
27105         * modules/rint (configure.ac): Likewise.
27106         * modules/sin (configure.ac): Likewise.
27107         * modules/sinh (configure.ac): Likewise.
27108         * modules/tan (configure.ac): Likewise.
27109         * modules/tanh (configure.ac): Likewise.
27110         * modules/y0 (configure.ac): Likewise.
27111         * modules/y1 (configure.ac): Likewise.
27112         * modules/yn (configure.ac): Likewise.
27113
27114 2010-01-24  Bruno Haible  <bruno@clisp.org>
27115
27116         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
27117         * tests/test-acosl.c (x): New variable.
27118         (main): Store argument in x and fetch it from x.
27119         * tests/test-asinl.c (x): New variable.
27120         (main): Store argument in x and fetch it from x.
27121         * tests/test-atanl.c (x): New variable.
27122         (main): Store argument in x and fetch it from x.
27123         * tests/test-cosl.c (x): New variable.
27124         (main): Store argument in x and fetch it from x.
27125         * tests/test-expl.c (x): New variable.
27126         (main): Store argument in x and fetch it from x.
27127         * tests/test-logl.c (x): New variable.
27128         (main): Store argument in x and fetch it from x.
27129         * tests/test-sinl.c (x): New variable.
27130         (main): Store argument in x and fetch it from x.
27131         * tests/test-sqrtl.c (x): New variable.
27132         (main): Store argument in x and fetch it from x.
27133         * tests/test-tanl.c (x): New variable.
27134         (main): Store argument in x and fetch it from x.
27135
27136 2010-01-24  Bruno Haible  <bruno@clisp.org>
27137
27138         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
27139         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
27140         assignments to the initial TESTS_ENVIRONMENT.
27141         * doc/gnulib.texi (Unit test modules): Document it.
27142         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
27143         TESTS_ENVIRONMENT.
27144         * modules/btowc-tests (Makefile.am): Likewise.
27145         * modules/c-stack-tests (Makefile.am): Likewise.
27146         * modules/c-strcase-tests (Makefile.am): Likewise.
27147         * modules/copy-file-tests (Makefile.am): Likewise.
27148         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
27149         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
27150         * modules/mbrtowc-tests (Makefile.am): Likewise.
27151         * modules/mbscasecmp-tests (Makefile.am): Likewise.
27152         * modules/mbscasestr-tests (Makefile.am): Likewise.
27153         * modules/mbschr-tests (Makefile.am): Likewise.
27154         * modules/mbscspn-tests (Makefile.am): Likewise.
27155         * modules/mbsinit-tests (Makefile.am): Likewise.
27156         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
27157         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
27158         * modules/mbspbrk-tests (Makefile.am): Likewise.
27159         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
27160         * modules/mbsrchr-tests (Makefile.am): Likewise.
27161         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
27162         * modules/mbsspn-tests (Makefile.am): Likewise.
27163         * modules/mbsstr-tests (Makefile.am): Likewise.
27164         * modules/nl_langinfo-tests (Makefile.am): Likewise.
27165         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
27166         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
27167         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
27168         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
27169         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
27170         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
27171         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
27172         * modules/wcrtomb-tests (Makefile.am): Likewise.
27173         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
27174         * modules/wcsrtombs-tests (Makefile.am): Likewise.
27175         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
27176         assignments from TESTS_ENVIRONMENT.
27177         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
27178         augmentation.
27179         * modules/argp-version-etc-tests (Makefile.am): Likewise.
27180         * modules/atexit-tests (Makefile.am): Likewise.
27181         * modules/binary-io-tests (Makefile.am): Likewise.
27182         * modules/closein-tests (Makefile.am): Likewise.
27183         * modules/dprintf-posix-tests (Makefile.am): Likewise.
27184         * modules/exclude-tests (Makefile.am): Likewise.
27185         * modules/fflush-tests (Makefile.am): Likewise.
27186         * modules/fpending-tests (Makefile.am): Likewise.
27187         * modules/fprintf-posix-tests (Makefile.am): Likewise.
27188         * modules/freadahead-tests (Makefile.am): Likewise.
27189         * modules/freadptr-tests (Makefile.am): Likewise.
27190         * modules/freadseek-tests (Makefile.am): Likewise.
27191         * modules/fseek-tests (Makefile.am): Likewise.
27192         * modules/fseeko-tests (Makefile.am): Likewise.
27193         * modules/ftell-tests (Makefile.am): Likewise.
27194         * modules/ftello-tests (Makefile.am): Likewise.
27195         * modules/idpriv-drop-tests (Makefile.am): Likewise.
27196         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
27197         * modules/lseek-tests (Makefile.am): Likewise.
27198         * modules/parse-duration-tests (Makefile.am): Likewise.
27199         * modules/perror-tests (Makefile.am): Likewise.
27200         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
27201         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
27202         * modules/pipe-tests (Makefile.am): Likewise.
27203         * modules/pread-tests (Makefile.am): Likewise.
27204         * modules/printf-posix-tests (Makefile.am): Likewise.
27205         * modules/select-tests (Makefile.am): Likewise.
27206         * modules/sigpipe-tests (Makefile.am): Likewise.
27207         * modules/tsearch-tests (Makefile.am): Likewise.
27208         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
27209         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
27210         * modules/uniname/uniname-tests (Makefile.am): Likewise.
27211         * modules/uniwidth/width-tests (Makefile.am): Likewise.
27212         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
27213         * modules/version-etc-tests (Makefile.am): Likewise.
27214         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
27215         * modules/vprintf-posix-tests (Makefile.am): Likewise.
27216         * modules/xalloc-die-tests (Makefile.am): Likewise.
27217         * modules/xprintf-posix-tests (Makefile.am): Likewise.
27218         * modules/xstrtoimax-tests (Makefile.am): Likewise.
27219         * modules/xstrtol-tests (Makefile.am): Likewise.
27220         * modules/xstrtoumax-tests (Makefile.am): Likewise.
27221         * modules/yesno-tests (Makefile.am): Likewise.
27222         Suggested by Jim Meyering.
27223
27224 2010-01-24  Bruno Haible  <bruno@clisp.org>
27225
27226         More documentation.
27227         * doc/gnulib.texi (Writing modules): New chapter.
27228         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
27229         the new chapter.
27230
27231 2010-01-24  Jim Meyering  <meyering@redhat.com>
27232
27233         maint.mk: do not prepend "./" after filtering
27234         * top/maint.mk (_prepend_srcdir_prefix): New variable
27235         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
27236         "./" when $(srcdir) is ".".
27237
27238         define STREQ(a,b) consistently, removing useless parentheses
27239         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
27240         since the only risk is that "a" or "b" contains an unparenthesized
27241         comma, but if either did that, STREQ would have 3 or more arguments.
27242         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
27243         * lib/fts.c (STREQ): Remove unnecessary parentheses.
27244         * lib/hash-triple.c (STREQ): Likewise.
27245         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
27246         * lib/getugroups.c (STREQ): Likewise.
27247
27248 2010-01-23  Jim Meyering  <meyering@redhat.com>
27249
27250         maint.mk: fix syntax-check in a non-srcdir build directory
27251         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
27252         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
27253
27254 2010-01-22  Jim Meyering  <meyering@redhat.com>
27255
27256         userspec: add unit tests
27257         * tests/test-userspec.c: New file.
27258         * modules/userspec-tests: Likewise.
27259
27260 2010-01-21  Jim Meyering  <meyering@redhat.com>
27261
27262         maint.mk: handle source file names containing "." robustly
27263         * top/maint.mk (_dot_escaped_srcdir): Define.
27264         (VC_LIST): Use it in LHS of sed substitution.
27265
27266 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
27267
27268         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
27269         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
27270         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
27271         from a non-srcdir build.
27272
27273 2010-01-20  Eric Blake  <ebb9@byu.net>
27274
27275         warn-on-use: use instead of link-warning
27276         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
27277         * modules/unistd (Depends-on, Makefile.am): Likewise.
27278         * modules/arpa_inet (Depends-on): Replace link-warning with
27279         warn-on-use.
27280         (Makefile.am): Update rules accordingly.
27281         * modules/ctype (Depends-on, Makefile.am): Likewise.
27282         * modules/dirent (Depends-on, Makefile.am): Likewise.
27283         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
27284         * modules/inttypes (Depends-on, Makefile.am): Likewise.
27285         * modules/langinfo (Depends-on, Makefile.am): Likewise.
27286         * modules/locale (Depends-on, Makefile.am): Likewise.
27287         * modules/math (Depends-on, Makefile.am): Likewise.
27288         * modules/search (Depends-on, Makefile.am): Likewise.
27289         * modules/signal (Depends-on, Makefile.am): Likewise.
27290         * modules/spawn (Depends-on, Makefile.am): Likewise.
27291         * modules/stdlib (Depends-on, Makefile.am): Likewise.
27292         * modules/string (Depends-on, Makefile.am): Likewise.
27293         * modules/strings (Depends-on, Makefile.am): Likewise.
27294         * modules/sys_file (Depends-on, Makefile.am): Likewise.
27295         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
27296         * modules/sys_select (Depends-on, Makefile.am): Likewise.
27297         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
27298         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
27299         * modules/sys_times (Depends-on, Makefile.am): Likewise.
27300         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
27301         * modules/wchar (Depends-on, Makefile.am): Likewise.
27302         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
27303         should be poisoned.
27304         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
27305         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
27306         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
27307         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27308         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27309         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27310         * m4/math_h.m4 (gl_MATH_H): Likewise.
27311         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
27312         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27313         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27314         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
27315         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
27316         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
27317         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
27318         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
27319         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27320         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27321         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27322         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27323         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27324         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27325         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27326         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27327         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
27328         GL_LINK_WARNING.
27329         * lib/ctype.in.h: Likewise.
27330         * lib/dirent.in.h: Likewise.
27331         * lib/fcntl.in.h: Likewise.
27332         * lib/inttypes.in.h: Likewise.
27333         * lib/langinfo.in.h: Likewise.
27334         * lib/locale.in.h: Likewise.
27335         * lib/math.in.h: Likewise.
27336         * lib/search.in.h: Likewise.
27337         * lib/signal.in.h: Likewise.
27338         * lib/spawn.in.h: Likewise.
27339         * lib/stdio.in.h: Likewise.
27340         * lib/stdlib.in.h: Likewise.
27341         * lib/string.in.h: Likewise.
27342         * lib/strings.in.h: Likewise.
27343         * lib/sys_file.in.h: Likewise.
27344         * lib/sys_ioctl.in.h: Likewise.
27345         * lib/sys_select.in.h: Likewise.
27346         * lib/sys_socket.in.h: Likewise.
27347         * lib/sys_stat.in.h: Likewise.
27348         * lib/sys_times.in.h: Likewise.
27349         * lib/sys_utsname.in.h: Likewise.
27350         * lib/unistd.in.h: Likewise.
27351         * lib/wchar.in.h: Likewise.
27352
27353 2010-01-20  Bruno Haible  <bruno@clisp.org>
27354
27355         Avoid duplicate -lm.
27356         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
27357         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
27358         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
27359         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
27360         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
27361         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
27362         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
27363         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
27364         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
27365         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
27366         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
27367         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27368         Reported by Paolo Bonzini.
27369
27370 2010-01-19  Bruno Haible  <bruno@clisp.org>
27371
27372         langinfo, nl_langinfo: Relicense under LGPLv2+.
27373         * modules/langinfo (License): Change to LGPLv2+.
27374         * modules/nl_langinfo (License): Likewise.
27375         Patch by David Lutterkort <lutter@redhat.com>.
27376
27377 2010-01-19  Bruno Haible  <bruno@clisp.org>
27378
27379         Avoid compilation error with cc on OSF/1 5.1.
27380         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
27381         statement, not before.
27382         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27383
27384 2010-01-18  Bruno Haible  <bruno@clisp.org>
27385
27386         Avoid a link error due to the __printf__ symbol.
27387         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
27388         and 2.6.x.
27389         (__format__, __printf__): Remove definitions.
27390         * lib/argp-fmtstream.h: Likewise.
27391         * lib/argp.h: Likewise.
27392         * lib/error.h: Likewise.
27393         * lib/vasnprintf.h: Likewise.
27394         * lib/xprintf.h: Likewise.
27395         * lib/xvasprintf.h: Likewise.
27396         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27397
27398 2010-01-18  Bruno Haible  <bruno@clisp.org>
27399
27400         Tests for module 'tanl'.
27401         * modules/tanl-tests: New file.
27402         * tests/test-tanl.c: New file.
27403
27404         Tests for module 'sqrtl'.
27405         * modules/sqrtl-tests: New file.
27406         * tests/test-sqrtl.c: New file.
27407
27408         Tests for module 'sinl'.
27409         * modules/sinl-tests: New file.
27410         * tests/test-sinl.c: New file.
27411
27412         Tests for module 'logl'.
27413         * modules/logl-tests: New file.
27414         * tests/test-logl.c: New file.
27415
27416         Tests for module 'expl'.
27417         * modules/expl-tests: New file.
27418         * tests/test-expl.c: New file.
27419
27420         Tests for module 'cosl'.
27421         * modules/cosl-tests: New file.
27422         * tests/test-cosl.c: New file.
27423
27424         Tests for module 'atanl'.
27425         * modules/atanl-tests: New file.
27426         * tests/test-atanl.c: New file.
27427
27428         Tests for module 'asinl'.
27429         * modules/asinl-tests: New file.
27430         * tests/test-asinl.c: New file.
27431
27432         Tests for module 'acosl'.
27433         * modules/acosl-tests: New file.
27434         * tests/test-acosl.c: New file.
27435
27436         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27437         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
27438         tanl): Use the standard gnulib idiom.
27439         * lib/cosl.c: Don't include trigl.c and sincosl.c.
27440         * lib/sinl.c: Likewise.
27441         * lib/tanl.c: Don't include trigl.c.
27442         (kernel_tanl): Make static.
27443         * lib/sincosl.c: Include trigl.h first.
27444         * lib/trigl.c: Likewise.
27445         * m4/acosl.m4: New file.
27446         * m4/asinl.m4: New file.
27447         * m4/atanl.m4: New file.
27448         * m4/cosl.m4: New file.
27449         * m4/expl.m4: New file.
27450         * m4/logl.m4: New file.
27451         * m4/sinl.m4: New file.
27452         * m4/sqrtl.m4: New file.
27453         * m4/tanl.m4: New file.
27454         * m4/mathl.m4: Remove file.
27455         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
27456         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27457         Don't initialize GNULIB_MATHL.
27458         * modules/acosl: New file.
27459         * modules/asinl: New file.
27460         * modules/atanl: New file.
27461         * modules/cosl: New file.
27462         * modules/expl: New file.
27463         * modules/logl: New file.
27464         * modules/sinl: New file.
27465         * modules/sqrtl: New file.
27466         * modules/tanl: New file.
27467         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27468         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27469         substitute GNULIB_MATHL.
27470         * modules/mathl: Rewritten.
27471         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27472         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27473         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27474         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27475         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27476         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27477         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27478         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27479         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27480
27481 2010-01-18  Bruno Haible  <bruno@clisp.org>
27482
27483         sqrt: Make gl_FUNC_SQRT requirable.
27484         * m4/sqrt.m4: New file.
27485         * modules/sqrt (Files): Add it.
27486         (configure.ac): Invoke gl_FUNC_SQRT.
27487
27488 2010-01-18  Bruno Haible  <bruno@clisp.org>
27489
27490         New modules for common <math.h> functions.
27491         * m4/mathfunc.m4: New file.
27492         * modules/acos: New file.
27493         * modules/asin: New file.
27494         * modules/atan: New file.
27495         * modules/atan2: New file.
27496         * modules/cbrt: New file.
27497         * modules/copysign: New file.
27498         * modules/cos: New file.
27499         * modules/cosh: New file.
27500         * modules/erf: New file.
27501         * modules/erfc: New file.
27502         * modules/exp: New file.
27503         * modules/fabs: New file.
27504         * modules/fmod: New file.
27505         * modules/hypot: New file.
27506         * modules/j0: New file.
27507         * modules/j1: New file.
27508         * modules/jn: New file.
27509         * modules/ldexp: New file.
27510         * modules/lgamma: New file.
27511         * modules/log: New file.
27512         * modules/log10: New file.
27513         * modules/log1p: New file.
27514         * modules/logb: New file.
27515         * modules/modf: New file.
27516         * modules/nextafter: New file.
27517         * modules/pow: New file.
27518         * modules/remainder: New file.
27519         * modules/rint: New file.
27520         * modules/sin: New file.
27521         * modules/sinh: New file.
27522         * modules/sqrt: New file.
27523         * modules/tan: New file.
27524         * modules/tanh: New file.
27525         * modules/y0: New file.
27526         * modules/y1: New file.
27527         * modules/yn: New file.
27528         * doc/posix-functions/acos.texi: Mention the 'acos' module.
27529         * doc/posix-functions/asin.texi: Mention the 'asin' module.
27530         * doc/posix-functions/atan.texi: Mention the 'atan' module.
27531         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
27532         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
27533         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
27534         * doc/posix-functions/cos.texi: Mention the 'cos' module.
27535         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
27536         * doc/posix-functions/erf.texi: Mention the 'erf' module.
27537         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
27538         * doc/posix-functions/exp.texi: Mention the 'exp' module.
27539         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
27540         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
27541         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
27542         * doc/posix-functions/j0.texi: Mention the 'j0' module.
27543         * doc/posix-functions/j1.texi: Mention the 'j1' module.
27544         * doc/posix-functions/jn.texi: Mention the 'jn' module.
27545         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
27546         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
27547         * doc/posix-functions/log.texi: Mention the 'log' module.
27548         * doc/posix-functions/log10.texi: Mention the 'log10' module.
27549         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
27550         * doc/posix-functions/logb.texi: Mention the 'logb' module.
27551         * doc/posix-functions/modf.texi: Mention the 'modf' module.
27552         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
27553         * doc/posix-functions/pow.texi: Mention the 'pow' module.
27554         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
27555         * doc/posix-functions/rint.texi: Mention the 'rint' module.
27556         * doc/posix-functions/sin.texi: Mention the 'sin' module.
27557         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
27558         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
27559         * doc/posix-functions/tan.texi: Mention the 'tan' module.
27560         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
27561         * doc/posix-functions/y0.texi: Mention the 'y0' module.
27562         * doc/posix-functions/y1.texi: Mention the 'y1' module.
27563         * doc/posix-functions/yn.texi: Mention the 'yn' module.
27564
27565 2010-01-18  Jim Meyering  <meyering@redhat.com>
27566
27567         ignore-value: relax license to LGPLv2+
27568         * modules/ignore-value (License): Relax to LGPLv2+.
27569
27570         getdate: don't leak when TZ contains two or more '"'s
27571         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
27572         double quote in TZ after the first one.
27573
27574         readtokens: do not leak internal token_lengths buffer
27575         * lib/readtokens.c (readtokens): Free the local, lengths,
27576         when the supplied "token_lengths" parameter is NULL.
27577
27578 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27579
27580         Fix a couple of missing LIBTHREAD link failures on AIX.
27581         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
27582         $(LIBTHREAD).
27583         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
27584
27585         Link test-poll against INET_PTON_LIB.
27586         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
27587         for inet_pton on Solaris 10.
27588
27589 2010-01-17  Bruno Haible  <bruno@clisp.org>
27590
27591         unistdio/*-sprintf: Fix typo in module description.
27592         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
27593         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
27594         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
27595         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
27596         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
27597         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
27598         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
27599         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27600
27601 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27602
27603         gnulib-tool: fix filelist for AIX, HP-UX ksh.
27604         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
27605         variables in shell case patterns, for AIX and HP-UX ksh.
27606
27607         Split large sed scripts, for HP-UX sed.
27608         * modules/stdio: Split sed scripts around 50 sed commands,
27609         to avoid HP-UX limit of 99 commands, in the near future.
27610         * modules/string: Likewise.
27611         * modules/unistd: Likewise.
27612
27613         gnulib-tool: avoid writing in the current directory.
27614         * gnulib-tool (func_emit_lib_Makefile_am)
27615         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
27616         not in the current directory, so concurrent gnulib-tool
27617         instances do not interfere.
27618
27619 2010-01-16  Jim Meyering  <meyering@redhat.com>
27620
27621         doc: update users.txt
27622         * users.txt: Add grep.
27623         (diffutils, gzip): Update URLs.
27624
27625 2010-01-12  Bruno Haible  <bruno@clisp.org>
27626
27627         posix_spawn: Avoid test failure on Cygwin.
27628         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
27629         characters.
27630         Reported by Simon Josefsson.
27631
27632 2010-01-12  Bruno Haible  <bruno@clisp.org>
27633
27634         * tests/test-cond.c (main): When skipping the test, show the reason.
27635
27636 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27637
27638         * lib/striconv.c (str_cd_iconv): Avoid if before free.
27639
27640 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27641
27642         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
27643         VC_LIST_ALWAYS_EXCLUDE_REGEX.
27644
27645 2010-01-12  Eric Blake  <ebb9@byu.net>
27646
27647         build: guarantee AS_VAR_IF
27648         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
27649         (gl_AS_VAR_IF): Move...
27650         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
27651         Reported by Simon Josefsson.
27652
27653 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27654
27655         * lib/stdio.in.h: Fix typo.
27656
27657 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27658
27659         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
27660         libgpg-error.
27661
27662 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27663
27664         * tests/test-xalloc-die.sh: Use $EXEEXT.
27665
27666 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27667             Bruno Haible  <bruno@clisp.org>
27668
27669         getlogin, getlogin_r: Avoid test failure.
27670         * tests/test-getlogin.c: Include <stdio.h>.
27671         (main): Skip the test when the function fails because stdin is not a
27672         tty.
27673         * tests/test-getlogin_r.c: Include <stdio.h>.
27674         (main): Skip the test when the function fails because stdin is not a
27675         tty.
27676
27677 2010-01-11  Eric Blake  <ebb9@byu.net>
27678
27679         tests: avoid more large file warnings
27680         * tests/test-fflush.c: Avoid warning about ftell use.
27681         * tests/test-fseek.c: Avoid warning about fseek use.
27682
27683 2010-01-10  Bruno Haible  <bruno@clisp.org>
27684
27685         nproc: Work better on Linux when /proc and /sys are not mounted.
27686         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
27687         as lower bound when, on glibc/Linux systems,
27688         sysconf (_SC_NPROCESSORS_CONF) returns 1.
27689         Suggested by Pádraig Brady <P@draigbrady.com>.
27690         Reported by Dmitry V. Levin <ldv@altlinux.org>.
27691
27692         nproc: Refactor.
27693         * lib/nproc.c (num_processors_via_affinity_mask): New function,
27694         extracted from num_processors.
27695         (num_processors): Call it.
27696
27697 2010-01-11  Jim Meyering  <meyering@redhat.com>
27698
27699         utimecmp: avoid new warning from upcoming gcc-4.5.0
27700         * lib/utimecmp.c (BILLION): Define using #define rather than an
27701         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
27702
27703 2010-01-11  Eric Blake  <ebb9@byu.net>
27704
27705         math: add portability warnings for classification macros
27706         * modules/math (Depends-on): Add warn-on-use.
27707         (Makefile.am): Provide new substitutions.
27708         * m4/math_h.m4 (gl_MATH_H): Require inline.
27709         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
27710         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
27711         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
27712         implement warnings.
27713
27714         unistd: warn on use of environ without module
27715         * modules/unistd (Depends-on): Add warn-on-use.
27716         (Makefile.am): Provide new substitutions.
27717         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
27718         * lib/unistd.in.h (environ): Wrap with a warning helper function.
27719
27720         stdio: warn on suspicious uses
27721         * modules/stdio (Depends-on): Add warn-on-use.
27722         (Makefile.am): Provide new substitutions.
27723         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
27724         fseeko.
27725         * lib/stdio.in.h (gets): Always warn on use.
27726         (fseek, ftell): Adjust when warnings are issued, and honor
27727         _GL_NO_LARGE_FILES as a way to silence the warning.
27728         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
27729         any warning about large file offsets.
27730         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
27731         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
27732         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
27733         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
27734         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
27735         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
27736         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
27737         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
27738
27739         warn-on-use: new module
27740         * modules/warn-on-use: New file.
27741         * build-aux/warn-on-use.h: Likewise.
27742         * m4/warn-on-use.m4: Likewise.
27743         * MODULES.html.sh (Support for building): Mention it.
27744
27745 2010-01-10  Bruno Haible  <bruno@clisp.org>
27746
27747         Tests for module 'unistr/u32-strdup'.
27748         * modules/unistr/u32-strdup-tests: New file.
27749         * tests/unistr/test-u32-strdup.c: New file.
27750
27751         Tests for module 'unistr/u16-strdup'.
27752         * modules/unistr/u16-strdup-tests: New file.
27753         * tests/unistr/test-u16-strdup.c: New file.
27754
27755         Tests for module 'unistr/u8-strdup'.
27756         * modules/unistr/u8-strdup-tests: New file.
27757         * tests/unistr/test-u8-strdup.c: New file.
27758         * tests/unistr/test-strdup.h: New file.
27759
27760         Tests for module 'unistr/u32-strncmp'.
27761         * modules/unistr/u32-strncmp-tests: New file.
27762         * tests/unistr/test-u32-strncmp.c: New file.
27763
27764         Tests for module 'unistr/u16-strncmp'.
27765         * modules/unistr/u16-strncmp-tests: New file.
27766         * tests/unistr/test-u16-strncmp.c: New file.
27767
27768         Tests for module 'unistr/u8-strncmp'.
27769         * modules/unistr/u8-strncmp-tests: New file.
27770         * tests/unistr/test-u8-strncmp.c: New file.
27771         * tests/unistr/test-strncmp.h: New file.
27772
27773         Tests for module 'unistr/u32-strcoll'.
27774         * modules/unistr/u32-strcoll-tests: New file.
27775         * tests/unistr/test-u32-strcoll.c: New file.
27776
27777         Tests for module 'unistr/u16-strcoll'.
27778         * modules/unistr/u16-strcoll-tests: New file.
27779         * tests/unistr/test-u16-strcoll.c: New file.
27780
27781         Tests for module 'unistr/u8-strcoll'.
27782         * modules/unistr/u8-strcoll-tests: New file.
27783         * tests/unistr/test-u8-strcoll.c: New file.
27784
27785         Tests for module 'unistr/u32-strcmp'.
27786         * modules/unistr/u32-strcmp-tests: New file.
27787         * tests/unistr/test-u32-strcmp.c: New file.
27788         * tests/unistr/test-u32-strcmp.h: New file.
27789
27790         Tests for module 'unistr/u16-strcmp'.
27791         * modules/unistr/u16-strcmp-tests: New file.
27792         * tests/unistr/test-u16-strcmp.c: New file.
27793         * tests/unistr/test-u16-strcmp.h: New file.
27794
27795         Tests for module 'unistr/u8-strcmp'.
27796         * modules/unistr/u8-strcmp-tests: New file.
27797         * tests/unistr/test-u8-strcmp.c: New file.
27798         * tests/unistr/test-u8-strcmp.h: New file.
27799         * tests/unistr/test-strcmp.h: New file.
27800
27801         Tests for module 'unistr/u32-strncat'.
27802         * modules/unistr/u32-strncat-tests: New file.
27803         * tests/unistr/test-u32-strncat.c: New file.
27804
27805         Tests for module 'unistr/u16-strncat'.
27806         * modules/unistr/u16-strncat-tests: New file.
27807         * tests/unistr/test-u16-strncat.c: New file.
27808
27809         Tests for module 'unistr/u8-strncat'.
27810         * modules/unistr/u8-strncat-tests: New file.
27811         * tests/unistr/test-u8-strncat.c: New file.
27812         * tests/unistr/test-strncat.h: New file.
27813
27814         Tests for module 'unistr/u32-strcat'.
27815         * modules/unistr/u32-strcat-tests: New file.
27816         * tests/unistr/test-u32-strcat.c: New file.
27817
27818         Tests for module 'unistr/u16-strcat'.
27819         * modules/unistr/u16-strcat-tests: New file.
27820         * tests/unistr/test-u16-strcat.c: New file.
27821
27822         Tests for module 'unistr/u8-strcat'.
27823         * modules/unistr/u8-strcat-tests: New file.
27824         * tests/unistr/test-u8-strcat.c: New file.
27825         * tests/unistr/test-strcat.h: New file.
27826
27827         Tests for module 'unistr/u32-stpncpy'.
27828         * modules/unistr/u32-stpncpy-tests: New file.
27829         * tests/unistr/test-u32-stpncpy.c: New file.
27830
27831         Tests for module 'unistr/u16-stpncpy'.
27832         * modules/unistr/u16-stpncpy-tests: New file.
27833         * tests/unistr/test-u16-stpncpy.c: New file.
27834
27835         Tests for module 'unistr/u8-stpncpy'.
27836         * modules/unistr/u8-stpncpy-tests: New file.
27837         * tests/unistr/test-u8-stpncpy.c: New file.
27838         * tests/unistr/test-stpncpy.h: New file.
27839
27840         Tests for module 'unistr/u32-strncpy'.
27841         * modules/unistr/u32-strncpy-tests: New file.
27842         * tests/unistr/test-u32-strncpy.c: New file.
27843
27844         Tests for module 'unistr/u16-strncpy'.
27845         * modules/unistr/u16-strncpy-tests: New file.
27846         * tests/unistr/test-u16-strncpy.c: New file.
27847
27848         Tests for module 'unistr/u8-strncpy'.
27849         * modules/unistr/u8-strncpy-tests: New file.
27850         * tests/unistr/test-u8-strncpy.c: New file.
27851         * tests/unistr/test-strncpy.h: New file.
27852
27853         Tests for module 'unistr/u32-stpcpy'.
27854         * modules/unistr/u32-stpcpy-tests: New file.
27855         * tests/unistr/test-u32-stpcpy.c: New file.
27856
27857         Tests for module 'unistr/u16-stpcpy'.
27858         * modules/unistr/u16-stpcpy-tests: New file.
27859         * tests/unistr/test-u16-stpcpy.c: New file.
27860
27861         Tests for module 'unistr/u8-stpcpy'.
27862         * modules/unistr/u8-stpcpy-tests: New file.
27863         * tests/unistr/test-u8-stpcpy.c: New file.
27864         * tests/unistr/test-stpcpy.h: New file.
27865
27866         Tests for module 'unistr/u32-strcpy'.
27867         * modules/unistr/u32-strcpy-tests: New file.
27868         * tests/unistr/test-u32-strcpy.c: New file.
27869
27870         Tests for module 'unistr/u16-strcpy'.
27871         * modules/unistr/u16-strcpy-tests: New file.
27872         * tests/unistr/test-u16-strcpy.c: New file.
27873
27874         Tests for module 'unistr/u8-strcpy'.
27875         * modules/unistr/u8-strcpy-tests: New file.
27876         * tests/unistr/test-u8-strcpy.c: New file.
27877         * tests/unistr/test-strcpy.h: New file.
27878
27879         Tests for module 'unistr/u32-strnlen'.
27880         * modules/unistr/u32-strnlen-tests: New file.
27881         * tests/unistr/test-u32-strnlen.c: New file.
27882
27883         Tests for module 'unistr/u16-strnlen'.
27884         * modules/unistr/u16-strnlen-tests: New file.
27885         * tests/unistr/test-u16-strnlen.c: New file.
27886
27887         Tests for module 'unistr/u8-strnlen'.
27888         * modules/unistr/u8-strnlen-tests: New file.
27889         * tests/unistr/test-u8-strnlen.c: New file.
27890         * tests/unistr/test-strnlen.h: New file.
27891
27892         Tests for module 'unistr/u32-strlen'.
27893         * modules/unistr/u32-strlen-tests: New file.
27894         * tests/unistr/test-u32-strlen.c: New file.
27895
27896         Tests for module 'unistr/u16-strlen'.
27897         * modules/unistr/u16-strlen-tests: New file.
27898         * tests/unistr/test-u16-strlen.c: New file.
27899
27900         Tests for module 'unistr/u8-strlen'.
27901         * modules/unistr/u8-strlen-tests: New file.
27902         * tests/unistr/test-u8-strlen.c: New file.
27903
27904         Tests for module 'unistr/u32-prev'.
27905         * modules/unistr/u32-prev-tests: New file.
27906         * tests/unistr/test-u32-prev.c: New file.
27907
27908         Tests for module 'unistr/u16-prev'.
27909         * modules/unistr/u16-prev-tests: New file.
27910         * tests/unistr/test-u16-prev.c: New file.
27911
27912         Tests for module 'unistr/u8-prev'.
27913         * modules/unistr/u8-prev-tests: New file.
27914         * tests/unistr/test-u8-prev.c: New file.
27915
27916         Tests for module 'unistr/u32-next'.
27917         * modules/unistr/u32-next-tests: New file.
27918         * tests/unistr/test-u32-next.c: New file.
27919
27920         Tests for module 'unistr/u16-next'.
27921         * modules/unistr/u16-next-tests: New file.
27922         * tests/unistr/test-u16-next.c: New file.
27923
27924         Tests for module 'unistr/u8-next'.
27925         * modules/unistr/u8-next-tests: New file.
27926         * tests/unistr/test-u8-next.c: New file.
27927
27928         Tests for module 'unistr/u32-strmbtouc'.
27929         * modules/unistr/u32-strmbtouc-tests: New file.
27930         * tests/unistr/test-u32-strmbtouc.c: New file.
27931
27932         Tests for module 'unistr/u16-strmbtouc'.
27933         * modules/unistr/u16-strmbtouc-tests: New file.
27934         * tests/unistr/test-u16-strmbtouc.c: New file.
27935
27936         Tests for module 'unistr/u8-strmbtouc'.
27937         * modules/unistr/u8-strmbtouc-tests: New file.
27938         * tests/unistr/test-u8-strmbtouc.c: New file.
27939
27940         Tests for module 'unistr/u32-strmblen'.
27941         * modules/unistr/u32-strmblen-tests: New file.
27942         * tests/unistr/test-u32-strmblen.c: New file.
27943
27944         Tests for module 'unistr/u16-strmblen'.
27945         * modules/unistr/u16-strmblen-tests: New file.
27946         * tests/unistr/test-u16-strmblen.c: New file.
27947
27948         Tests for module 'unistr/u8-strmblen'.
27949         * modules/unistr/u8-strmblen-tests: New file.
27950         * tests/unistr/test-u8-strmblen.c: New file.
27951
27952         Tests for module 'unistr/u32-cpy-alloc'.
27953         * modules/unistr/u32-cpy-alloc-tests: New file.
27954         * tests/unistr/test-u32-cpy-alloc.c: New file.
27955
27956         Tests for module 'unistr/u16-cpy-alloc'.
27957         * modules/unistr/u16-cpy-alloc-tests: New file.
27958         * tests/unistr/test-u16-cpy-alloc.c: New file.
27959
27960         Tests for module 'unistr/u8-cpy-alloc'.
27961         * modules/unistr/u8-cpy-alloc-tests: New file.
27962         * tests/unistr/test-u8-cpy-alloc.c: New file.
27963         * tests/unistr/test-cpy-alloc.h: New file.
27964
27965         Tests for module 'unistr/u32-mbsnlen'.
27966         * modules/unistr/u32-mbsnlen-tests: New file.
27967         * tests/unistr/test-u32-mbsnlen.c: New file.
27968
27969         Tests for module 'unistr/u16-mbsnlen'.
27970         * modules/unistr/u16-mbsnlen-tests: New file.
27971         * tests/unistr/test-u16-mbsnlen.c: New file.
27972
27973         Tests for module 'unistr/u8-mbsnlen'.
27974         * modules/unistr/u8-mbsnlen-tests: New file.
27975         * tests/unistr/test-u8-mbsnlen.c: New file.
27976
27977         Tests for module 'unistr/u32-chr'.
27978         * modules/unistr/u32-chr-tests: New file.
27979         * tests/unistr/test-u32-chr.c: New file.
27980
27981         Tests for module 'unistr/u16-chr'.
27982         * modules/unistr/u16-chr-tests: New file.
27983         * tests/unistr/test-u16-chr.c: New file.
27984
27985         Tests for module 'unistr/u8-chr'.
27986         * modules/unistr/u8-chr-tests: New file.
27987         * tests/unistr/test-u8-chr.c: New file.
27988         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
27989
27990         Tests for module 'unistr/u32-cmp2'.
27991         * modules/unistr/u32-cmp2-tests: New file.
27992         * tests/unistr/test-u32-cmp2.c: New file.
27993
27994         Tests for module 'unistr/u16-cmp2'.
27995         * modules/unistr/u16-cmp2-tests: New file.
27996         * tests/unistr/test-u16-cmp2.c: New file.
27997
27998         Tests for module 'unistr/u8-cmp2'.
27999         * modules/unistr/u8-cmp2-tests: New file.
28000         * tests/unistr/test-u8-cmp2.c: New file.
28001         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
28002
28003         Tests for module 'unistr/u32-cmp'.
28004         * modules/unistr/u32-cmp-tests: New file.
28005         * tests/unistr/test-u32-cmp.c: New file.
28006
28007         Tests for module 'unistr/u16-cmp'.
28008         * modules/unistr/u16-cmp-tests: New file.
28009         * tests/unistr/test-u16-cmp.c: New file.
28010
28011         Tests for module 'unistr/u8-cmp'.
28012         * modules/unistr/u8-cmp-tests: New file.
28013         * tests/unistr/test-u8-cmp.c: New file.
28014         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
28015
28016         Tests for module 'unistr/u32-set'.
28017         * modules/unistr/u32-set-tests: New file.
28018         * tests/unistr/test-u32-set.c: New file.
28019
28020         Tests for module 'unistr/u16-set'.
28021         * modules/unistr/u16-set-tests: New file.
28022         * tests/unistr/test-u16-set.c: New file.
28023
28024         Tests for module 'unistr/u8-set'.
28025         * modules/unistr/u8-set-tests: New file.
28026         * tests/unistr/test-u8-set.c: New file.
28027         * tests/unistr/test-set.h: New file.
28028
28029         Tests for module 'unistr/u32-move'.
28030         * modules/unistr/u32-move-tests: New file.
28031         * tests/unistr/test-u32-move.c: New file.
28032
28033         Tests for module 'unistr/u16-move'.
28034         * modules/unistr/u16-move-tests: New file.
28035         * tests/unistr/test-u16-move.c: New file.
28036
28037         Tests for module 'unistr/u8-move'.
28038         * modules/unistr/u8-move-tests: New file.
28039         * tests/unistr/test-u8-move.c: New file.
28040         * tests/unistr/test-move.h: New file.
28041
28042         Tests for module 'unistr/u32-cpy'.
28043         * modules/unistr/u32-cpy-tests: New file.
28044         * tests/unistr/test-u32-cpy.c: New file.
28045
28046         Tests for module 'unistr/u16-cpy'.
28047         * modules/unistr/u16-cpy-tests: New file.
28048         * tests/unistr/test-u16-cpy.c: New file.
28049
28050         Tests for module 'unistr/u8-cpy'.
28051         * modules/unistr/u8-cpy-tests: New file.
28052         * tests/unistr/test-u8-cpy.c: New file.
28053         * tests/unistr/test-cpy.h: New file.
28054
28055 2010-01-09  Bruno Haible  <bruno@clisp.org>
28056
28057         Tests for module 'unistr/u32-uctomb'.
28058         * modules/unistr/u32-uctomb-tests: New file.
28059         * tests/unistr/test-u32-uctomb.c: New file.
28060
28061         Tests for module 'unistr/u16-uctomb'.
28062         * modules/unistr/u16-uctomb-tests: New file.
28063         * tests/unistr/test-u16-uctomb.c: New file.
28064
28065         Tests for module 'unistr/u8-uctomb'.
28066         * modules/unistr/u8-uctomb-tests: New file.
28067         * tests/unistr/test-u8-uctomb.c: New file.
28068
28069         Tests for module 'unistr/u32-mbtoucr'.
28070         * modules/unistr/u32-mbtoucr-tests: New file.
28071         * tests/unistr/test-u32-mbtoucr.c: New file.
28072
28073         Tests for module 'unistr/u16-mbtoucr'.
28074         * modules/unistr/u16-mbtoucr-tests: New file.
28075         * tests/unistr/test-u16-mbtoucr.c: New file.
28076
28077         Tests for module 'unistr/u8-mbtoucr'.
28078         * modules/unistr/u8-mbtoucr-tests: New file.
28079         * tests/unistr/test-u8-mbtoucr.c: New file.
28080
28081         Tests for module 'unistr/u32-mbtouc'.
28082         * modules/unistr/u32-mbtouc-tests: New file.
28083         * tests/unistr/test-u32-mbtouc.c: New file.
28084
28085         Tests for module 'unistr/u16-mbtouc'.
28086         * modules/unistr/u16-mbtouc-tests: New file.
28087         * tests/unistr/test-u16-mbtouc.c: New file.
28088
28089         Tests for module 'unistr/u8-mbtouc'.
28090         * modules/unistr/u8-mbtouc-tests: New file.
28091         * tests/unistr/test-u8-mbtouc.c: New file.
28092
28093         Tests for module 'unistr/u32-mbtouc-unsafe'.
28094         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
28095         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
28096         * tests/unistr/test-u32-mbtouc.h: New file.
28097
28098         Tests for module 'unistr/u16-mbtouc-unsafe'.
28099         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
28100         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
28101         * tests/unistr/test-u16-mbtouc.h: New file.
28102
28103         Tests for module 'unistr/u8-mbtouc-unsafe'.
28104         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
28105         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
28106         * tests/unistr/test-u8-mbtouc.h: New file.
28107
28108         Tests for module 'unistr/u32-mblen'.
28109         * modules/unistr/u32-mblen-tests: New file.
28110         * tests/unistr/test-u32-mblen.c: New file.
28111
28112         Tests for module 'unistr/u16-mblen'.
28113         * modules/unistr/u16-mblen-tests: New file.
28114         * tests/unistr/test-u16-mblen.c: New file.
28115
28116         Tests for module 'unistr/u8-mblen'.
28117         * modules/unistr/u8-mblen-tests: New file.
28118         * tests/unistr/test-u8-mblen.c: New file.
28119
28120         Tests for module 'unistr/u32-to-u16'.
28121         * modules/unistr/u32-to-u16-tests: New file.
28122         * tests/unistr/test-u32-to-u16.c: New file.
28123
28124         Tests for module 'unistr/u32-to-u8'.
28125         * modules/unistr/u32-to-u8-tests: New file.
28126         * tests/unistr/test-u32-to-u8.c: New file.
28127
28128         Tests for module 'unistr/u16-to-u32'.
28129         * modules/unistr/u16-to-u32-tests: New file.
28130         * tests/unistr/test-u16-to-u32.c: New file.
28131
28132         Tests for module 'unistr/u16-to-u8'.
28133         * modules/unistr/u16-to-u8-tests: New file.
28134         * tests/unistr/test-u16-to-u8.c: New file.
28135
28136         Tests for module 'unistr/u8-to-u32'.
28137         * modules/unistr/u8-to-u32-tests: New file.
28138         * tests/unistr/test-u8-to-u32.c: New file.
28139
28140         Tests for module 'unistr/u8-to-u16'.
28141         * modules/unistr/u8-to-u16-tests: New file.
28142         * tests/unistr/test-u8-to-u16.c: New file.
28143
28144         Tests for module 'unistr/u32-check'.
28145         * modules/unistr/u32-check-tests: New file.
28146         * tests/unistr/test-u32-check.c: New file.
28147
28148         Tests for module 'unistr/u16-check'.
28149         * modules/unistr/u16-check-tests: New file.
28150         * tests/unistr/test-u16-check.c: New file.
28151
28152         Tests for module 'unistr/u8-check'.
28153         * modules/unistr/u8-check-tests: New file.
28154         * tests/unistr/test-u8-check.c: New file.
28155
28156         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
28157         (category_equals): New function.
28158         (main): Add more tests.
28159         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
28160
28161         * tests/unictype/test-bidi_byname.c (main): Add more tests.
28162
28163 2010-01-10  Bruno Haible  <bruno@clisp.org>
28164
28165         unistr/u*-strcoll: Try harder to distinguish different strings.
28166         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
28167         compare s1 and s2 to see if they are different.
28168
28169 2010-01-10  Bruno Haible  <bruno@clisp.org>
28170
28171         unistr/u*-stpncpy: Fix the return value.
28172         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
28173         description of the return value consistent with stpncpy in glibc.
28174         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
28175         written non-NUL unit.
28176
28177 2010-01-10  Bruno Haible  <bruno@clisp.org>
28178
28179         unistr/u*-next: Add missing dependencies.
28180         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
28181         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
28182         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
28183
28184 2010-01-10  Bruno Haible  <bruno@clisp.org>
28185
28186         unistr/u8-mbsnlen: Fix return value for incomplete character.
28187         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
28188         u8_mblen.
28189         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
28190         Remove unistr/u8-mblen.
28191         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
28192         u16_mblen.
28193         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
28194         Remove unistr/u16-mblen.
28195
28196 2010-01-10  Bruno Haible  <bruno@clisp.org>
28197
28198         wchar: Fix compilation error when <wchar.h> is used from coreutils.
28199         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
28200         Reported by Brian Gough <bjg@gnu.org> and
28201         Chris Clayton <chris2553@googlemail.com> via
28202         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
28203
28204 2010-01-09  Bruno Haible  <bruno@clisp.org>
28205
28206         unistr/u16-to-u32: Reject invalid input.
28207         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
28208         u16_mbtouc.
28209         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
28210         Remove unistr/u16-mbtouc.
28211
28212         unistr/u16-to-u8: Reject invalid input.
28213         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
28214         u16_mbtouc.
28215         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
28216         Remove unistr/u16-mbtouc.
28217
28218         unistr/u8-to-u32: Reject invalid input.
28219         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
28220         u8_mbtouc.
28221         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
28222         Remove unistr/u8-mbtouc.
28223
28224         unistr/u8-to-u16: Reject invalid input.
28225         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
28226         u8_mbtouc.
28227         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
28228         Remove unistr/u8-mbtouc.
28229
28230 2010-01-09  Bruno Haible  <bruno@clisp.org>
28231
28232         Tests for module 'getlogin'.
28233         * modules/getlogin-tests: New file.
28234         * tests/test-getlogin.c: New file.
28235
28236         New module 'getlogin'.
28237         * lib/unistd.in.h (getlogin): New declaration.
28238         * lib/getlogin.c: New file.
28239         * m4/getlogin.m4: New file.
28240         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
28241         HAVE_GETLOGIN.
28242         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
28243         HAVE_GETLOGIN.
28244         * modules/getlogin: New file.
28245         * doc/posix-functions/getlogin.texi: Mention the new module.
28246         Reported by John W. Eaton <jwe@gnu.org>.
28247
28248 2010-01-09  Bruno Haible  <bruno@clisp.org>
28249
28250         getlogin_r: Support for native Windows.
28251         * lib/getlogin_r.c: Include <windows.h>
28252         (getlogin_r): Implement for native Windows.
28253         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
28254         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
28255         via John W. Eaton <jwe@gnu.org>.
28256
28257 2010-01-09  Bruno Haible  <bruno@clisp.org>
28258
28259         getlogin_r: Small fixes.
28260         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
28261         succeeds.
28262         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
28263         before testing whether getlogin_r is declared. No need to set
28264         HAVE_DECL_GETLOGIN_R to 1.
28265         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
28266
28267 2010-01-09  Bruno Haible  <bruno@clisp.org>
28268
28269         * lib/unistd.in.h (getlogin_r): Add comment.
28270
28271 2010-01-09  Bruno Haible  <bruno@clisp.org>
28272
28273         Tests for module 'getlogin_r'.
28274         * modules/getlogin_r-tests: New file.
28275         * tests/test-getlogin_r.c: New file.
28276
28277 2010-01-09  Jim Meyering  <meyering@redhat.com>
28278
28279         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
28280         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
28281         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
28282
28283 2010-01-08  Simon Josefsson  <simon@josefsson.org>
28284
28285         * lib/dup2.c (rpl_dup2): Improve comment.
28286
28287 2010-01-08  Eric Blake  <ebb9@byu.net>
28288
28289         maint.mk: allow packages to add makefile @@ exceptions
28290         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
28291         (sc_makefile_check): Rename...
28292         (sc_makefile_at_at_check): ...to this, and use hook.
28293
28294         dup2: work around mingw bug
28295         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
28296         Reported by Simon Josefsson.
28297
28298 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
28299
28300         glob: Fix C++ compilation.
28301         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
28302         C++.
28303
28304 2010-01-07  Bruno Haible  <bruno@clisp.org>
28305
28306         Fix indentation of wctype.in.h, broken since 2007-01-06.
28307         * lib/wctype.in.h: Fix indentation of preprocessor directives.
28308
28309 2010-01-07  Bruno Haible  <bruno@clisp.org>
28310
28311         mbslen: Avoid collision with system function.
28312         * lib/string.in.h [MirBSD]: Include <wchar.h>.
28313         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
28314         * m4/mbslen.m4: New file.
28315         * modules/mbslen (Files): Add it.
28316         (configure.ac): Invoke gl_MBSLEN.
28317         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
28318         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
28319         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
28320         via Ian Beckwith <ianb@erislabs.net>.
28321
28322 2010-01-07  Bruno Haible  <bruno@clisp.org>
28323
28324         dirent: Document the last fix.
28325         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
28326
28327 2010-01-07  Bruno Haible  <bruno@clisp.org>
28328
28329         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
28330         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
28331         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
28332         va_list are defined.
28333         * doc/posix-headers/stdio.texi: Document the bug of missing types.
28334         Reported by Eric Blake.
28335
28336 2010-01-07  Bruno Haible  <bruno@clisp.org>
28337
28338         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
28339         * modules/xlist (Depends-on): Add 'list',
28340         * modules/xoset (Depends-on): Add 'oset'.
28341         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28342
28343 2010-01-07  Bruno Haible  <bruno@clisp.org>
28344
28345         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
28346         * doc/posix-functions/strncasecmp.texi: Likewise.
28347
28348 2010-01-07  Bruno Haible  <bruno@clisp.org>
28349
28350         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
28351
28352 2010-01-07  John W. Eaton  <jwe@octave.org>
28353
28354         wctype: allow C++ use
28355         * lib/wctype.in.h: Add extern "C" block for C++.
28356
28357 2010-01-06  Eric Blake  <ebb9@byu.net>
28358
28359         maint.mk: detect incorrect GFDL usage
28360         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
28361
28362 2010-01-06  Jim Meyering  <meyering@redhat.com>
28363         and Eric Blake  <ebb9@byu.net>
28364
28365         maint.mk: ignore multi-line copyright in NEWS
28366         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
28367
28368 2010-01-06  Eric Blake  <ebb9@byu.net>
28369
28370         select: add missing dependency
28371         * modules/select-tests (Depends-on): Move sockets dependency...
28372         * modules/select (Depends-on): ...here.
28373         Reported by Ian Beckwith.
28374
28375         doc: regenerate INSTALL
28376         * doc/INSTALL: Reflect recent autoconf update.
28377         * doc/INSTALL.ISO: Likewise.
28378         * doc/INSTALL.UTF-8: Likewise.
28379
28380         pread: fix compilation on glibc
28381         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
28382         Reported by Ralf Wildenhues.
28383
28384         dirent: fix test failure
28385         * lib/dirent.in.h (includes): Guarantee ino_t.
28386         Reported by Ralf Wildenhues.
28387
28388 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
28389
28390         linkat, renameat: avoid bad free
28391         * lib/at-func2.c (at_func2): Fix typo.
28392         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
28393
28394 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28395
28396         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
28397         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
28398         to avoid failure of symlink test later.
28399
28400 2010-01-06  Eric Blake  <ebb9@byu.net>
28401
28402         stdio, unistd: guarantee ssize_t
28403         * lib/unistd.in.h (includes): Ensure that types required by POSIX
28404         2008 are exposed when needed.
28405         * lib/stdio.in.h (includes): Likewise.
28406         Reported by Ralf Wildenhues.
28407
28408 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
28409
28410         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
28411         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
28412         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
28413
28414 2010-01-06  Jim Meyering  <meyering@redhat.com>
28415
28416         readtokens: this module *does* require xalloc.h
28417         It uses only functions that were omitted by the old syntax-check rule.
28418         * lib/readtokens.c: Include "xalloc.h" once again.
28419         * modules/readtokens (Depends-on): Add xalloc.
28420         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
28421
28422 2010-01-05  Eric Blake  <ebb9@byu.net>
28423
28424         maint: support 'make announcement' from a VPATH build
28425         * top/maint.mk (announcement): Look for correct NEWS file.
28426
28427 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
28428
28429         utimens (fdutimens): ignore a negative FD, per contract
28430         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
28431         when we have a valid file descriptor.  Otherwise, using a brand
28432         new glibc (with just-patched futimens that now fails with EBADF)
28433         would cause this function to fail with ENOSYS.
28434         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
28435         See also http://bugzilla.redhat.com/552320.
28436
28437 2010-01-05  Eric Blake  <ebb9@byu.net>
28438
28439         strcase: document what it provides
28440         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
28441         gnulib module.
28442         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
28443         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
28444
28445 2010-01-05  Jim Meyering  <meyering@redhat.com>
28446
28447         maint: remove useless inclusions of "xalloc.h"
28448         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
28449         * lib/readtokens.c: Likewise.
28450         * lib/same.c: Likewise.
28451         * modules/getloadavg (Depends-on): Remove xalloc.
28452         * modules/readtokens: Likewise.
28453         * modules/same: Likewise.
28454
28455         maint.mk: include 4 more function names in alloca.h-checking regexp
28456         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
28457         regexp.  Before, we would give a false-positive (saying alloca.h
28458         is included unnecessarily) when the only uses involved omitted symbols.
28459
28460         xalloc.h: use consistent formatting
28461         * lib/xalloc.h: Move declarations to start in the first column.
28462
28463 2010-01-05  Eric Blake  <ebb9@byu.net>
28464
28465         mkdir: avoid xalloc
28466         * lib/mkdir.c (includes): Drop unused header.
28467         Reported by John W. Eaton.
28468
28469 2010-01-04  Jim Meyering  <meyering@redhat.com>
28470
28471         nl_langinfo: avoid configure-time syntax error
28472         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28473         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28474         the empty string.  Don't let that provoke a shell syntax error.
28475
28476         regcomp, regexec, fnmatch: avoid array bounds read error
28477         * lib/regcomp.c (build_equiv_class): From glibc:
28478         Use only the low 24 bits of a findidx return value as an index
28479         into the weights array.  Patch by Ulrich Drepper:
28480         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28481         * lib/regexec.c (check_node_accept_bytes): Likewise.
28482         * lib/fnmatch_loop.c (FCT): Likewise.
28483
28484         regcomp: skip collseq lookup when there are no rules
28485         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28486         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28487
28488         regcomp: recognize ill-formed { } expressions
28489         * lib/regcomp.c (parse_dup_op): From glibc:
28490         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28491
28492         regcomp: fix typo in comment
28493         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28494         s/satisfy/satisfies/.
28495
28496         regcomp: sync from glibc: remove dead store
28497         * lib/regcomp.c (duplicate_node_closure): Remove useless
28498         search_duplicated_node call and dead store.
28499
28500         regcomp: sync from glibc; always use nl_langinfo
28501         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28502         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28503         * modules/regex (Depends-on): Add nl_langinfo.
28504
28505 2010-01-04  Eric Blake  <ebb9@byu.net>
28506
28507         fdopendir: fix configure test
28508         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28509
28510 2010-01-01  Bruno Haible  <bruno@clisp.org>
28511
28512         wchar: Remove unused configure check.
28513         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28514
28515 2010-01-01  Eric Blake  <ebb9@byu.net>
28516
28517         headers: make check of system header explicit
28518         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28519         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28520         ourselves.
28521         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28522         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28523         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28524         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
28525         internals.
28526         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
28527         missing.
28528         Suggested by Bruno Haible.
28529
28530 2010-01-01  Jim Meyering  <meyering@redhat.com>
28531
28532         ChangeLog: tweak to eliminate unnecessary copyright line
28533         * ChangeLog: Remove a copyright line that was mistakenly updated
28534         by today's update-copyright run.  Reported by Eric Blake.
28535
28536         test-update-copyright: don't let envvar setting cause test failure
28537         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28538
28539 2010-01-01  Bruno Haible  <bruno@clisp.org>
28540
28541         localename: Avoid gcc warning.
28542         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
28543         function if it is not used.
28544
28545 2010-01-01  Jim Meyering  <meyering@redhat.com>
28546
28547         update nearly all FSF copyright year lists to include 2010
28548         Use the same procedure as for 2009, outlined in
28549         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
28550
28551         version-etc: set COPYRIGHT_YEAR to 2010
28552         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
28553
28554 2009-12-31  Eric Blake  <ebb9@byu.net>
28555
28556         doc: correct availability of cygwin 1.5.x getopt
28557         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
28558         variables.
28559         * doc/posix-functions/opterr.texi (opterr): Likewise.
28560         * doc/posix-functions/optind.texi (optind): Likewise.
28561         * doc/posix-functions/optopt.texi (optopt): Likewise.
28562         * doc/posix-functions/tzname.texi (tzname): Likewise.
28563
28564         openat: update maintainer
28565         * modules/openat (Maintainer): Add myself.
28566
28567         utimens: avoid shadowing warning
28568         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
28569         buffers into one, to avoid shadowing, as well as avoiding a
28570         redundant stat.
28571         Reported by Jim Meyering.
28572
28573         test-dup2: avoid compiler warning
28574         * tests/test-dup2.c (is_inheritable): Only define if used.
28575
28576 2010-01-01  Bruno Haible  <bruno@clisp.org>
28577
28578         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
28579         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
28580         defined, use wctomb instead of wcrtomb.
28581
28582 2010-01-01  Bruno Haible  <bruno@clisp.org>
28583
28584         iconv: Reject native Solaris iconv.
28585         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
28586         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
28587
28588 2009-12-31  Bruno Haible  <bruno@clisp.org>
28589
28590         * tests/test-signal.c (main): Remove test of 'SIG'.
28591
28592 2009-12-31  Bruno Haible  <bruno@clisp.org>
28593
28594         spawn: Fix incomplete fix.
28595         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28596         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28597         warnings for GNULIB_POSIXCHECK again.
28598         Reported by Eric Blake.
28599
28600 2009-12-31  Bruno Haible  <bruno@clisp.org>
28601
28602         Avoid namespace pollution on glibc systems.
28603         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
28604         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
28605         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
28606         glibc systems.
28607
28608 2009-12-31  Bruno Haible  <bruno@clisp.org>
28609
28610         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
28611         (gl_REPLACE_WCHAR_H): Turn into a no-op.
28612         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
28613         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28614         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28615         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28616         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28617
28618 2009-12-31  Bruno Haible  <bruno@clisp.org>
28619
28620         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28621         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
28622         afterwards.
28623
28624 2009-12-31  Bruno Haible  <bruno@clisp.org>
28625
28626         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
28627         SYS_UTSNAME_H.
28628
28629 2009-12-31  Bruno Haible  <bruno@clisp.org>
28630
28631         spawn: Fix misapplied patch.
28632         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28633         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28634         warnings for GNULIB_POSIXCHECK.
28635
28636 2009-12-31  Bruno Haible  <bruno@clisp.org>
28637
28638         times: Update after sys_times changed.
28639         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
28640         * modules/times (Files): Add it.
28641         (configure.ac): Invoke gl_FUNC_TIMES.
28642
28643 2009-12-31  Bruno Haible  <bruno@clisp.org>
28644
28645         Use AC_C_INLINE where necessary.
28646         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
28647         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28648         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
28649         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28650         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28651         * m4/mbiter.m4 (gl_MBITER): Likewise.
28652         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28653         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28654         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
28655         * modules/u64 (configure.ac): Likewise.
28656
28657 2009-12-31  Bruno Haible  <bruno@clisp.org>
28658
28659         Use AC_C_INLINE instead of module 'inline' where possible.
28660         * modules/inline (Description): Clarify purpose.
28661         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
28662         * modules/count-one-bits (Depends-on): Remove inline.
28663         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
28664         * modules/openat (Depends-on): Remove inline.
28665         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
28666         instead of depending on module 'inline'.
28667         * modules/filevercmp (Depends-on, configure.ac): Likewise.
28668         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
28669         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
28670         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
28671         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
28672         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
28673         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
28674         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
28675         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
28676         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
28677         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
28678         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
28679         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
28680         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
28681         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
28682         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
28683         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
28684         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
28685         Likewise.
28686         * modules/unictype/property-ascii-hex-digit (Depends-on,
28687         configure.ac): Likewise.
28688         * modules/unictype/property-bidi-arabic-digit (Depends-on,
28689         configure.ac): Likewise.
28690         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
28691         configure.ac): Likewise.
28692         * modules/unictype/property-bidi-block-separator (Depends-on,
28693         configure.ac): Likewise.
28694         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
28695         configure.ac): Likewise.
28696         * modules/unictype/property-bidi-common-separator (Depends-on,
28697         configure.ac): Likewise.
28698         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
28699         Likewise.
28700         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
28701         configure.ac): Likewise.
28702         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
28703         configure.ac): Likewise.
28704         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
28705         configure.ac): Likewise.
28706         * modules/unictype/property-bidi-european-digit (Depends-on,
28707         configure.ac): Likewise.
28708         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
28709         configure.ac): Likewise.
28710         * modules/unictype/property-bidi-left-to-right (Depends-on,
28711         configure.ac): Likewise.
28712         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
28713         configure.ac): Likewise.
28714         * modules/unictype/property-bidi-other-neutral (Depends-on,
28715         configure.ac): Likewise.
28716         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
28717         Likewise.
28718         * modules/unictype/property-bidi-segment-separator (Depends-on,
28719         configure.ac): Likewise.
28720         * modules/unictype/property-bidi-whitespace (Depends-on,
28721         configure.ac): Likewise.
28722         * modules/unictype/property-combining (Depends-on, configure.ac):
28723         Likewise.
28724         * modules/unictype/property-composite (Depends-on, configure.ac):
28725         Likewise.
28726         * modules/unictype/property-currency-symbol (Depends-on,
28727         configure.ac): Likewise.
28728         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
28729         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
28730         Likewise.
28731         * modules/unictype/property-default-ignorable-code-point (Depends-on,
28732         configure.ac): Likewise.
28733         * modules/unictype/property-deprecated (Depends-on, configure.ac):
28734         Likewise.
28735         * modules/unictype/property-diacritic (Depends-on, configure.ac):
28736         Likewise.
28737         * modules/unictype/property-extender (Depends-on, configure.ac):
28738         Likewise.
28739         * modules/unictype/property-format-control (Depends-on, configure.ac):
28740         Likewise.
28741         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
28742         Likewise.
28743         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
28744         Likewise.
28745         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
28746         Likewise.
28747         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
28748         Likewise.
28749         * modules/unictype/property-hyphen (Depends-on, configure.ac):
28750         Likewise.
28751         * modules/unictype/property-id-continue (Depends-on, configure.ac):
28752         Likewise.
28753         * modules/unictype/property-id-start (Depends-on, configure.ac):
28754         Likewise.
28755         * modules/unictype/property-ideographic (Depends-on, configure.ac):
28756         Likewise.
28757         * modules/unictype/property-ids-binary-operator (Depends-on,
28758         configure.ac): Likewise.
28759         * modules/unictype/property-ids-trinary-operator (Depends-on,
28760         configure.ac): Likewise.
28761         * modules/unictype/property-ignorable-control (Depends-on,
28762         configure.ac): Likewise.
28763         * modules/unictype/property-iso-control (Depends-on, configure.ac):
28764         Likewise.
28765         * modules/unictype/property-join-control (Depends-on, configure.ac):
28766         Likewise.
28767         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
28768         Likewise.
28769         * modules/unictype/property-line-separator (Depends-on, configure.ac):
28770         Likewise.
28771         * modules/unictype/property-logical-order-exception (Depends-on,
28772         configure.ac): Likewise.
28773         * modules/unictype/property-lowercase (Depends-on, configure.ac):
28774         Likewise.
28775         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
28776         * modules/unictype/property-non-break (Depends-on, configure.ac):
28777         Likewise.
28778         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
28779         Likewise.
28780         * modules/unictype/property-numeric (Depends-on, configure.ac):
28781         Likewise.
28782         * modules/unictype/property-other-alphabetic (Depends-on,
28783         configure.ac): Likewise.
28784         * modules/unictype/property-other-default-ignorable-code-point
28785         (Depends-on, configure.ac): Likewise.
28786         * modules/unictype/property-other-grapheme-extend (Depends-on,
28787         configure.ac): Likewise.
28788         * modules/unictype/property-other-id-continue (Depends-on,
28789         configure.ac): Likewise.
28790         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
28791         Likewise.
28792         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
28793         Likewise.
28794         * modules/unictype/property-other-math (Depends-on, configure.ac):
28795         Likewise.
28796         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
28797         Likewise.
28798         * modules/unictype/property-paired-punctuation (Depends-on,
28799         configure.ac): Likewise.
28800         * modules/unictype/property-paragraph-separator (Depends-on,
28801         configure.ac): Likewise.
28802         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
28803         Likewise.
28804         * modules/unictype/property-pattern-white-space (Depends-on,
28805         configure.ac): Likewise.
28806         * modules/unictype/property-private-use (Depends-on, configure.ac):
28807         Likewise.
28808         * modules/unictype/property-punctuation (Depends-on, configure.ac):
28809         Likewise.
28810         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
28811         Likewise.
28812         * modules/unictype/property-radical (Depends-on, configure.ac):
28813         Likewise.
28814         * modules/unictype/property-sentence-terminal (Depends-on,
28815         configure.ac): Likewise.
28816         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
28817         Likewise.
28818         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
28819         * modules/unictype/property-terminal-punctuation (Depends-on,
28820         configure.ac): Likewise.
28821         * modules/unictype/property-titlecase (Depends-on, configure.ac):
28822         Likewise.
28823         * modules/unictype/property-unassigned-code-value (Depends-on,
28824         configure.ac): Likewise.
28825         * modules/unictype/property-unified-ideograph (Depends-on,
28826         configure.ac): Likewise.
28827         * modules/unictype/property-uppercase (Depends-on, configure.ac):
28828         Likewise.
28829         * modules/unictype/property-variation-selector (Depends-on,
28830         configure.ac): Likewise.
28831         * modules/unictype/property-white-space (Depends-on, configure.ac):
28832         Likewise.
28833         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
28834         Likewise.
28835         * modules/unictype/property-xid-start (Depends-on, configure.ac):
28836         Likewise.
28837         * modules/unictype/property-zero-width (Depends-on, configure.ac):
28838         Likewise.
28839         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
28840         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
28841         Likewise.
28842
28843 2009-12-31  Bruno Haible  <bruno@clisp.org>
28844
28845         Remove unnecessary AC_C_INLINE invocation.
28846         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
28847         since 2009-08-21.
28848
28849 2009-12-31  Jim Meyering  <meyering@redhat.com>
28850
28851         maint.mk: don't require explicit gpg_key_ID in cfg.mk
28852         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
28853         With this change, we can all remove the gpg_key_ID = ... definition
28854         from our respective cfg.mk files.
28855
28856         maint.mk: create announcement template in ~/, not in /tmp
28857         * top/maint.mk (emit_upload_commands): Adjust.
28858         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
28859         Remove temporary file, .ci-msg.
28860
28861 2009-12-31  Eric Blake  <ebb9@byu.net>
28862
28863         link-warning: always build headers with link warnings
28864         * modules/arpa_inet (Makefile.am): Always build replacement
28865         header.
28866         * modules/ctype (Makefile.am): Likewise.
28867         * modules/dirent (Makefile.am): Likewise.
28868         * modules/inttypes (Makefile.am): Likewise.
28869         * modules/langinfo (Makefile.am): Likewise.
28870         * modules/locale (Makefile.am): Likewise.
28871         * modules/spawn (Makefile.am): Likewise.
28872         * modules/sys_file (Makefile.am): Likewise.
28873         * modules/sys_ioctl (Makefile.am): Likewise.
28874         * modules/sys_select (Makefile.am): Likewise.
28875         * modules/sys_socket (Makefile.am): Likewise.
28876         * modules/sys_times (Makefile.am): Likewise.
28877         * modules/sys_utsname (Makefile.am): Likewise.
28878         * modules/sys_wait (Makefile.am): Likewise.
28879         * modules/wchar (Makefile.am): Likewise.
28880         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
28881         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
28882         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
28883         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
28884         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
28885         Likewise.
28886         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28887         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28888         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
28889         Likewise.
28890         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
28891         Likewise.
28892         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
28893         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
28894         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
28895         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28896         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28897         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28898         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28899         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
28900         (gl_WCHAR_H_DEFAULTS): Likewise.
28901
28902 2009-12-31  Eric Blake  <ebb9@byu.net>
28903
28904         signal, spawn: use link warnings
28905         * lib/signal.in.h (sigset_t): Make unconditional.
28906         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
28907         (sigpending, sigprocmask, sigaction): Add link warnings.
28908         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
28909         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
28910         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
28911         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
28912         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
28913         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
28914         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
28915         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
28916         (posix_spawn_file_actions_destroy)
28917         (posix_spawn_file_actions_addopen)
28918         (posix_spawn_file_actions_addclose)
28919         (posix_spawn_file_actions_adddup2): Likewise.
28920         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
28921         * tests/test-signal.c (main): Enhance test.
28922
28923         spawn: improve wrapper support
28924         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
28925         (gl_SPAWN_H_DEFAULTS): New defaults.
28926         * modules/spawn (Makefile.am): Substitute them.
28927         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
28928         Only declare if missing or broken.
28929
28930         sys_times, sys_utsname: use include_next
28931         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
28932         header.
28933         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
28934         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28935         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28936         * modules/sys_times (Depends-on): Add include_next.
28937         (Makefile.am): Substitute additional values.
28938         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
28939         * lib/sys_times.in.h (includes): Include native header, if
28940         available.
28941         * lib/sys_utsname.in.h (includes): Likewise.
28942         * tests/test-sys_times.c (main): Enhance test.
28943
28944         fdutimensat: revert prior patch
28945         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
28946         utimens.h.
28947         Reported by Bruno Haible.
28948
28949 2009-12-30  Eric Blake  <ebb9@byu.net>
28950
28951         sys_wait: drop link-warning dependency
28952         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
28953         link-warning efforts.
28954         * lib/sys_wait.in.h: Likewise.
28955
28956         fdutimensat: remove bogus dependency
28957         * modules/fdutimensat (Depends-on): Drop inline.
28958
28959         unistd: fix typo
28960         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
28961
28962 2009-12-30  Bruno Haible  <bruno@clisp.org>
28963
28964         Fix compilation error with Solaris cc.
28965         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
28966         * lib/unicase/u16-is-invariant.c: Likewise.
28967         * lib/unicase/u32-is-invariant.c: Likewise.
28968         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
28969
28970 2009-12-30  Bruno Haible  <bruno@clisp.org>
28971
28972         Fix test crash.
28973         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
28974         locales.
28975         Reported by Simon Josefsson <simon@josefsson.org>.
28976
28977 2009-12-30  Bruno Haible  <bruno@clisp.org>
28978
28979         Fix compilation error on most platforms.
28980         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
28981         Reported by Simon Josefsson <simon@josefsson.org>
28982         and Nelson H. F. Beebe <beebe@math.utah.edu>.
28983
28984 2009-12-30  Eric Blake  <ebb9@byu.net>
28985
28986         futimens, utimensat: work around ntfs-3g bug
28987         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
28988         a ctime bug is present, and expand workaround to cover ntfs-3g.
28989         * lib/utimens.c (fdutimens, lutimens): Likewise.
28990         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
28991         (validate_timespec): Adjust return value.
28992         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
28993         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28994         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
28995
28996 2009-12-29  Eric Blake  <ebb9@byu.net>
28997
28998         link-warning: make usage consistent
28999         * modules/ctype (Depends-on): Add link-warning.
29000         (Makefile.am): Update rules accordingly.
29001         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29002         * modules/locale (Depends-on, Makefile.am): Likewise.
29003         * modules/sys_file (Makefile.am): Likewise.
29004         * modules/getopt-posix (Makefile.am): Delete unused link warning
29005         efforts.
29006         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
29007         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
29008         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
29009         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
29010
29011         stdio: remove unused variables
29012         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
29013         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
29014         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29015
29016         tests: test more substitute headers
29017         * modules/ctype-tests: New file.
29018         * modules/dirent-tests: Likewise.
29019         * modules/spawn-tests: Likewise.
29020         * modules/sys_file-tests: Likewise.
29021         * modules/sys_ioctl-tests: Likewise.
29022         * modules/sys_wait-tests: Likewise.
29023         * tests/test-ctype.c: Likewise.
29024         * tests/test-dirent.c: Likewise.
29025         * tests/test-spawn.c: Likewise.
29026         * tests/test-sys_file.c: Likewise.
29027         * tests/test-sys_ioctl.c: Likewise.
29028         * tests/test-sys_wait.c: Likewise.
29029         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
29030         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
29031         whether or not flock is in use.
29032
29033         tests: remove License section from module
29034         * modules/arpa_inet-tests: Remove unneeded section.
29035         * modules/byteswap-tests: Likewise.
29036         * modules/ceilf-tests: Likewise.
29037         * modules/ceill-tests: Likewise.
29038         * modules/crypto/des-tests: Likewise.
29039         * modules/crypto/gc-arcfour-tests: Likewise.
29040         * modules/crypto/gc-arctwo-tests: Likewise.
29041         * modules/crypto/gc-des-tests: Likewise.
29042         * modules/crypto/gc-hmac-md5-tests: Likewise.
29043         * modules/crypto/gc-hmac-sha1-tests: Likewise.
29044         * modules/crypto/gc-md2-tests: Likewise.
29045         * modules/crypto/gc-md4-tests: Likewise.
29046         * modules/crypto/gc-md5-tests: Likewise.
29047         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
29048         * modules/crypto/gc-rijndael-tests: Likewise.
29049         * modules/crypto/gc-sha1-tests: Likewise.
29050         * modules/crypto/gc-tests: Likewise.
29051         * modules/crypto/md2-tests: Likewise.
29052         * modules/crypto/md4-tests: Likewise.
29053         * modules/fcntl-h-tests: Likewise.
29054         * modules/floorf-tests: Likewise.
29055         * modules/floorl-tests: Likewise.
29056         * modules/frexp-nolibm-tests: Likewise.
29057         * modules/frexp-tests: Likewise.
29058         * modules/frexpl-nolibm-tests: Likewise.
29059         * modules/frexpl-tests: Likewise.
29060         * modules/getaddrinfo-tests: Likewise.
29061         * modules/inttypes-tests: Likewise.
29062         * modules/isfinite-tests: Likewise.
29063         * modules/isinf-tests: Likewise.
29064         * modules/ldexpl-tests: Likewise.
29065         * modules/locale-tests: Likewise.
29066         * modules/math-tests: Likewise.
29067         * modules/netdb-tests: Likewise.
29068         * modules/netinet_in-tests: Likewise.
29069         * modules/printf-frexp-tests: Likewise.
29070         * modules/printf-frexpl-tests: Likewise.
29071         * modules/priv-set-tests: Likewise.
29072         * modules/random_r-tests: Likewise.
29073         * modules/round-tests: Likewise.
29074         * modules/roundf-tests: Likewise.
29075         * modules/roundl-tests: Likewise.
29076         * modules/search-tests: Likewise.
29077         * modules/select-tests: Likewise.
29078         * modules/signal-tests: Likewise.
29079         * modules/stdbool-tests: Likewise.
29080         * modules/stddef-tests: Likewise.
29081         * modules/stdint-tests: Likewise.
29082         * modules/stdio-tests: Likewise.
29083         * modules/stdlib-tests: Likewise.
29084         * modules/string-tests: Likewise.
29085         * modules/strings-tests: Likewise.
29086         * modules/sys_select-tests: Likewise.
29087         * modules/sys_socket-tests: Likewise.
29088         * modules/sys_stat-tests: Likewise.
29089         * modules/sys_time-tests: Likewise.
29090         * modules/sys_utsname-tests: Likewise.
29091         * modules/sysexits-tests: Likewise.
29092         * modules/time-tests: Likewise.
29093         * modules/trunc-tests: Likewise.
29094         * modules/truncf-tests: Likewise.
29095         * modules/truncl-tests: Likewise.
29096         * modules/tsearch-tests: Likewise.
29097         * modules/unistd-tests: Likewise.
29098         * modules/wchar-tests: Likewise.
29099         * modules/wctype-tests: Likewise.
29100
29101         tests: fix license on several tests
29102         * tests/test-des.c: Update to GPLv3+.
29103         * tests/test-flock.c: Likewise.
29104         * tests/test-fsync.c: Likewise.
29105         * tests/test-futimens.h: Likewise.
29106         * tests/test-gc-arcfour.c: Likewise.
29107         * tests/test-gc-arctwo.c: Likewise.
29108         * tests/test-gc-des.c: Likewise.
29109         * tests/test-gc-hmac-md5.c: Likewise.
29110         * tests/test-gc-hmac-sha1.c: Likewise.
29111         * tests/test-gc-md2.c: Likewise.
29112         * tests/test-gc-md4.c: Likewise.
29113         * tests/test-gc-md5.c: Likewise.
29114         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29115         * tests/test-gc-rijndael.c: Likewise.
29116         * tests/test-gc-sha1.c: Likewise.
29117         * tests/test-gc.c: Likewise.
29118         * tests/test-getcwd.c: Likewise.
29119         * tests/test-link.c: Likewise.
29120         * tests/test-link.h: Likewise.
29121         * tests/test-lutimens.h: Likewise.
29122         * tests/test-md2.c: Likewise.
29123         * tests/test-md4.c: Likewise.
29124         * tests/test-mkdir.h: Likewise.
29125         * tests/test-rename.c: Likewise.
29126         * tests/test-rename.h: Likewise.
29127         * tests/test-safe-alloc.c: Likewise.
29128         * tests/test-utimens-common.h: Likewise.
29129         * tests/test-utimens.h: Likewise.
29130
29131         maint: sync license texts
29132         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
29133         * doc/gpl-3.0.texi: Revert copyright year update.
29134         * doc/lgpl-3.0.texi: Likewise.
29135
29136 2009-12-29  Jim Meyering  <meyering@redhat.com>
29137
29138         update nearly all FSF copyright year lists to include 2009
29139         The files named by the following are exempted:
29140             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
29141               test -f "$dst" && { echo "$dst"; continue; }
29142               test -d "$dst" || continue
29143               echo "$dst"/$(basename "$src")
29144             done > exempt
29145             git ls-files tests/unictype >> exempt
29146         In the remaining files, convert to all-interval notation if
29147         - there is already at least one year interval like 2000-2003
29148         - the file is maintained by me
29149         - the file is in lib/uni*/, where that style already prevails
29150         Otherwise, use update-copyright's default.
29151
29152 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29153         and Eric Blake  <ebb9@byu.net>
29154
29155         tests: don't require debug system() to pass
29156         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
29157         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29158         * tests/test-unlink.h (test_unlink_func): Likewise.
29159         * tests/test-fstatat.c (main): ...into callers.
29160         * tests/test-lstat.c (main): Likewise.
29161         * tests/test-rmdir.c (main): Likewise.
29162         * tests/test-unlink.c (main): Likewise.
29163         * tests/test-unlinkat.c (main): Likewise.
29164         * tests/test-areadlink-with-size.c (main): Don't require a
29165         debug-only system call to pass, aiding cross-testing to mingw.
29166         * tests/test-areadlink.c (main): Likewise.
29167         * tests/test-areadlinkat-with-size.c (main): Likewise.
29168         * tests/test-areadlinkat.c (main): Likewise.
29169         * tests/test-canonicalize-lgpl.c (main): Likewise.
29170         * tests/test-canonicalize.c (main): Likewise.
29171         * tests/test-chown.c (main): Likewise.
29172         * tests/test-fchownat.c (main): Likewise.
29173         * tests/test-lchown.c (main): Likewise.
29174         * tests/test-fdutimensat.c (main): Likewise.
29175         * tests/test-futimens.c (main): Likewise.
29176         * tests/test-link.c (main): Likewise.
29177         * tests/test-linkat.c (main): Likewise.
29178         * tests/test-mkdir.c (main): Likewise.
29179         * tests/test-mkdirat.c (main): Likewise.
29180         * tests/test-mkfifo.c (main): Likewise.
29181         * tests/test-mkfifoat.c (main): Likewise.
29182         * tests/test-mknod.c (main): Likewise.
29183         * tests/test-readlink.c (main): Likewise.
29184         * tests/test-remove.c (main): Likewise.
29185         * tests/test-rename.c (main): Likewise.
29186         * tests/test-renameat.c (main): Likewise.
29187         * tests/test-symlink.c (main): Likewise.
29188         * tests/test-symlinkat.c (main): Likewise.
29189         * tests/test-utimens.c (main): Likewise.
29190         * tests/test-utimensat.c (main): Likewise.
29191
29192 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29193
29194         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
29195         on $(UNUSED_PARAMETER_H) to avoid build failure.
29196
29197 2009-12-28  Jim Meyering  <meyering@redhat.com>
29198
29199         update-copyright: you may specify a max. line length other than 72
29200         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29201
29202         maint: use consistent FSF copyright line syntax
29203         * lib/posixtm.c: Add missing comma in FSF copyright line.
29204         * lib/posixtm.h: Likewise.
29205         * lib/getugroups.c: Add missing ", Inc.".
29206
29207         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
29208         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
29209         FSF copyright line.  Remove trailing blanks.
29210
29211 2009-12-28  Eric Blake  <ebb9@byu.net>
29212
29213         test-dup2: reduce dependencies
29214         * modules/cloexec (Configure.ac): Set witness.
29215         * modules/dup2-tests (Depends-on): Drop cloexec.
29216         * tests/test-dup2.c (main): Skip portion of test if cloexec module
29217         not present.
29218         Suggested by Bruno Haible.
29219
29220 2009-12-26  Bruno Haible  <bruno@clisp.org>
29221
29222         Remove an unneeded dependency.
29223         * modules/fseterr (Depends-on): Remove dup2.
29224
29225 2009-12-26  Eric Blake  <ebb9@byu.net>
29226
29227         tests: use macros.h in more places
29228         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
29229         (ASSERT_STREAM): Provide default of stderr.
29230         * tests/test-dirent-safer.c: Include macros.h, using alternate
29231         stream for assertions.
29232         * tests/test-dup-safer.c: Likewise.
29233         * tests/test-freopen-safer.c: Likewise.
29234         * tests/test-getopt.c: Likewise.
29235         * tests/test-openat-safer.c: Likewise.
29236         * tests/test-pipe.c: Likewise.
29237         * tests/test-popen-safer.c: Likewise.
29238         * modules/dirent-safer-tests (Files): Include macros.h.
29239         * modules/unistd-safer-tests (Files): Likewise.
29240         * modules/freopen-safer-tests (Files): Likewise.
29241         * modules/getopt-posix-tests (Files): Likewise.
29242         * modules/openat-safer-tests (Files): Likewise.
29243         * modules/pipe-tests (Files): Likewise.
29244
29245 2009-12-26  Bruno Haible  <bruno@clisp.org>
29246
29247         javacomp: Portability fix.
29248         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
29249         that it also works on Solaris.
29250
29251 2009-12-26  Bruno Haible  <bruno@clisp.org>
29252
29253         localename: Fix storage allocation of gl_locale_name_thread's result.
29254         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
29255         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
29256         all platforms that have 'uselocale'.
29257         (gl_locale_name_thread_unsafe): New function, extracted from
29258         gl_locale_name_thread.
29259         (gl_locale_name_thread): Call struniq on all platforms that have
29260         'uselocale'.
29261         * tests/test-localename.c (test_locale_name_thread): Check that the
29262         resulting strings are permanently allocated.
29263         * modules/localename-tests (Depends-on): Add strdup.
29264
29265 2009-12-26  Bruno Haible  <bruno@clisp.org>
29266
29267         * tests/test-localename.c (categories): Fill in the strings.
29268
29269 2009-12-26  Jim Meyering  <meyering@redhat.com>
29270
29271         isdir: complete the removal of m4/isdir.m4
29272         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
29273
29274         isdir: clean up, since at least grep still uses it
29275         * lib/isdir.c: Include "isdir.h".
29276         (S_ISDIR): Remove now-unneeded definition.
29277         * modules/isdir (Files): Add lib/isdir.h.
29278         * lib/isdir.h: New file, with declaration.
29279         * m4/isdir.m4: Remove file -- unneeded.
29280
29281 2009-12-25  Bruno Haible  <bruno@clisp.org>
29282
29283         selinux-h: Make generated .h files standalone.
29284         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
29285         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
29286         * lib/se-selinux.in.h: Likewise.
29287         * modules/selinux-h (Depends-on): Add unused-parameter.
29288         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
29289         selinux/selinux.h and selinux/context.h.
29290         Suggested by Eric Blake.
29291
29292 2009-12-25  Bruno Haible  <bruno@clisp.org>
29293
29294         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
29295         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
29296         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
29297         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
29298         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
29299
29300 2009-12-24  Bruno Haible  <bruno@clisp.org>
29301
29302         openat: Fix warning.
29303         * lib/openat-proc.c: Include <unistd.h>.
29304
29305 2009-12-24  Bruno Haible  <bruno@clisp.org>
29306
29307         New module 'unused-parameter'.
29308         * build-aux/unused-parameter.h: New file, extracted from earlier
29309         gnulib-common.m4.
29310         * modules/unused-parameter: New file.
29311         * lib/unistr.h: Include unused-parameter.h.
29312         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
29313         _GL_UNUSED.
29314         * modules/unistr/base (Depends-on): Add unused-parameter.
29315
29316 2009-12-24  Bruno Haible  <bruno@clisp.org>
29317
29318         Add missing dependencies to 'extensions' module.
29319         * m4/extensions.m4: Add comment.
29320         * modules/accept4 (Depends-on): Add extensions.
29321         * modules/dup3 (Depends-on): Likewise.
29322         * modules/fcntl (Depends-on): Likewise.
29323         * modules/futimens (Depends-on): Likewise.
29324         * modules/mknod (Depends-on): Likewise.
29325         * modules/pipe2 (Depends-on): Likewise.
29326         * modules/stat-time (Depends-on): Likewise.
29327         * modules/strcasestr-simple (Depends-on): Likewise.
29328         * modules/strsignal (Depends-on): Likewise.
29329         * modules/utimensat (Depends-on): Likewise.
29330         * modules/localcharset (Depends-on): Likewise. Needed because of
29331         gl_FCNTL_O_FLAGS.
29332         * modules/wcrtomb (Depends-on): Likewise. Needed because of
29333         AC_TYPE_MBSTATE_T.
29334         * modules/wcsnrtombs (Depends-on): Likewise.
29335         * modules/wcsrtombs (Depends-on): Likewise.
29336
29337 2009-12-24  Bruno Haible  <bruno@clisp.org>
29338
29339         binary-io: Avoid gcc warning due to SET_BINARY.
29340         * lib/binary-io.h (SET_BINARY): Cast the result to void.
29341         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
29342
29343 2009-12-24  Bruno Haible  <bruno@clisp.org>
29344
29345         Avoid future namespace pollution on glibc systems.
29346         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
29347         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
29348         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
29349         glibc systems.
29350
29351 2009-12-24  Bruno Haible  <bruno@clisp.org>
29352
29353         Refactor common macros used in tests.
29354         * tests/macros.h: New file.
29355         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
29356         and/or <stdlib.h>, if appropriate.
29357         (ASSERT, SIZEOF): Remove macros.
29358         * tests/test-areadlink-with-size.c: Likewise.
29359         * tests/test-areadlinkat.c: Likewise.
29360         * tests/test-areadlinkat-with-size.c: Likewise.
29361         * tests/test-argmatch.c: Likewise.
29362         * tests/test-argv-iter.c: Likewise.
29363         * tests/test-array-mergesort.c: Likewise.
29364         * tests/test-array_list.c: Likewise.
29365         * tests/test-array_oset.c: Likewise.
29366         * tests/test-avltree_list.c: Likewise.
29367         * tests/test-avltree_oset.c: Likewise.
29368         * tests/test-avltreehash_list.c: Likewise.
29369         * tests/test-base64.c: Likewise.
29370         * tests/test-binary-io.c: Likewise.
29371         * tests/test-bitrotate.c: Likewise.
29372         * tests/test-btowc.c: Likewise.
29373         * tests/test-byteswap.c: Likewise.
29374         * tests/test-c-ctype.c: Likewise.
29375         * tests/test-c-stack.c: Likewise.
29376         * tests/test-c-strcasecmp.c: Likewise.
29377         * tests/test-c-strcasestr.c: Likewise.
29378         * tests/test-c-strncasecmp.c: Likewise.
29379         * tests/test-c-strstr.c: Likewise.
29380         * tests/test-canonicalize-lgpl.c: Likewise.
29381         * tests/test-canonicalize.c: Likewise.
29382         * tests/test-carray_list.c: Likewise.
29383         * tests/test-ceilf1.c: Likewise.
29384         * tests/test-ceilf2.c: Likewise.
29385         * tests/test-ceill.c: Likewise.
29386         * tests/test-chown.c: Likewise.
29387         * tests/test-cloexec.c: Likewise.
29388         * tests/test-copy-acl.c: Likewise.
29389         * tests/test-copy-file.c: Likewise.
29390         * tests/test-count-one-bits.c: Likewise.
29391         * tests/test-dprintf-posix.c: Likewise.
29392         * tests/test-dup2.c: Likewise.
29393         * tests/test-dup3.c: Likewise.
29394         * tests/test-duplocale.c: Likewise.
29395         * tests/test-fbufmode.c: Likewise.
29396         * tests/test-fchdir.c: Likewise.
29397         * tests/test-fchownat.c: Likewise.
29398         * tests/test-fcntl-safer.c: Likewise.
29399         * tests/test-fcntl.c: Likewise.
29400         * tests/test-fdopendir.c: Likewise.
29401         * tests/test-fdutimensat.c: Likewise.
29402         * tests/test-fflush2.c: Likewise.
29403         * tests/test-file-has-acl.c: Likewise.
29404         * tests/test-filevercmp.c: Likewise.
29405         * tests/test-flock.c: Likewise.
29406         * tests/test-floorf1.c: Likewise.
29407         * tests/test-floorf2.c: Likewise.
29408         * tests/test-floorl.c: Likewise.
29409         * tests/test-fnmatch.c: Likewise.
29410         * tests/test-fopen.h: Likewise.
29411         * tests/test-fpending.c: Likewise.
29412         * tests/test-fprintf-posix.c: Likewise.
29413         * tests/test-fpurge.c: Likewise.
29414         * tests/test-freadable.c: Likewise.
29415         * tests/test-freadahead.c: Likewise.
29416         * tests/test-freading.c: Likewise.
29417         * tests/test-freadptr.c: Likewise.
29418         * tests/test-freadptr2.c: Likewise.
29419         * tests/test-freadseek.c: Likewise.
29420         * tests/test-freopen.c: Likewise.
29421         * tests/test-frexp.c: Likewise.
29422         * tests/test-frexpl.c: Likewise.
29423         * tests/test-fseek.c: Likewise.
29424         * tests/test-fseeko.c: Likewise.
29425         * tests/test-fstatat.c: Likewise.
29426         * tests/test-fstrcmp.c: Likewise.
29427         * tests/test-fsync.c: Likewise.
29428         * tests/test-ftell.c: Likewise.
29429         * tests/test-ftello.c: Likewise.
29430         * tests/test-func.c: Likewise.
29431         * tests/test-futimens.c: Likewise.
29432         * tests/test-fwritable.c: Likewise.
29433         * tests/test-fwriting.c: Likewise.
29434         * tests/test-getcwd.c: Likewise.
29435         * tests/test-getdate.c: Likewise.
29436         * tests/test-getdelim.c: Likewise.
29437         * tests/test-getdtablesize.c: Likewise.
29438         * tests/test-getgroups.c: Likewise.
29439         * tests/test-getline.c: Likewise.
29440         * tests/test-getndelim2.c: Likewise.
29441         * tests/test-glob.c: Likewise.
29442         * tests/test-hash.c: Likewise.
29443         * tests/test-i-ring.c: Likewise.
29444         * tests/test-iconv-utf.c: Likewise.
29445         * tests/test-iconv.c: Likewise.
29446         * tests/test-idpriv-drop.c: Likewise.
29447         * tests/test-idpriv-droptemp.c: Likewise.
29448         * tests/test-inet_ntop.c: Likewise.
29449         * tests/test-inet_pton.c: Likewise.
29450         * tests/test-isblank.c: Likewise.
29451         * tests/test-isfinite.c: Likewise.
29452         * tests/test-isinf.c: Likewise.
29453         * tests/test-isnan.c: Likewise.
29454         * tests/test-isnand.h: Likewise.
29455         * tests/test-isnanf.h: Likewise.
29456         * tests/test-isnanl.h: Likewise.
29457         * tests/test-lchown.c: Likewise.
29458         * tests/test-ldexpl.c: Likewise.
29459         * tests/test-link.c: Likewise.
29460         * tests/test-linkat.c: Likewise.
29461         * tests/test-linked_list.c: Likewise.
29462         * tests/test-linkedhash_list.c: Likewise.
29463         * tests/test-localename.c: Likewise.
29464         * tests/test-lseek.c: Likewise.
29465         * tests/test-lstat.c: Likewise.
29466         * tests/test-mbmemcasecmp.c: Likewise.
29467         * tests/test-mbmemcasecoll.c: Likewise.
29468         * tests/test-mbrtowc.c: Likewise.
29469         * tests/test-mbscasecmp.c: Likewise.
29470         * tests/test-mbscasestr1.c: Likewise.
29471         * tests/test-mbscasestr2.c: Likewise.
29472         * tests/test-mbscasestr3.c: Likewise.
29473         * tests/test-mbscasestr4.c: Likewise.
29474         * tests/test-mbschr.c: Likewise.
29475         * tests/test-mbscspn.c: Likewise.
29476         * tests/test-mbsinit.c: Likewise.
29477         * tests/test-mbsncasecmp.c: Likewise.
29478         * tests/test-mbsnrtowcs.c: Likewise.
29479         * tests/test-mbspbrk.c: Likewise.
29480         * tests/test-mbspcasecmp.c: Likewise.
29481         * tests/test-mbsrchr.c: Likewise.
29482         * tests/test-mbsrtowcs.c: Likewise.
29483         * tests/test-mbsspn.c: Likewise.
29484         * tests/test-mbsstr1.c: Likewise.
29485         * tests/test-mbsstr2.c: Likewise.
29486         * tests/test-mbsstr3.c: Likewise.
29487         * tests/test-memchr.c: Likewise.
29488         * tests/test-memchr2.c: Likewise.
29489         * tests/test-memcmp.c: Likewise.
29490         * tests/test-memmem.c: Likewise.
29491         * tests/test-memrchr.c: Likewise.
29492         * tests/test-mkdir.c: Likewise.
29493         * tests/test-mkdirat.c: Likewise.
29494         * tests/test-mkfifo.c: Likewise.
29495         * tests/test-mkfifoat.c: Likewise.
29496         * tests/test-mknod.c: Likewise.
29497         * tests/test-nanosleep.c: Likewise.
29498         * tests/test-nl_langinfo.c: Likewise.
29499         * tests/test-obstack-printf.c: Likewise.
29500         * tests/test-open.c: Likewise.
29501         * tests/test-openat.c: Likewise.
29502         * tests/test-pipe-filter-gi1.c: Likewise.
29503         * tests/test-pipe-filter-gi2-main.c: Likewise.
29504         * tests/test-pipe-filter-ii1.c: Likewise.
29505         * tests/test-pipe-filter-ii2-main.c: Likewise.
29506         * tests/test-pipe2.c: Likewise.
29507         * tests/test-popen.h: Likewise.
29508         * tests/test-posixtm.c: Likewise.
29509         * tests/test-pread.c: Likewise.
29510         * tests/test-printf-frexp.c: Likewise.
29511         * tests/test-printf-frexpl.c: Likewise.
29512         * tests/test-printf-posix.c: Likewise.
29513         * tests/test-priv-set.c: Likewise.
29514         * tests/test-quotearg.c: Likewise.
29515         * tests/test-random_r.c: Likewise.
29516         * tests/test-rawmemchr.c: Likewise.
29517         * tests/test-rbtree_list.c: Likewise.
29518         * tests/test-rbtree_oset.c: Likewise.
29519         * tests/test-rbtreehash_list.c: Likewise.
29520         * tests/test-readlink.c: Likewise.
29521         * tests/test-remove.c: Likewise.
29522         * tests/test-rename.c: Likewise.
29523         * tests/test-renameat.c: Likewise.
29524         * tests/test-rmdir.c: Likewise.
29525         * tests/test-round1.c: Likewise.
29526         * tests/test-roundf1.c: Likewise.
29527         * tests/test-roundl.c: Likewise.
29528         * tests/test-safe-alloc.c: Likewise.
29529         * tests/test-sameacls.c: Likewise.
29530         * tests/test-set-mode-acl.c: Likewise.
29531         * tests/test-setenv.c: Likewise.
29532         * tests/test-sigaction.c: Likewise.
29533         * tests/test-signbit.c: Likewise.
29534         * tests/test-sleep.c: Likewise.
29535         * tests/test-snprintf-posix.c: Likewise.
29536         * tests/test-snprintf.c: Likewise.
29537         * tests/test-sprintf-posix.c: Likewise.
29538         * tests/test-stat-time.c: Likewise.
29539         * tests/test-stat.c: Likewise.
29540         * tests/test-strcasestr.c: Likewise.
29541         * tests/test-strchrnul.c: Likewise.
29542         * tests/test-strerror.c: Likewise.
29543         * tests/test-striconv.c: Likewise.
29544         * tests/test-striconveh.c: Likewise.
29545         * tests/test-striconveha.c: Likewise.
29546         * tests/test-strsignal.c: Likewise.
29547         * tests/test-strstr.c: Likewise.
29548         * tests/test-strtod.c: Likewise.
29549         * tests/test-strverscmp.c: Likewise.
29550         * tests/test-symlink.c: Likewise.
29551         * tests/test-symlinkat.c: Likewise.
29552         * tests/test-trunc1.c: Likewise.
29553         * tests/test-trunc2.c: Likewise.
29554         * tests/test-truncf1.c: Likewise.
29555         * tests/test-truncf2.c: Likewise.
29556         * tests/test-truncl.c: Likewise.
29557         * tests/test-uname.c: Likewise.
29558         * tests/test-unlink.c: Likewise.
29559         * tests/test-unlinkat.c: Likewise.
29560         * tests/test-unsetenv.c: Likewise.
29561         * tests/test-usleep.c: Likewise.
29562         * tests/test-utimens.c: Likewise.
29563         * tests/test-utimensat.c: Likewise.
29564         * tests/test-vasnprintf-posix.c: Likewise.
29565         * tests/test-vasnprintf-posix2.c: Likewise.
29566         * tests/test-vasnprintf.c: Likewise.
29567         * tests/test-vasprintf-posix.c: Likewise.
29568         * tests/test-vasprintf.c: Likewise.
29569         * tests/test-vdprintf-posix.c: Likewise.
29570         * tests/test-vfprintf-posix.c: Likewise.
29571         * tests/test-vprintf-posix.c: Likewise.
29572         * tests/test-vsnprintf-posix.c: Likewise.
29573         * tests/test-vsnprintf.c: Likewise.
29574         * tests/test-vsprintf-posix.c: Likewise.
29575         * tests/test-wcrtomb.c: Likewise.
29576         * tests/test-wcsnrtombs.c: Likewise.
29577         * tests/test-wcsrtombs.c: Likewise.
29578         * tests/test-wctype.c: Likewise.
29579         * tests/test-wcwidth.c: Likewise.
29580         * tests/test-xfprintf-posix.c: Likewise.
29581         * tests/test-xmemdup0.c: Likewise.
29582         * tests/test-xprintf-posix.c: Likewise.
29583         * tests/test-xvasprintf.c: Likewise.
29584         * tests/unicase/test-locale-language.c: Likewise.
29585         * tests/unicase/test-mapping-part1.h: Likewise.
29586         * tests/unicase/test-predicate-part1.h: Likewise.
29587         * tests/unicase/test-u8-casecmp.c: Likewise.
29588         * tests/unicase/test-u8-casecoll.c: Likewise.
29589         * tests/unicase/test-u8-casefold.c: Likewise.
29590         * tests/unicase/test-u8-is-cased.c: Likewise.
29591         * tests/unicase/test-u8-is-casefolded.c: Likewise.
29592         * tests/unicase/test-u8-is-lowercase.c: Likewise.
29593         * tests/unicase/test-u8-is-titlecase.c: Likewise.
29594         * tests/unicase/test-u8-is-uppercase.c: Likewise.
29595         * tests/unicase/test-u8-tolower.c: Likewise.
29596         * tests/unicase/test-u8-totitle.c: Likewise.
29597         * tests/unicase/test-u8-toupper.c: Likewise.
29598         * tests/unicase/test-u16-casecmp.c: Likewise.
29599         * tests/unicase/test-u16-casecoll.c: Likewise.
29600         * tests/unicase/test-u16-casefold.c: Likewise.
29601         * tests/unicase/test-u16-is-cased.c: Likewise.
29602         * tests/unicase/test-u16-is-casefolded.c: Likewise.
29603         * tests/unicase/test-u16-is-lowercase.c: Likewise.
29604         * tests/unicase/test-u16-is-titlecase.c: Likewise.
29605         * tests/unicase/test-u16-is-uppercase.c: Likewise.
29606         * tests/unicase/test-u16-tolower.c: Likewise.
29607         * tests/unicase/test-u16-totitle.c: Likewise.
29608         * tests/unicase/test-u16-toupper.c: Likewise.
29609         * tests/unicase/test-u32-casecmp.c: Likewise.
29610         * tests/unicase/test-u32-casecoll.c: Likewise.
29611         * tests/unicase/test-u32-casefold.c: Likewise.
29612         * tests/unicase/test-u32-is-cased.c: Likewise.
29613         * tests/unicase/test-u32-is-casefolded.c: Likewise.
29614         * tests/unicase/test-u32-is-lowercase.c: Likewise.
29615         * tests/unicase/test-u32-is-titlecase.c: Likewise.
29616         * tests/unicase/test-u32-is-uppercase.c: Likewise.
29617         * tests/unicase/test-u32-tolower.c: Likewise.
29618         * tests/unicase/test-u32-totitle.c: Likewise.
29619         * tests/unicase/test-u32-toupper.c: Likewise.
29620         * tests/unicase/test-ulc-casecmp.c: Likewise.
29621         * tests/unicase/test-ulc-casecoll.c: Likewise.
29622         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29623         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29624         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29625         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29626         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29627         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29628         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29629         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29630         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29631         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29632         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29633         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29634         * tests/unictype/test-bidi_byname.c: Likewise.
29635         * tests/unictype/test-bidi_name.c: Likewise.
29636         * tests/unictype/test-bidi_of.c: Likewise.
29637         * tests/unictype/test-bidi_test.c: Likewise.
29638         * tests/unictype/test-block_list.c: Likewise.
29639         * tests/unictype/test-block_of.c: Likewise.
29640         * tests/unictype/test-block_test.c: Likewise.
29641         * tests/unictype/test-categ_and.c: Likewise.
29642         * tests/unictype/test-categ_and_not.c: Likewise.
29643         * tests/unictype/test-categ_byname.c: Likewise.
29644         * tests/unictype/test-categ_name.c: Likewise.
29645         * tests/unictype/test-categ_none.c: Likewise.
29646         * tests/unictype/test-categ_of.c: Likewise.
29647         * tests/unictype/test-categ_or.c: Likewise.
29648         * tests/unictype/test-categ_test_withtable.c: Likewise.
29649         * tests/unictype/test-combining.c: Likewise.
29650         * tests/unictype/test-decdigit.c: Likewise.
29651         * tests/unictype/test-digit.c: Likewise.
29652         * tests/unictype/test-mirror.c: Likewise.
29653         * tests/unictype/test-numeric.c: Likewise.
29654         * tests/unictype/test-pr_byname.c: Likewise.
29655         * tests/unictype/test-pr_test.c: Likewise.
29656         * tests/unictype/test-predicate-part1.h: Likewise.
29657         * tests/unictype/test-scripts.c: Likewise.
29658         * tests/unictype/test-sy_c_ident.c: Likewise.
29659         * tests/unictype/test-sy_java_ident.c: Likewise.
29660         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
29661         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
29662         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
29663         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
29664         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
29665         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
29666         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
29667         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
29668         * tests/uninorm/test-canonical-decomposition.c: Likewise.
29669         * tests/uninorm/test-compat-decomposition.c: Likewise.
29670         * tests/uninorm/test-composition.c: Likewise.
29671         * tests/uninorm/test-decomposing-form.c: Likewise.
29672         * tests/uninorm/test-decomposition.c: Likewise.
29673         * tests/uninorm/test-u8-nfc.c: Likewise.
29674         * tests/uninorm/test-u8-nfd.c: Likewise.
29675         * tests/uninorm/test-u8-nfkc.c: Likewise.
29676         * tests/uninorm/test-u8-nfkd.c: Likewise.
29677         * tests/uninorm/test-u8-normcmp.c: Likewise.
29678         * tests/uninorm/test-u8-normcoll.c: Likewise.
29679         * tests/uninorm/test-u16-nfc.c: Likewise.
29680         * tests/uninorm/test-u16-nfd.c: Likewise.
29681         * tests/uninorm/test-u16-nfkc.c: Likewise.
29682         * tests/uninorm/test-u16-nfkd.c: Likewise.
29683         * tests/uninorm/test-u16-normcmp.c: Likewise.
29684         * tests/uninorm/test-u16-normcoll.c: Likewise.
29685         * tests/uninorm/test-u32-nfc.c: Likewise.
29686         * tests/uninorm/test-u32-nfd.c: Likewise.
29687         * tests/uninorm/test-u32-nfkc.c: Likewise.
29688         * tests/uninorm/test-u32-nfkd.c: Likewise.
29689         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29690         * tests/uninorm/test-u32-normcmp.c: Likewise.
29691         * tests/uninorm/test-u32-normcoll.c: Likewise.
29692         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
29693         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29694         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29695         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29696         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29697         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29698         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29699         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29700         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29701         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29702         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29703         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29704         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29705         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29706         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29707         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29708         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29709         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29710         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29711         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29712         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29713         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29714         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29715         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29716         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29717         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29718         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29719         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29720         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29721         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
29722         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
29723         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
29724         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
29725         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29726         * tests/uniwidth/test-u8-width.c: Likewise.
29727         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29728         * tests/uniwidth/test-u16-width.c: Likewise.
29729         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29730         * tests/uniwidth/test-u32-width.c: Likewise.
29731         * tests/uniwidth/test-uc_width.c: Likewise.
29732         * tests/uniwidth/test-uc_width2.c: Likewise.
29733         * modules/acl-tests (Files): Add tests/macros.h.
29734         * modules/areadlink-tests (Files): Likewise.
29735         * modules/areadlink-with-size-tests (Files): Likewise.
29736         * modules/areadlinkat-tests (Files): Likewise.
29737         * modules/areadlinkat-with-size-tests (Files): Likewise.
29738         * modules/argmatch-tests (Files): Likewise.
29739         * modules/argv-iter-tests (Files): Likewise.
29740         * modules/array-list-tests (Files): Likewise.
29741         * modules/array-mergesort-tests (Files): Likewise.
29742         * modules/array-oset-tests (Files): Likewise.
29743         * modules/avltree-list-tests (Files): Likewise.
29744         * modules/avltree-oset-tests (Files): Likewise.
29745         * modules/avltreehash-list-tests (Files): Likewise.
29746         * modules/base64-tests (Files): Likewise.
29747         * modules/binary-io-tests (Files): Likewise.
29748         * modules/bitrotate-tests (Files): Likewise.
29749         * modules/btowc-tests (Files): Likewise.
29750         * modules/byteswap-tests (Files): Likewise.
29751         * modules/c-ctype-tests (Files): Likewise.
29752         * modules/c-stack-tests (Files): Likewise.
29753         * modules/c-strcase-tests (Files): Likewise.
29754         * modules/c-strcasestr-tests (Files): Likewise.
29755         * modules/c-strstr-tests (Files): Likewise.
29756         * modules/canonicalize-lgpl-tests (Files): Likewise.
29757         * modules/canonicalize-tests (Files): Likewise.
29758         * modules/carray-list-tests (Files): Likewise.
29759         * modules/ceilf-tests (Files): Likewise.
29760         * modules/ceill-tests (Files): Likewise.
29761         * modules/chown-tests (Files): Likewise.
29762         * modules/cloexec-tests (Files): Likewise.
29763         * modules/copy-file-tests (Files): Likewise.
29764         * modules/count-one-bits-tests (Files): Likewise.
29765         * modules/dprintf-posix-tests (Files): Likewise.
29766         * modules/dup2-tests (Files): Likewise.
29767         * modules/dup3-tests (Files): Likewise.
29768         * modules/duplocale-tests (Files): Likewise.
29769         * modules/fbufmode-tests (Files): Likewise.
29770         * modules/fchdir-tests (Files): Likewise.
29771         * modules/fcntl-safer-tests (Files): Likewise.
29772         * modules/fcntl-tests (Files): Likewise.
29773         * modules/fdopendir-tests (Files): Likewise.
29774         * modules/fdutimensat-tests (Files): Likewise.
29775         * modules/fflush-tests (Files): Likewise.
29776         * modules/filevercmp-tests (Files): Likewise.
29777         * modules/flock-tests (Files): Likewise.
29778         * modules/floorf-tests (Files): Likewise.
29779         * modules/floorl-tests (Files): Likewise.
29780         * modules/fnmatch-tests (Files): Likewise.
29781         * modules/fopen-safer-tests (Files): Likewise.
29782         * modules/fopen-tests (Files): Likewise.
29783         * modules/fpending-tests (Files): Likewise.
29784         * modules/fprintf-posix-tests (Files): Likewise.
29785         * modules/fpurge-tests (Files): Likewise.
29786         * modules/freadable-tests (Files): Likewise.
29787         * modules/freadahead-tests (Files): Likewise.
29788         * modules/freading-tests (Files): Likewise.
29789         * modules/freadptr-tests (Files): Likewise.
29790         * modules/freadseek-tests (Files): Likewise.
29791         * modules/freopen-tests (Files): Likewise.
29792         * modules/frexp-nolibm-tests (Files): Likewise.
29793         * modules/frexp-tests (Files): Likewise.
29794         * modules/frexpl-nolibm-tests (Files): Likewise.
29795         * modules/frexpl-tests (Files): Likewise.
29796         * modules/fseek-tests (Files): Likewise.
29797         * modules/fseeko-tests (Files): Likewise.
29798         * modules/fstrcmp-tests (Files): Likewise.
29799         * modules/fsync-tests (Files): Likewise.
29800         * modules/ftell-tests (Files): Likewise.
29801         * modules/ftello-tests (Files): Likewise.
29802         * modules/func-tests (Files): Likewise.
29803         * modules/futimens-tests (Files): Likewise.
29804         * modules/fwritable-tests (Files): Likewise.
29805         * modules/fwriting-tests (Files): Likewise.
29806         * modules/getcwd-tests (Files): Likewise.
29807         * modules/getdate-tests (Files): Likewise.
29808         * modules/getdelim-tests (Files): Likewise.
29809         * modules/getdtablesize-tests (Files): Likewise.
29810         * modules/getgroups-tests (Files): Likewise.
29811         * modules/getline-tests (Files): Likewise.
29812         * modules/getndelim2-tests (Files): Likewise.
29813         * modules/glob-tests (Files): Likewise.
29814         * modules/hash-tests (Files): Likewise.
29815         * modules/i-ring-tests (Files): Likewise.
29816         * modules/iconv-tests (Files): Likewise.
29817         * modules/iconv_open-utf-tests (Files): Likewise.
29818         * modules/idpriv-drop-tests (Files): Likewise.
29819         * modules/idpriv-droptemp-tests (Files): Likewise.
29820         * modules/inet_ntop-tests (Files): Likewise.
29821         * modules/inet_pton-tests (Files): Likewise.
29822         * modules/isblank-tests (Files): Likewise.
29823         * modules/isfinite-tests (Files): Likewise.
29824         * modules/isinf-tests (Files): Likewise.
29825         * modules/isnan-tests (Files): Likewise.
29826         * modules/isnand-nolibm-tests (Files): Likewise.
29827         * modules/isnand-tests (Files): Likewise.
29828         * modules/isnanf-nolibm-tests (Files): Likewise.
29829         * modules/isnanf-tests (Files): Likewise.
29830         * modules/isnanl-nolibm-tests (Files): Likewise.
29831         * modules/isnanl-tests (Files): Likewise.
29832         * modules/lchown-tests (Files): Likewise.
29833         * modules/ldexpl-tests (Files): Likewise.
29834         * modules/link-tests (Files): Likewise.
29835         * modules/linkat-tests (Files): Likewise.
29836         * modules/linked-list-tests (Files): Likewise.
29837         * modules/linkedhash-list-tests (Files): Likewise.
29838         * modules/localename-tests (Files): Likewise.
29839         * modules/lseek-tests (Files): Likewise.
29840         * modules/lstat-tests (Files): Likewise.
29841         * modules/mbmemcasecmp-tests (Files): Likewise.
29842         * modules/mbmemcasecoll-tests (Files): Likewise.
29843         * modules/mbrtowc-tests (Files): Likewise.
29844         * modules/mbscasecmp-tests (Files): Likewise.
29845         * modules/mbscasestr-tests (Files): Likewise.
29846         * modules/mbschr-tests (Files): Likewise.
29847         * modules/mbscspn-tests (Files): Likewise.
29848         * modules/mbsinit-tests (Files): Likewise.
29849         * modules/mbsncasecmp-tests (Files): Likewise.
29850         * modules/mbsnrtowcs-tests (Files): Likewise.
29851         * modules/mbspbrk-tests (Files): Likewise.
29852         * modules/mbspcasecmp-tests (Files): Likewise.
29853         * modules/mbsrchr-tests (Files): Likewise.
29854         * modules/mbsrtowcs-tests (Files): Likewise.
29855         * modules/mbsspn-tests (Files): Likewise.
29856         * modules/mbsstr-tests (Files): Likewise.
29857         * modules/memchr-tests (Files): Likewise.
29858         * modules/memchr2-tests (Files): Likewise.
29859         * modules/memcmp-tests (Files): Likewise.
29860         * modules/memmem-tests (Files): Likewise.
29861         * modules/memrchr-tests (Files): Likewise.
29862         * modules/mkdir-tests (Files): Likewise.
29863         * modules/mkfifo-tests (Files): Likewise.
29864         * modules/mkfifoat-tests (Files): Likewise.
29865         * modules/mknod-tests (Files): Likewise.
29866         * modules/nanosleep-tests (Files): Likewise.
29867         * modules/nl_langinfo-tests (Files): Likewise.
29868         * modules/obstack-printf-tests (Files): Likewise.
29869         * modules/open-tests (Files): Likewise.
29870         * modules/openat-tests (Files): Likewise.
29871         * modules/pipe-filter-gi-tests (Files): Likewise.
29872         * modules/pipe-filter-ii-tests (Files): Likewise.
29873         * modules/pipe2-tests (Files): Likewise.
29874         * modules/popen-safer-tests (Files): Likewise.
29875         * modules/popen-tests (Files): Likewise.
29876         * modules/posixtm-tests (Files): Likewise.
29877         * modules/pread-tests (Files): Likewise.
29878         * modules/printf-frexp-tests (Files): Likewise.
29879         * modules/printf-frexpl-tests (Files): Likewise.
29880         * modules/printf-posix-tests (Files): Likewise.
29881         * modules/priv-set-tests (Files): Likewise.
29882         * modules/quotearg-tests (Files): Likewise.
29883         * modules/random_r-tests (Files): Likewise.
29884         * modules/rawmemchr-tests (Files): Likewise.
29885         * modules/rbtree-list-tests (Files): Likewise.
29886         * modules/rbtree-oset-tests (Files): Likewise.
29887         * modules/rbtreehash-list-tests (Files): Likewise.
29888         * modules/readlink-tests (Files): Likewise.
29889         * modules/remove-tests (Files): Likewise.
29890         * modules/rename-tests (Files): Likewise.
29891         * modules/renameat-tests (Files): Likewise.
29892         * modules/rmdir-tests (Files): Likewise.
29893         * modules/round-tests (Files): Likewise.
29894         * modules/roundf-tests (Files): Likewise.
29895         * modules/roundl-tests (Files): Likewise.
29896         * modules/safe-alloc-tests (Files): Likewise.
29897         * modules/setenv-tests (Files): Likewise.
29898         * modules/sigaction-tests (Files): Likewise.
29899         * modules/signbit-tests (Files): Likewise.
29900         * modules/sleep-tests (Files): Likewise.
29901         * modules/snprintf-posix-tests (Files): Likewise.
29902         * modules/snprintf-tests (Files): Likewise.
29903         * modules/sprintf-posix-tests (Files): Likewise.
29904         * modules/stat-tests (Files): Likewise.
29905         * modules/stat-time-tests (Files): Likewise.
29906         * modules/strcasestr-tests (Files): Likewise.
29907         * modules/strchrnul-tests (Files): Likewise.
29908         * modules/strerror-tests (Files): Likewise.
29909         * modules/striconv-tests (Files): Likewise.
29910         * modules/striconveh-tests (Files): Likewise.
29911         * modules/striconveha-tests (Files): Likewise.
29912         * modules/strsignal-tests (Files): Likewise.
29913         * modules/strstr-tests (Files): Likewise.
29914         * modules/strtod-tests (Files): Likewise.
29915         * modules/strverscmp-tests (Files): Likewise.
29916         * modules/symlink-tests (Files): Likewise.
29917         * modules/symlinkat-tests (Files): Likewise.
29918         * modules/trunc-tests (Files): Likewise.
29919         * modules/truncf-tests (Files): Likewise.
29920         * modules/truncl-tests (Files): Likewise.
29921         * modules/uname-tests (Files): Likewise.
29922         * modules/unicase/cased-tests (Files): Likewise.
29923         * modules/unicase/ignorable-tests (Files): Likewise.
29924         * modules/unicase/locale-language-tests (Files): Likewise.
29925         * modules/unicase/tolower-tests (Files): Likewise.
29926         * modules/unicase/totitle-tests (Files): Likewise.
29927         * modules/unicase/toupper-tests (Files): Likewise.
29928         * modules/unicase/u8-casecmp-tests (Files): Likewise.
29929         * modules/unicase/u8-casecoll-tests (Files): Likewise.
29930         * modules/unicase/u8-casefold-tests (Files): Likewise.
29931         * modules/unicase/u8-is-cased-tests (Files): Likewise.
29932         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
29933         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
29934         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
29935         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
29936         * modules/unicase/u8-tolower-tests (Files): Likewise.
29937         * modules/unicase/u8-totitle-tests (Files): Likewise.
29938         * modules/unicase/u8-toupper-tests (Files): Likewise.
29939         * modules/unicase/u16-casecmp-tests (Files): Likewise.
29940         * modules/unicase/u16-casecoll-tests (Files): Likewise.
29941         * modules/unicase/u16-casefold-tests (Files): Likewise.
29942         * modules/unicase/u16-is-cased-tests (Files): Likewise.
29943         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
29944         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
29945         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
29946         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
29947         * modules/unicase/u16-tolower-tests (Files): Likewise.
29948         * modules/unicase/u16-totitle-tests (Files): Likewise.
29949         * modules/unicase/u16-toupper-tests (Files): Likewise.
29950         * modules/unicase/u32-casecmp-tests (Files): Likewise.
29951         * modules/unicase/u32-casecoll-tests (Files): Likewise.
29952         * modules/unicase/u32-casefold-tests (Files): Likewise.
29953         * modules/unicase/u32-is-cased-tests (Files): Likewise.
29954         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
29955         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
29956         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
29957         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
29958         * modules/unicase/u32-tolower-tests (Files): Likewise.
29959         * modules/unicase/u32-totitle-tests (Files): Likewise.
29960         * modules/unicase/u32-toupper-tests (Files): Likewise.
29961         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
29962         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
29963         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
29964         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
29965         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
29966         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
29967         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
29968         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
29969         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
29970         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
29971         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
29972         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
29973         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
29974         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
29975         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
29976         * modules/unictype/bidicategory-name-tests (Files): Likewise.
29977         * modules/unictype/bidicategory-of-tests (Files): Likewise.
29978         * modules/unictype/bidicategory-test-tests (Files): Likewise.
29979         * modules/unictype/block-list-tests (Files): Likewise.
29980         * modules/unictype/block-of-tests (Files): Likewise.
29981         * modules/unictype/block-test-tests (Files): Likewise.
29982         * modules/unictype/category-C-tests (Files): Likewise.
29983         * modules/unictype/category-Cc-tests (Files): Likewise.
29984         * modules/unictype/category-Cf-tests (Files): Likewise.
29985         * modules/unictype/category-Cn-tests (Files): Likewise.
29986         * modules/unictype/category-Co-tests (Files): Likewise.
29987         * modules/unictype/category-Cs-tests (Files): Likewise.
29988         * modules/unictype/category-L-tests (Files): Likewise.
29989         * modules/unictype/category-Ll-tests (Files): Likewise.
29990         * modules/unictype/category-Lm-tests (Files): Likewise.
29991         * modules/unictype/category-Lo-tests (Files): Likewise.
29992         * modules/unictype/category-Lt-tests (Files): Likewise.
29993         * modules/unictype/category-Lu-tests (Files): Likewise.
29994         * modules/unictype/category-M-tests (Files): Likewise.
29995         * modules/unictype/category-Mc-tests (Files): Likewise.
29996         * modules/unictype/category-Me-tests (Files): Likewise.
29997         * modules/unictype/category-Mn-tests (Files): Likewise.
29998         * modules/unictype/category-N-tests (Files): Likewise.
29999         * modules/unictype/category-Nd-tests (Files): Likewise.
30000         * modules/unictype/category-Nl-tests (Files): Likewise.
30001         * modules/unictype/category-No-tests (Files): Likewise.
30002         * modules/unictype/category-P-tests (Files): Likewise.
30003         * modules/unictype/category-Pc-tests (Files): Likewise.
30004         * modules/unictype/category-Pd-tests (Files): Likewise.
30005         * modules/unictype/category-Pe-tests (Files): Likewise.
30006         * modules/unictype/category-Pf-tests (Files): Likewise.
30007         * modules/unictype/category-Pi-tests (Files): Likewise.
30008         * modules/unictype/category-Po-tests (Files): Likewise.
30009         * modules/unictype/category-Ps-tests (Files): Likewise.
30010         * modules/unictype/category-S-tests (Files): Likewise.
30011         * modules/unictype/category-Sc-tests (Files): Likewise.
30012         * modules/unictype/category-Sk-tests (Files): Likewise.
30013         * modules/unictype/category-Sm-tests (Files): Likewise.
30014         * modules/unictype/category-So-tests (Files): Likewise.
30015         * modules/unictype/category-Z-tests (Files): Likewise.
30016         * modules/unictype/category-Zl-tests (Files): Likewise.
30017         * modules/unictype/category-Zp-tests (Files): Likewise.
30018         * modules/unictype/category-Zs-tests (Files): Likewise.
30019         * modules/unictype/category-and-not-tests (Files): Likewise.
30020         * modules/unictype/category-and-tests (Files): Likewise.
30021         * modules/unictype/category-byname-tests (Files): Likewise.
30022         * modules/unictype/category-name-tests (Files): Likewise.
30023         * modules/unictype/category-none-tests (Files): Likewise.
30024         * modules/unictype/category-of-tests (Files): Likewise.
30025         * modules/unictype/category-or-tests (Files): Likewise.
30026         * modules/unictype/category-test-withtable-tests (Files): Likewise.
30027         * modules/unictype/combining-class-tests (Files): Likewise.
30028         * modules/unictype/ctype-alnum-tests (Files): Likewise.
30029         * modules/unictype/ctype-alpha-tests (Files): Likewise.
30030         * modules/unictype/ctype-blank-tests (Files): Likewise.
30031         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
30032         * modules/unictype/ctype-digit-tests (Files): Likewise.
30033         * modules/unictype/ctype-graph-tests (Files): Likewise.
30034         * modules/unictype/ctype-lower-tests (Files): Likewise.
30035         * modules/unictype/ctype-print-tests (Files): Likewise.
30036         * modules/unictype/ctype-punct-tests (Files): Likewise.
30037         * modules/unictype/ctype-space-tests (Files): Likewise.
30038         * modules/unictype/ctype-upper-tests (Files): Likewise.
30039         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
30040         * modules/unictype/decimal-digit-tests (Files): Likewise.
30041         * modules/unictype/digit-tests (Files): Likewise.
30042         * modules/unictype/mirror-tests (Files): Likewise.
30043         * modules/unictype/numeric-tests (Files): Likewise.
30044         * modules/unictype/property-alphabetic-tests (Files): Likewise.
30045         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
30046         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
30047         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
30048         Likewise.
30049         * modules/unictype/property-bidi-block-separator-tests (Files):
30050         Likewise.
30051         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
30052         Likewise.
30053         * modules/unictype/property-bidi-common-separator-tests (Files):
30054         Likewise.
30055         * modules/unictype/property-bidi-control-tests (Files): Likewise.
30056         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
30057         Likewise.
30058         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
30059         Likewise.
30060         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
30061         Likewise.
30062         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
30063         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
30064         Likewise.
30065         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
30066         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
30067         Likewise.
30068         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
30069         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
30070         * modules/unictype/property-bidi-segment-separator-tests (Files):
30071         Likewise.
30072         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
30073         * modules/unictype/property-byname-tests (Files): Likewise.
30074         * modules/unictype/property-combining-tests (Files): Likewise.
30075         * modules/unictype/property-composite-tests (Files): Likewise.
30076         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
30077         * modules/unictype/property-dash-tests (Files): Likewise.
30078         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
30079         * modules/unictype/property-default-ignorable-code-point-tests (Files):
30080         Likewise.
30081         * modules/unictype/property-deprecated-tests (Files): Likewise.
30082         * modules/unictype/property-diacritic-tests (Files): Likewise.
30083         * modules/unictype/property-extender-tests (Files): Likewise.
30084         * modules/unictype/property-format-control-tests (Files): Likewise.
30085         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
30086         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
30087         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
30088         * modules/unictype/property-hex-digit-tests (Files): Likewise.
30089         * modules/unictype/property-hyphen-tests (Files): Likewise.
30090         * modules/unictype/property-id-continue-tests (Files): Likewise.
30091         * modules/unictype/property-id-start-tests (Files): Likewise.
30092         * modules/unictype/property-ideographic-tests (Files): Likewise.
30093         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
30094         * modules/unictype/property-ids-trinary-operator-tests (Files):
30095         Likewise.
30096         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
30097         * modules/unictype/property-iso-control-tests (Files): Likewise.
30098         * modules/unictype/property-join-control-tests (Files): Likewise.
30099         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
30100         * modules/unictype/property-line-separator-tests (Files): Likewise.
30101         * modules/unictype/property-logical-order-exception-tests (Files):
30102         Likewise.
30103         * modules/unictype/property-lowercase-tests (Files): Likewise.
30104         * modules/unictype/property-math-tests (Files): Likewise.
30105         * modules/unictype/property-non-break-tests (Files): Likewise.
30106         * modules/unictype/property-not-a-character-tests (Files): Likewise.
30107         * modules/unictype/property-numeric-tests (Files): Likewise.
30108         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
30109         * modules/unictype/property-other-default-ignorable-code-point-tests
30110         (Files): Likewise.
30111         * modules/unictype/property-other-grapheme-extend-tests (Files):
30112         Likewise.
30113         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
30114         * modules/unictype/property-other-id-start-tests (Files): Likewise.
30115         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
30116         * modules/unictype/property-other-math-tests (Files): Likewise.
30117         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
30118         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
30119         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
30120         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
30121         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
30122         * modules/unictype/property-private-use-tests (Files): Likewise.
30123         * modules/unictype/property-punctuation-tests (Files): Likewise.
30124         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
30125         * modules/unictype/property-radical-tests (Files): Likewise.
30126         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
30127         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
30128         * modules/unictype/property-space-tests (Files): Likewise.
30129         * modules/unictype/property-terminal-punctuation-tests (Files):
30130         Likewise.
30131         * modules/unictype/property-test-tests (Files): Likewise.
30132         * modules/unictype/property-titlecase-tests (Files): Likewise.
30133         * modules/unictype/property-unassigned-code-value-tests (Files):
30134         Likewise.
30135         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
30136         * modules/unictype/property-uppercase-tests (Files): Likewise.
30137         * modules/unictype/property-variation-selector-tests (Files): Likewise.
30138         * modules/unictype/property-white-space-tests (Files): Likewise.
30139         * modules/unictype/property-xid-continue-tests (Files): Likewise.
30140         * modules/unictype/property-xid-start-tests (Files): Likewise.
30141         * modules/unictype/property-zero-width-tests (Files): Likewise.
30142         * modules/unictype/scripts-tests (Files): Likewise.
30143         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
30144         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
30145         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
30146         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
30147         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
30148         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
30149         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
30150         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
30151         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
30152         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
30153         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
30154         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
30155         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
30156         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
30157         * modules/uninorm/composition-tests (Files): Likewise.
30158         * modules/uninorm/decomposing-form-tests (Files): Likewise.
30159         * modules/uninorm/decomposition-tests (Files): Likewise.
30160         * modules/uninorm/filter-tests (Files): Likewise.
30161         * modules/uninorm/nfc-tests (Files): Likewise.
30162         * modules/uninorm/nfd-tests (Files): Likewise.
30163         * modules/uninorm/nfkc-tests (Files): Likewise.
30164         * modules/uninorm/nfkd-tests (Files): Likewise.
30165         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
30166         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
30167         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
30168         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
30169         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
30170         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
30171         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
30172         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30173         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
30174         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
30175         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
30176         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
30177         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30178         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
30179         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
30180         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
30181         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
30182         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30183         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
30184         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
30185         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
30186         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
30187         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30188         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
30189         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
30190         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
30191         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
30192         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
30193         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
30194         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
30195         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
30196         * modules/uniwidth/u8-width-tests (Files): Likewise.
30197         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
30198         * modules/uniwidth/u16-width-tests (Files): Likewise.
30199         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
30200         * modules/uniwidth/u32-width-tests (Files): Likewise.
30201         * modules/uniwidth/width-tests (Files): Likewise.
30202         * modules/unlink-tests (Files): Likewise.
30203         * modules/unsetenv-tests (Files): Likewise.
30204         * modules/usleep-tests (Files): Likewise.
30205         * modules/utimens-tests (Files): Likewise.
30206         * modules/utimensat-tests (Files): Likewise.
30207         * modules/vasnprintf-posix-tests (Files): Likewise.
30208         * modules/vasnprintf-tests (Files): Likewise.
30209         * modules/vasprintf-posix-tests (Files): Likewise.
30210         * modules/vasprintf-tests (Files): Likewise.
30211         * modules/vdprintf-posix-tests (Files): Likewise.
30212         * modules/vfprintf-posix-tests (Files): Likewise.
30213         * modules/vprintf-posix-tests (Files): Likewise.
30214         * modules/vsnprintf-posix-tests (Files): Likewise.
30215         * modules/vsnprintf-tests (Files): Likewise.
30216         * modules/vsprintf-posix-tests (Files): Likewise.
30217         * modules/wcrtomb-tests (Files): Likewise.
30218         * modules/wcsnrtombs-tests (Files): Likewise.
30219         * modules/wcsrtombs-tests (Files): Likewise.
30220         * modules/wctype-tests (Files): Likewise.
30221         * modules/wcwidth-tests (Files): Likewise.
30222         * modules/xmemdup0-tests (Files): Likewise.
30223         * modules/xprintf-posix-tests (Files): Likewise.
30224         * modules/xvasprintf-tests (Files): Likewise.
30225
30226 2009-12-24  Eric Blake  <ebb9@byu.net>
30227
30228         test-nanosleep: fix typo
30229         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
30230         patch.
30231         Reported by Bruno Haible.
30232
30233 2009-12-24  Bruno Haible  <bruno@clisp.org>
30234
30235         Reduce namespace pollution on glibc systems.
30236         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
30237         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
30238         systems.
30239         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
30240         <getopt.h> on glibc systems.
30241         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
30242         systems.
30243         * lib/fcntl.c: Include <unistd.h> here instead.
30244
30245 2009-12-24  Bruno Haible  <bruno@clisp.org>
30246
30247         * lib/stdlib.in.h (includes): Fix typo in today's commit.
30248
30249 2009-12-24  Eric Blake  <ebb9@byu.net>
30250
30251         tests: add signature checks
30252         * tests/signature.h (SIGNATURE_CHECK): New file.
30253         * modules/atexit-tests (Files): Use it.
30254         * modules/btowc-tests (Files): Likewise.
30255         * modules/canonicalize-lgpl-tests (Files): Likewise.
30256         * modules/ceilf-tests (Files): Likewise.
30257         * modules/ceill-tests (Files): Likewise.
30258         * modules/chown-tests (Files): Likewise.
30259         * modules/dprintf-posix-tests (Files): Likewise.
30260         * modules/dup2-tests (Files): Likewise.
30261         * modules/dup3-tests (Files): Likewise.
30262         * modules/duplocale-tests (Files): Likewise.
30263         * modules/fchdir-tests (Files): Likewise.
30264         * modules/fcntl-tests (Files): Likewise.
30265         * modules/fdopendir-tests (Files): Likewise.
30266         * modules/fflush-tests (Files): Likewise.
30267         * modules/flock-tests (Files): Likewise.
30268         * modules/floorf-tests (Files): Likewise.
30269         * modules/floorl-tests (Files): Likewise.
30270         * modules/fnmatch-tests (Files): Likewise.
30271         * modules/fopen-tests (Files): Likewise.
30272         * modules/fprintf-posix-tests (Files): Likewise.
30273         * modules/freopen-tests (Files): Likewise.
30274         * modules/frexp-nolibm-tests (Files): Likewise.
30275         * modules/frexp-tests (Files): Likewise.
30276         * modules/frexpl-nolibm-tests (Files): Likewise.
30277         * modules/frexpl-tests (Files): Likewise.
30278         * modules/fseek-tests (Files): Likewise.
30279         * modules/fseeko-tests (Files): Likewise.
30280         * modules/fsync-tests (Files): Likewise.
30281         * modules/ftell-tests (Files): Likewise.
30282         * modules/ftello-tests (Files): Likewise.
30283         * modules/futimens-tests (Files): Likewise.
30284         * modules/getaddrinfo-tests (Files): Likewise.
30285         * modules/getcwd-tests (Files): Likewise.
30286         * modules/getdelim-tests (Files): Likewise.
30287         * modules/getdtablesize-tests (Files): Likewise.
30288         * modules/getgroups-tests (Files): Likewise.
30289         * modules/gethostname-tests (Files): Likewise.
30290         * modules/getline-tests (Files): Likewise.
30291         * modules/getopt-posix-tests (Files): Likewise.
30292         * modules/gettimeofday-tests (Files): Likewise.
30293         * modules/glob-tests (Files): Likewise.
30294         * modules/iconv-tests (Files): Likewise.
30295         * modules/inet_ntop-tests (Files): Likewise.
30296         * modules/inet_pton-tests (Files): Likewise.
30297         * modules/isblank-tests (Files): Likewise.
30298         * modules/lchown-tests (Files): Likewise.
30299         * modules/ldexpl-tests (Files): Likewise.
30300         * modules/link-tests (Files): Likewise.
30301         * modules/linkat-tests (Files): Likewise.
30302         * modules/lseek-tests (Files): Likewise.
30303         * modules/lstat-tests (Files): Likewise.
30304         * modules/mbrtowc-tests (Files): Likewise.
30305         * modules/mbsinit-tests (Files): Likewise.
30306         * modules/mbsnrtowcs-tests (Files): Likewise.
30307         * modules/mbsrtowcs-tests (Files): Likewise.
30308         * modules/memchr-tests (Files): Likewise.
30309         * modules/memcmp-tests (Files): Likewise.
30310         * modules/memmem-tests (Files): Likewise.
30311         * modules/memrchr-tests (Files): Likewise.
30312         * modules/mkdir-tests (Files): Likewise.
30313         * modules/mkfifo-tests (Files): Likewise.
30314         * modules/mkfifoat-tests (Files): Likewise.
30315         * modules/mknod-tests (Files): Likewise.
30316         * modules/nanosleep-tests (Files): Likewise.
30317         * modules/nl_langinfo-tests (Files): Likewise.
30318         * modules/obstack-printf-tests (Files): Likewise.
30319         * modules/open-tests (Files): Likewise.
30320         * modules/openat-tests (Files): Likewise.
30321         * modules/perror-tests (Files): Likewise.
30322         * modules/pipe2-tests (Files): Likewise.
30323         * modules/poll-tests (Files): Likewise.
30324         * modules/popen-tests (Files): Likewise.
30325         * modules/posix_spawn-tests (Files): Likewise.
30326         * modules/posix_spawnp-tests (Files): Likewise.
30327         * modules/pread-tests (Files): Likewise.
30328         * modules/printf-posix-tests (Files): Likewise.
30329         * modules/pty-tests (Files): Likewise.
30330         * modules/random_r-tests (Files): Likewise.
30331         * modules/rawmemchr-tests (Files): Likewise.
30332         * modules/readlink-tests (Files): Likewise.
30333         * modules/remove-tests (Files): Likewise.
30334         * modules/rename-tests (Files): Likewise.
30335         * modules/renameat-tests (Files): Likewise.
30336         * modules/rmdir-tests (Files): Likewise.
30337         * modules/round-tests (Files): Likewise.
30338         * modules/roundf-tests (Files): Likewise.
30339         * modules/roundl-tests (Files): Likewise.
30340         * modules/select-tests (Files): Likewise.
30341         * modules/setenv-tests (Files): Likewise.
30342         * modules/sigaction-tests (Files): Likewise.
30343         * modules/sleep-tests (Files): Likewise.
30344         * modules/snprintf-posix-tests (Files): Likewise.
30345         * modules/snprintf-tests (Files): Likewise.
30346         * modules/sprintf-posix-tests (Files): Likewise.
30347         * modules/stat-tests (Files): Likewise.
30348         * modules/strcasestr-tests (Files): Likewise.
30349         * modules/strchrnul-tests (Files): Likewise.
30350         * modules/strerror-tests (Files): Likewise.
30351         * modules/strsignal-tests (Files): Likewise.
30352         * modules/strstr-tests (Files): Likewise.
30353         * modules/strtod-tests (Files): Likewise.
30354         * modules/strverscmp-tests (Files): Likewise.
30355         * modules/symlink-tests (Files): Likewise.
30356         * modules/symlinkat-tests (Files): Likewise.
30357         * modules/times-tests (Files): Likewise.
30358         * modules/trunc-tests (Files): Likewise.
30359         * modules/truncf-tests (Files): Likewise.
30360         * modules/truncl-tests (Files): Likewise.
30361         * modules/tsearch-tests (Files): Likewise.
30362         * modules/uname-tests (Files): Likewise.
30363         * modules/unlink-tests (Files): Likewise.
30364         * modules/unsetenv-tests (Files): Likewise.
30365         * modules/usleep-tests (Files): Likewise.
30366         * modules/utimensat-tests (Files): Likewise.
30367         * modules/vasprintf-tests (Files): Likewise.
30368         * modules/vdprintf-posix-tests (Files): Likewise.
30369         * modules/vfprintf-posix-tests (Files): Likewise.
30370         * modules/vprintf-posix-tests (Files): Likewise.
30371         * modules/vsnprintf-posix-tests (Files): Likewise.
30372         * modules/vsnprintf-tests (Files): Likewise.
30373         * modules/vsprintf-posix-tests (Files): Likewise.
30374         * modules/wcrtomb-tests (Files): Likewise.
30375         * modules/wcsnrtombs-tests (Files): Likewise.
30376         * modules/wcsrtombs-tests (Files): Likewise.
30377         * modules/wcwidth-tests (Files): Likewise.
30378         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
30379         * tests/test-isinf.c (isinf): Likewise.
30380         * tests/test-isnan.c (isnan): Likewise.
30381         * tests/test-signbit.c (signbit): Likewise.
30382         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
30383         declaration, either as macro or with correct signature.
30384         (select): Ensure function under test is declared with correct
30385         signature in correct header.
30386         * tests/test-atexit.c (atexit): Likewise.
30387         * tests/test-btowc.c (btowc): Likewise.
30388         * tests/test-canonicalize-lgpl.c (realpath)
30389         (canonicalize_file_name): Likewise.
30390         * tests/test-ceilf1.c (ceilf): Likewise.
30391         * tests/test-ceill.c (ceill): Likewise.
30392         * tests/test-chown.c (chown): Likewise.
30393         * tests/test-dprintf-posix.c (dprintf): Likewise.
30394         * tests/test-dup2.c (dup2): Likewise.
30395         * tests/test-dup3.c (dup3): Likewise.
30396         * tests/test-duplocale.c (duplocale): Likewise.
30397         * tests/test-fchdir.c (fchdir): Likewise.
30398         * tests/test-fchownat.c (fchownat): Likewise.
30399         * tests/test-fcntl.c (fcntl): Likewise.
30400         * tests/test-fdopendir.c (fdopendir): Likewise.
30401         * tests/test-fflush.c (fflush): Likewise.
30402         * tests/test-flock.c (flock): Likewise.
30403         * tests/test-floorf1.c (floorf): Likewise.
30404         * tests/test-floorl.c (floorl): Likewise.
30405         * tests/test-fnmatch.c (fnmatch): Likewise.
30406         * tests/test-fopen.c (fopen): Likewise.
30407         * tests/test-fprintf-posix.c (fprintf): Likewise.
30408         * tests/test-freopen.c (freopen): Likewise.
30409         * tests/test-frexp.c (frexp): Likewise.
30410         * tests/test-frexpl.c (frexpl): Likewise.
30411         * tests/test-fseek.c (fseek): Likewise.
30412         * tests/test-fseeko.c (fseeko): Likewise.
30413         * tests/test-fstatat.c (fstatat): Likewise.
30414         * tests/test-fsync.c (fsync): Likewise.
30415         * tests/test-ftell.c (ftell): Likewise.
30416         * tests/test-ftello.c (ftello): Likewise.
30417         * tests/test-futimens.c (futimens): Likewise.
30418         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
30419         (gai_strerror): Likewise.
30420         * tests/test-getcwd.c (getcwd): Likewise.
30421         * tests/test-getdelim.c (getdelim): Likewise.
30422         * tests/test-getdtablesize.c (getdtablesize): Likewise.
30423         * tests/test-getgroups.c (getgroups): Likewise.
30424         * tests/test-gethostname.c (gethostname): Likewise.
30425         * tests/test-getline.c (getline): Likewise.
30426         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
30427         Likewise.
30428         * tests/test-gettimeofday.c (gettimeofday): Likewise.
30429         * tests/test-glob.c (glob, globfree): Likewise.
30430         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
30431         * tests/test-inet_ntop.c (inet_ntop): Likewise.
30432         * tests/test-inet_pton.c (inet_pton): Likewise.
30433         * tests/test-isblank.c (isblank): Likewise.
30434         * tests/test-lchown.c (lchown): Likewise.
30435         * tests/test-ldexpl.c (ldexpl): Likewise.
30436         * tests/test-link.c (link): Likewise.
30437         * tests/test-linkat.c (linkat): Likewise.
30438         * tests/test-lseek.c (lseek): Likewise.
30439         * tests/test-lstat.c (lstat): Likewise.
30440         * tests/test-mbrtowc.c (mbrtowc): Likewise.
30441         * tests/test-mbsinit.c (mbsinit): Likewise.
30442         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
30443         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
30444         * tests/test-memchr.c (memchr): Likewise.
30445         * tests/test-memcmp.c (memcmp): Likewise.
30446         * tests/test-memmem.c (memmem): Likewise.
30447         * tests/test-memrchr.c (memrchr): Likewise.
30448         * tests/test-mkdir.c (mkdir): Likewise.
30449         * tests/test-mkdirat.c (mkdirat): Likewise.
30450         * tests/test-mkfifo.c (mkfifo): Likewise.
30451         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
30452         * tests/test-mknod.c (mknod): Likewise.
30453         * tests/test-nanosleep.c (nanosleep): Likewise.
30454         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
30455         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
30456         Likewise.
30457         * tests/test-open.c (open): Likewise.
30458         * tests/test-openat.c (openat): Likewise.
30459         * tests/test-perror.c (perror): Likewise.
30460         * tests/test-pipe2.c (pipe2): Likewise.
30461         * tests/test-poll.c (poll): Likewise.
30462         * tests/test-popen.c (popen, pclose): Likewise.
30463         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30464         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30465         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30466         (posix_spawn_file_actions_destroy)
30467         (posix_spawn_file_actions_addclose)
30468         (posix_spawn_file_actions_addopen)
30469         (posix_spawn_file_actions_adddup2): Likewise.
30470         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30471         * tests/test-pread.c (pread): Likewise.
30472         * tests/test-printf-posix.c (printf): Likewise.
30473         * tests/test-pty.c (openpty, forkpty): Likewise.
30474         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30475         (random_r): Likewise.
30476         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30477         * tests/test-readlink.c (readlink): Likewise.
30478         * tests/test-remove.c (remove): Likewise.
30479         * tests/test-rename.c (rename): Likewise.
30480         * tests/test-renameat.c (renameat): Likewise.
30481         * tests/test-rmdir.c (rmdir): Likewise.
30482         * tests/test-round1.c (round): Likewise.
30483         * tests/test-roundf1.c (roundf): Likewise.
30484         * tests/test-roundl.c (roundl): Likewise.
30485         * tests/test-setenv.c (setenv): Likewise.
30486         * tests/test-sigaction.c (sigaction): Likewise.
30487         * tests/test-sleep.c (sleep): Likewise.
30488         * tests/test-snprintf.c (snprintf): Likewise.
30489         * tests/test-sprintf-posix.c (sprintf): Likewise.
30490         * tests/test-stat.c (stat): Likewise.
30491         * tests/test-stpncpy.c (stpncpy): Likewise.
30492         * tests/test-strcasestr.c (strcasestr): Likewise.
30493         * tests/test-strchrnul.c (strchrnul): Likewise.
30494         * tests/test-strerror.c (strerror): Likewise.
30495         * tests/test-strsignal.c (strsignal): Likewise.
30496         * tests/test-strstr.c (strstr): Likewise.
30497         * tests/test-strtod.c (strtod): Likewise.
30498         * tests/test-strverscmp.c (strverscmp): Likewise.
30499         * tests/test-symlink.c (symlink): Likewise.
30500         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30501         * tests/test-times.c (times): Likewise.
30502         * tests/test-trunc1.c (trunc): Likewise.
30503         * tests/test-truncf1.c (truncf): Likewise.
30504         * tests/test-truncl.c (truncl): Likewise.
30505         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30506         Likewise.
30507         * tests/test-uname.c (uname): Likewise.
30508         * tests/test-unlink.c (unlink): Likewise.
30509         * tests/test-unlinkat.c (unlinkat): Likewise.
30510         * tests/test-unsetenv.c (unsetenv): Likewise.
30511         * tests/test-usleep.c (usleep): Likewise.
30512         * tests/test-utimensat.c (utimensat): Likewise.
30513         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30514         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30515         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30516         * tests/test-vprintf-posix.c (vprintf): Likewise.
30517         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30518         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30519         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30520         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30521         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30522         * tests/test-wcwidth.c (wcwidth): Likewise.
30523
30524         build: pull in conditional headers during GNULIB_POSIXCHECK
30525         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
30526         definitions from any conditionally-included headers.
30527         * lib/stdlib.in.h (includes): Likewise.
30528         * lib/unistd.in.h (includes): Likewise.
30529
30530 2009-12-24  Bruno Haible  <bruno@clisp.org>
30531
30532         * tests/test-argv-iter.c: Include header file being tested immediately
30533         after config.h.
30534         * tests/test-base64.c: Likewise.
30535         * tests/test-flock.c: Likewise.
30536         * tests/test-fsync.c: Likewise.
30537         * tests/test-getdate.c: Likewise.
30538         * tests/test-getndelim2.c: Likewise.
30539         * tests/test-isfinite.c: Likewise.
30540         * tests/test-isinf.c: Likewise.
30541         * tests/test-strerror.c: Likewise.
30542         * tests/test-strsignal.c: Likewise.
30543
30544 2009-12-23  Eric Blake  <ebb9@byu.net>
30545
30546         unistd: work around cygwin bug
30547         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
30548         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
30549         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30550
30551 2009-12-23  Bruno Haible  <bruno@clisp.org>
30552
30553         localename: More tests.
30554         * tests/test-localename.c (SIZEOF): New macro.
30555         (categories): New variable.
30556         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
30557         test_locale_name_default): Add test w.r.t. thread locale.
30558         (test_locale_name_thread): New function.
30559         (main): Invoke it.
30560
30561         localename: Make aware of thread locale.
30562         * lib/localename.h (gl_locale_name_thread): New declaration.
30563         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
30564         behaviour with respect to thread locale.
30565         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
30566         <langinfo.h>, glthread/lock.h.
30567         (SIZE_BITS): New macro.
30568         (string_hash): New function.
30569         (struct hash_node): New type.
30570         (HASH_TABLE_SIZE): New macro.
30571         (struniq_hash_table, struniq_lock): New variables.
30572         (struniq): New function.
30573         (gl_locale_name_thread): New function.
30574         (gl_locale_name): Invoke it.
30575         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
30576         * modules/localename (Depends-on): Add lock.
30577         Reported by Mike Gran <spk121@yahoo.com>.
30578
30579 2009-12-23  Eric Blake  <ebb9@byu.net>
30580
30581         va-args: new module
30582         * modules/va-args: New file.
30583         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
30584         * MODULES.html.sh (Core language properties): Mention it.
30585
30586         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
30587         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
30588         named alias for __attribute__((__unused__)).
30589         * lib/chown.c: Update client.
30590         * lib/fchmodat.c: Likewise.
30591         * lib/fts.c: Likewise.
30592         * lib/getdate.y: Likewise.
30593         * lib/getgroups.c: Likewise.
30594         * lib/getopt.c: Likewise.
30595         * lib/getugroups.c: Likewise.
30596         * lib/mkdir.c: Likewise.
30597         * lib/mkfifo.c: Likewise.
30598         * lib/mkfifoat.c: Likewise.
30599         * lib/mknod.c: Likewise.
30600         * lib/mknodat.c: Likewise.
30601         * lib/readlink.c: Likewise.
30602         * lib/se-context.in.h: Likewise.
30603         * lib/se-selinux.in.h: Likewise.
30604         * lib/sockets.c: Likewise.
30605         * lib/symlink.c: Likewise.
30606         * lib/symlinkat.c: Likewise.
30607         * lib/unicodeio.c: Likewise.
30608         * lib/unistr.h: Likewise.
30609         * tests/test-areadlink.c: Likewise.
30610         * tests/test-areadlinkat.c: Likewise.
30611         * tests/test-filenamecat.c: Likewise.
30612         * tests/test-fseeko.c: Likewise.
30613         * tests/test-ftello.c: Likewise.
30614         * tests/test-getdate.c: Likewise.
30615         * tests/test-getgroups.c: Likewise.
30616         * tests/test-gethostname.c: Likewise.
30617         * tests/test-quotearg.c: Likewise.
30618         * tests/test-version-etc.c: Likewise.
30619         * tests/test-xalloc-die.c: Likewise.
30620         * tests/test-xfprintf-posix.c: Likewise.
30621         * tests/test-xprintf-posix.c: Likewise.
30622         * tests/test-xvasprintf.c: Likewise.
30623
30624         tests: avoid compiler warnings
30625         * tests/test-fcntl.c (main): Delete unused parameters.
30626         * tests/test-freopen-safer.c (main): Likewise.
30627         * tests/test-xalloc-die.c (main): Mark unused parameters.
30628         * tests/test-fseeko.c (main): Likewise.
30629         * tests/test-ftello.c (main): Likewise.
30630         * tests/test-nanosleep.c (main): Avoid declaration warning.
30631         * tests/test-sleep.c (main): Likewise.
30632         * tests/test-unsetenv.c (main): Silence warning about string
30633         literal.
30634         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30635
30636 2009-12-23  Bruno Haible  <bruno@clisp.org>
30637
30638         * tests/test-localename.c (test_locale_name): New function, extracted
30639         from main. Also test mixed situations.
30640         (test_locale_name_posix, test_locale_name_environ,
30641         test_locale_name_default): New functions.
30642         (main): Invoke them all.
30643         * modules/localename-tests (configure.ac): Test for newlocale.
30644
30645 2009-12-23  Bruno Haible  <bruno@clisp.org>
30646
30647         unistd: Ensure getcwd gets declared before being overridden.
30648         * lib/unistd.in.h: Conditionally include <io.h>.
30649
30650 2009-12-22  Bruno Haible  <bruno@clisp.org>
30651
30652         wchar: Diagnose broken combination of glibc and gcc versions and flags.
30653         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
30654         (gl_WCHAR_H): Invoke it.
30655         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
30656         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
30657         Reported by Karl Berry <karl@freefriends.org>.
30658
30659 2009-12-22  Eric Blake  <ebb9@byu.net>
30660
30661         math, unistd: avoid redundant includes
30662         * lib/math.in.h (isnan): No need to re-include <math.h>.
30663         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
30664
30665         getsubopt: work around cygwin bug
30666         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
30667         avoid conflicting with system getsubopt.
30668         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
30669         bug.
30670
30671         getopt: synchronize from glibc
30672         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
30673         parameter order.  Adjust all callers.
30674         (_getopt_internal_r, main): Adjust quoting in error messages.
30675         Drop considerations for outdated POSIX 1003.2 error message.
30676         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
30677         callers.
30678         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
30679
30680         test-getopt: test stderr behavior
30681         * modules/getopt-posix-tests (Depends-on): Add dup2.
30682         * tests/test-getopt.c (ASSERT): Avoid stderr.
30683         (main): Move stderr to a temporary file.
30684         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
30685         Instead, add parameter to inform caller if output occurred.
30686         (test_getopt): Adjust all existing tests to expect silence, and
30687         add new tests of leading ":".
30688         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30689         glibc shortcomings with leading "-:" or "+:" in optstring.
30690         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30691         Likewise.
30692         * doc/posix-functions/getopt.texi (getopt): Likewise.
30693
30694         test-getopt: enhance test
30695         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
30696         supports optind=0.
30697         * tests/test-getopt.c (OPTIND_MIN): Move...
30698         * tests/test-getopt.h (OPTIND_MIN): ...here.
30699         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
30700         Require that optind=0 works, since modern BSD supports it in
30701         addition to optreset, and since coreutils expects it.
30702         (test_getopt_long_only): New test.
30703         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30704         glibc shortcomings with 'W;', and enforcement of optind=0.
30705         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30706         Likewise.
30707
30708 2009-12-21  Bruno Haible  <bruno@clisp.org>
30709
30710         localename: Improvements for MacOS X and Cygwin.
30711         * lib/localename.h (gl_locale_name_environ): New declaration.
30712         * lib/localename.c (gl_locale_name_environ): New function, extracted from
30713         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
30714         (gl_locale_name_posix): Invoke it.
30715         (gl_locale_name_default): Add comments. Use Windows native API also on
30716         Cygwin.
30717
30718 2009-12-21  Bruno Haible  <bruno@clisp.org>
30719
30720         Update list of Win32 locale ids.
30721         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
30722         (LANG_SAMI): Renamed from LANG_SAAMI.
30723         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
30724         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
30725         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
30726         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
30727         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
30728         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
30729         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
30730         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
30731         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
30732         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
30733         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
30734         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
30735         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
30736         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
30737         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
30738         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
30739         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
30740         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
30741         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
30742         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
30743         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
30744         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
30745         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
30746         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
30747         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
30748         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
30749         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
30750         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
30751         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
30752         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
30753         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
30754         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
30755         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
30756         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
30757         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
30758         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
30759         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
30760         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
30761         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
30762         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
30763         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
30764         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
30765         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
30766         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
30767         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
30768         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
30769         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
30770         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
30771         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
30772         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
30773         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
30774         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
30775         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
30776         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
30777         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
30778         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
30779         Add more languages and countries for Sami, Sorbian. Add more countries
30780         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
30781         for Pashto. Change country for Syriac, Tswana.
30782
30783 2009-12-21  Eric Blake  <ebb9@byu.net>
30784
30785         test-utimens: avoid spurious failure
30786         * tests/test-chown.h (nap): Factor...
30787         * tests/nap.h: ...into new file.
30788         * tests/test-lchown.h (nap): Avoid duplication.
30789         * tests/test-utimens-common.h (nap): Use shared implementation,
30790         necessary on file systems with 1-second resolution.
30791         * modules/chown-tests (Files): Include new file.
30792         * modules/fdutimensat-tests (Files): Likewise.
30793         * modules/futimens-tests (Files): Likewise.
30794         * modules/lchown-tests (Files): Likewise.
30795         * modules/openat-tests (Files): Likewise.
30796         * modules/utimens-tests (Files): Likewise.
30797         * modules/utimensat-tests (Files): Likewise.
30798
30799 2009-12-19  Eric Blake  <ebb9@byu.net>
30800
30801         futimens, utimensat: work around Linux bug
30802         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
30803         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30804         * lib/utimensat.c (rpl_utimensat): Work around it.
30805         * lib/futimens.c (rpl_futimens): Adjust comment.
30806
30807         utimens: work around Linux ctime bug
30808         * lib/utimens.c (detect_ctime_bug): New helper function.
30809         (update_timespec): Differentiate between workaround needed for
30810         this bug vs. what is needed for systems that lack utimensat.
30811         (fdutimens, lutimens): Work around bug.
30812
30813         utimens: check for ctime update
30814         * tests/test-utimens-common.h (check_ctime): Define.
30815         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
30816         * tests/test-futimens.h (test_futimens): Likewise.
30817         * tests/test-lutimens.h (test_lutimens): Likewise.
30818         * doc/posix-functions/futimens.texi (futimens): Document the bug.
30819         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30820
30821 2009-12-19  Bruno Haible  <bruno@clisp.org>
30822
30823         dprintf-posix: Check against memory leak fixed on 2009-12-15.
30824         * tests/test-dprintf-posix2.sh: New file.
30825         * tests/test-dprintf-posix2.c: New file.
30826         * modules/dprintf-posix-tests (Files): Add them.
30827         (configure.ac): Check for getrlimit and setrlimit.
30828         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30829
30830 2009-12-19  Bruno Haible  <bruno@clisp.org>
30831
30832         fprintf-posix: Check against memory leak fixed on 2009-12-15.
30833         * tests/test-fprintf-posix3.sh: New file.
30834         * tests/test-fprintf-posix3.c: New file.
30835         * modules/fprintf-posix-tests (Files): Add them.
30836         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30837
30838 2009-12-19  Eric Blake  <ebb9@byu.net>
30839
30840         dirfd: fix prototype
30841         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
30842         * lib/dirfd.c (dirfd): Likewise.
30843
30844         canonicalize: reduce memory usage
30845         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
30846         allocation to size.
30847         Reported by Solar Designer <solar@openwall.com>.
30848
30849 2009-12-19  Bruno Haible  <bruno@clisp.org>
30850
30851         New module attribute 'Applicability'.
30852         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
30853         * gnulib-tool: New option --extract-applicability.
30854         (func_usage): Document it.
30855         (sed_extract_prog): Recognize it.
30856         (func_get_applicability): New function.
30857         (func_import): Generalize handling of 'link-warning' module.
30858         * modules/link-warning (Applicability): New section.
30859         * modules/arg-nonnull (Applicability): New section.
30860         Repoted by Simon Josefsson <simon@josefsson.org>.
30861
30862 2009-12-19  Bruno Haible  <bruno@clisp.org>
30863
30864         fflush: tweak
30865         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
30866         * lib/fseeko.c (rpl_fseeko): Likewise.
30867
30868 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
30869
30870         * lib/gl_list.h: Fix typo in comment.
30871
30872 2009-12-16  Eric Blake  <ebb9@byu.net>
30873
30874         fcntl: use to simplify other modules
30875         * modules/cloexec (Depends-on): Add fcntl.
30876         * modules/fchdir (Depends-on): Likewise.
30877         * modules/fd-safer-flag (Depends-on): Likewise.
30878         * modules/unistd-safer (Depends-on): Likewise.
30879         * modules/dup3 (configure.ac): Set module indicator.
30880         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
30881         missing.
30882         * lib/fchdir.c (_gl_register_dup): Fix comment.
30883         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
30884         * lib/dup-safer.c (dup_safer): Likewise.
30885         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
30886         * lib/dup3.c (dup3): Likewise.
30887         * tests/test-fchdir.c (main): Enhance test.
30888         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
30889
30890         fcntl: port portions of fcntl to mingw
30891         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
30892         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
30893         replacement for mingw.
30894         * modules/fcntl (Description): Update.
30895         (Depends-on): Add dup2.
30896         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
30897         * modules/fcntl-h (Makefile.am): Substitute it.
30898         * lib/fcntl.in.h (fcntl): Update declaration.
30899         (F_DUPFD, F_GETFD): New macros, when needed.
30900         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30901         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
30902         * tests/test-fcntl.c (check_flags, main): Enhance test for items
30903         we now guarantee.
30904
30905         fcntl: work around cygwin bug in F_DUPFD
30906         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
30907         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
30908         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
30909         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
30910         * doc/posix-functions/fcntl.texi (fcntl): Document it.
30911
30912         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
30913         * modules/fcntl (Files): List new files.
30914         (configure.ac): Run a test.
30915         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
30916         * lib/fcntl.c (rpl_fcntl): Likewise.
30917         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
30918         (gl_FCNTL_H): Always replace fcntl.h.
30919         * modules/fcntl-h (Makefile.am): Substitute witnesses.
30920         * lib/fcntl.in.h (fcntl): Declare replacement.
30921         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
30922         needed, plus a witness.
30923         * doc/posix-functions/fcntl.texi (fcntl): Document this.
30924         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
30925         * tests/test-fcntl.c: New file.
30926         * modules/fcntl-tests: Likewise.
30927
30928         binary-io: avoid potential compilation warning
30929         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
30930         directives.
30931
30932         fflush: avoid compilation error on NetBSD
30933         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
30934         between off_t and fpos_t, since the latter is sometimes a struct.
30935         * lib/fseeko.c (rpl_fseeko): Likewise.
30936         Reported by Alexander Nasonov <alnsn@yandex.ru>.
30937
30938 2009-12-15  Eric Blake  <ebb9@byu.net>
30939
30940         fcntl-h, stdio, sys_ioctl: fix declarations
30941         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
30942         function must not take arguments.
30943         * lib/sys_ioctl.in.h (ioctl): Likewise.
30944         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
30945         (open): Add a link warning.
30946
30947 2009-12-15  Jim Meyering  <meyering@redhat.com>
30948
30949         areadlink, areadlink-with-size: relax license to LGPLv2+
30950         * modules/areadlink (License): Relax to LGPLv2+.
30951         * modules/areadlink-with-size (License): Likewise.
30952
30953 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
30954             Bruno Haible  <bruno@clisp.org>
30955
30956         *printf: Fix memory leak.
30957         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
30958         * lib/vfprintf.c (vfprintf): Likewise.
30959         * lib/dprintf.c (dprintf): Likewise.
30960         * lib/vdprintf.c (vdprintf): Likewise.
30961
30962 2009-12-14  Eric Blake  <ebb9@byu.net>
30963
30964         accept4: adjust module dependencies
30965         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
30966
30967         utimens: one more try at avoiding compiler warning
30968         * lib/utimens.c (lutimens): Lower scope of result.
30969
30970 2009-12-13  Bruno Haible  <bruno@clisp.org>
30971
30972         Move the malloc checking from module 'list' to new module 'xlist'.
30973         * modules/xlist: New file.
30974         * lib/gl_xlist.h: New file.
30975         * lib/gl_xlist.c: New file.
30976         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
30977         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
30978         gl_list_add_last, gl_list_add_before, gl_list_add_after,
30979         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
30980         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
30981         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
30982         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
30983         gl_sortedlist_nx_add): New declarations.
30984         (struct gl_list_implementation): Rename and change methods accordingly.
30985         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
30986         (gl_list_nx_create): Renamed from gl_list_create.
30987         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
30988         (gl_list_nx_set_at): Renamed from gl_list_set_at.
30989         (gl_list_nx_add_first): Renamed from gl_list_add_first.
30990         (gl_list_nx_add_last): Renamed from gl_list_add_last.
30991         (gl_list_nx_add_before): Renamed from gl_list_add_before.
30992         (gl_list_nx_add_after): Renamed from gl_list_add_after.
30993         (gl_list_nx_add_at): Renamed from gl_list_add_at.
30994         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
30995         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
30996         gl_list_create_empty.
30997         (gl_list_nx_create): Renamed from gl_list_create.
30998         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
30999         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31000         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31001         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31002         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31003         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31004         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31005         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31006         * lib/gl_array_list.c: Don't include xalloc.h.
31007         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
31008         NULL upon out-of-memory.
31009         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
31010         out-of-memory.
31011         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
31012         Change return type to 'int'.
31013         (gl_array_nx_set_at): Renamed from gl_array_set_at.
31014         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31015         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
31016         upon out-of-memory.
31017         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
31018         upon out-of-memory.
31019         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
31020         upon out-of-memory.
31021         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
31022         upon out-of-memory.
31023         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
31024         out-of-memory.
31025         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
31026         Update.
31027         (gl_array_list_implementation): Update.
31028         * lib/gl_carray_list.c: Don't include xalloc.h.
31029         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
31030         Return NULL upon out-of-memory.
31031         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
31032         out-of-memory.
31033         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
31034         Change return type to 'int'.
31035         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
31036         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31037         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
31038         upon out-of-memory.
31039         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
31040         upon out-of-memory.
31041         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
31042         out-of-memory.
31043         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
31044         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
31045         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
31046         Update.
31047         (gl_carray_list_implementation): Update.
31048         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
31049         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
31050         gl_linked_create_empty. Return NULL upon out-of-memory.
31051         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
31052         out-of-memory.
31053         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
31054         Change return type to 'int'. Return -1 upon out-of-memory.
31055         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
31056         out-of-memory.
31057         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
31058         upon out-of-memory.
31059         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
31060         upon out-of-memory.
31061         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
31062         NULL upon out-of-memory.
31063         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
31064         upon out-of-memory.
31065         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
31066         out-of-memory.
31067         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
31068         Update.
31069         * lib/gl_linked_list.c: Don't include xalloc.h.
31070         (gl_linked_list_implementation): Update.
31071         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
31072         (add_to_bucket): Change return type to 'int'.
31073         (gl_linkedhash_list_implementation): Update.
31074         * lib/gl_anytree_list1.h (free_subtree): New function.
31075         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
31076         gl_tree_create_empty. Return NULL upon out-of-memory.
31077         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
31078         Change return type to 'int'. Return -1 upon out-of-memory.
31079         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
31080         out-of-memory.
31081         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
31082         (gl_tree_remove_node): New function, moved here from
31083         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
31084         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
31085         Update.
31086         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
31087         malloc, not xmalloc. Return NULL upon out-of-memory.
31088         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31089         out-of-memory.
31090         (gl_tree_remove_node_from_tree): New function, extracted from
31091         gl_tree_remove_node.
31092         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31093         upon out-of-memory.
31094         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31095         out-of-memory.
31096         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31097         upon out-of-memory.
31098         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31099         upon out-of-memory.
31100         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31101         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
31102         not xmalloc. Return NULL upon out-of-memory.
31103         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31104         out-of-memory.
31105         (gl_tree_remove_node_from_tree): New function, extracted from
31106         gl_tree_remove_node.
31107         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31108         upon out-of-memory.
31109         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31110         out-of-memory.
31111         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31112         upon out-of-memory.
31113         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31114         upon out-of-memory.
31115         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31116         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
31117         gl_anytree_list1.h before gl_anyavltree_list2.h.
31118         (gl_avltree_list_implementation): Update.
31119         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
31120         gl_anytree_list1.h before gl_anyavltree_list2.h.
31121         (gl_rbtree_list_implementation): Update.
31122         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
31123         Change return type to 'int'. Return -1 upon out-of-memory. Use
31124         __builtin_expect.
31125         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
31126         (gl_avltreehash_list_implementation): Update.
31127         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
31128         (gl_rbtreehash_list_implementation): Update.
31129         * modules/array-list (Depends-on): Remove xalloc.
31130         * modules/carray-list (Depends-on): Likewise.
31131         * modules/linked-list (Depends-on): Likewise.
31132         * modules/linkedhash-list (Depends-on): Likewise.
31133         * modules/avltree-list (Depends-on): Likewise.
31134         * modules/rbtree-list (Depends-on): Likewise.
31135         * modules/avltreehash-list (Depends-on): Likewise.
31136         * modules/rbtreehash-list (Depends-on): Likewise.
31137
31138         * modules/xsublist: New file.
31139         * lib/gl_xsublist.h: New file.
31140         * lib/gl_xsublist.c: New file.
31141         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
31142         (gl_sublist_nx_create): New declaration.
31143         * lib/gl_sublist.c: Don't include xalloc.h.
31144         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
31145         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
31146         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
31147         Change return type to 'int'. Return -1 upon out-of-memory.
31148         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
31149         upon out-of-memory.
31150         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
31151         NULL upon out-of-memory.
31152         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
31153         upon out-of-memory.
31154         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
31155         NULL upon out-of-memory.
31156         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
31157         NULL upon out-of-memory.
31158         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
31159         upon out-of-memory.
31160         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
31161         (gl_sublist_list_implementation): Update.
31162         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
31163         upon out-of-memory.
31164         * modules/sublist (Depends-on): Remove xalloc.
31165
31166         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
31167         * tests/test-carray_list.c: Likewise.
31168         * tests/test-linked_list.c: Likewise.
31169         * tests/test-linkedhash_list.c: Likewise.
31170         * tests/test-avltree_list.c: Likewise.
31171         * tests/test-rbtree_list.c: Likewise.
31172         * tests/test-avltreehash_list.c: Likewise.
31173         * tests/test-rbtreehash_list.c: Likewise.
31174         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
31175         * modules/carray-list-tests (Makefile.am): Likewise.
31176         * modules/linked-list-tests (Makefile.am): Likewise.
31177         * modules/linkedhash-list-tests (Makefile.am): Likewise.
31178         * modules/avltree-list-tests (Makefile.am): Likewise.
31179         * modules/rbtree-list-tests (Makefile.am): Likewise.
31180         * modules/avltreehash-list-tests (Makefile.am): Likewise.
31181         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
31182
31183         * NEWS: Mention the changes.
31184
31185         * lib/clean-temp.c: Include gl_xlist.h.
31186         * modules/clean-temp (Depends-on): Add xlist.
31187
31188         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
31189         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
31190
31191         * tests/test-array_oset.c: Include gl_xlist.h.
31192         * modules/array-oset-tests (Depends-on): Add xlist.
31193
31194         Reported by José E. Marchesi <jemarch@gnu.org>.
31195
31196 2009-12-13  Bruno Haible  <bruno@clisp.org>
31197
31198         Move the malloc checking from module 'oset' to new module 'xoset'.
31199         * modules/xoset: New file.
31200         * lib/gl_xoset.h: New file.
31201         * lib/gl_xoset.c: New file.
31202         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
31203         declarations.
31204         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
31205         (struct gl_oset_implementation): Rename and change methods accordingly.
31206         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
31207         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31208         'int'. Mark as __warn_unused_result__.
31209         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
31210         gl_oset_create_empty.
31211         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31212         'int'.
31213         * lib/gl_array_oset.c: Don't include xalloc.h.
31214         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
31215         malloc, not xmalloc.
31216         (grow): Change return type to 'int'. Don't call xalloc_die.
31217         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
31218         to 'int'.
31219         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
31220         'int'.
31221         (gl_array_oset_implementation): Update.
31222         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
31223         gl_tree_create_empty.
31224         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
31225         'int'.
31226         * lib/gl_avltree_oset.c: Don't include xalloc.h.
31227         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31228         xmalloc.
31229         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31230         not xmalloc.
31231         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31232         xmalloc.
31233         (gl_avltree_oset_implementation): Update.
31234         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
31235         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31236         xmalloc.
31237         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31238         not xmalloc.
31239         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31240         xmalloc.
31241         (gl_rbtree_oset_implementation): Update.
31242         * modules/array-oset (Depends-on): Remove xalloc.
31243         * modules/avltree-oset (Depends-on): Likewise.
31244         * modules/rbtree-oset (Depends-on): Likewise.
31245         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
31246         * tests/test-avltree_oset.c: Likewise.
31247         * tests/test-rbtree_oset.c: Likewise.
31248         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31249         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
31250         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31251         * NEWS: Mention the change.
31252
31253 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
31254
31255         maint.mk: allow a project to override release-prep commands
31256         * top/maint.mk (alpha, beta, stable): Move release-preparatory
31257         commands into a new rule.
31258         (release-prep): New rule.
31259         (release-prep-hook): New overridable variable.
31260
31261 2009-12-13  Bruno Haible  <bruno@clisp.org>
31262
31263         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
31264
31265 2009-12-13  Jim Meyering  <meyering@redhat.com>
31266
31267         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
31268         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
31269
31270 2009-12-12  Bruno Haible  <bruno@clisp.org>
31271
31272         duplocale: Tweak.
31273         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
31274
31275 2009-12-12  Karl Berry  <karl@gnu.org>
31276
31277         * config/srclist.txt (strtoll.c): tab changes, no more sync.
31278
31279 2009-12-12  Bruno Haible  <bruno@clisp.org>
31280
31281         * m4/po.m4: Undo incorrect untabification.
31282
31283 2009-12-12  Bruno Haible  <bruno@clisp.org>
31284
31285         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
31286         * modules/c-strtod (Depends-on): Add locale.
31287         * modules/c-strtold (Depends-on): Likewise.
31288
31289 2009-12-12  Bruno Haible  <bruno@clisp.org>
31290
31291         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
31292
31293 2009-12-11  Eric Blake  <ebb9@byu.net>
31294
31295         setenv: relax requirement in light of POSIX ruling
31296         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
31297         not NULL.
31298         * tests/test-setenv.c (main): Relax test.
31299         * tests/test-unsetenv.c (main): Likewise.
31300         * doc/posix-functions/setenv.texi (setenv): Document this.
31301         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
31302
31303 2009-12-11  Bruno Haible  <bruno@clisp.org>
31304
31305         New module 'fd-safer-flag'.
31306         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
31307         * lib/dup-safer.c (dup_safer_flag): Remove function.
31308         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
31309         * lib/fd-safer.c (fd_safer_flag): Remove function.
31310         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
31311         * modules/cloexec (configure.ac): Drop indicator macro.
31312         * modules/fd-safer-flag: New file.
31313         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
31314         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
31315         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
31316
31317 2009-12-11  Bruno Haible  <bruno@clisp.org>
31318
31319         Tests for module 'nl_langinfo'.
31320         * modules/nl_langinfo-tests: New file.
31321         * tests/test-nl_langinfo.sh: New file.
31322         * tests/test-nl_langinfo.c: New file.
31323
31324         New module 'nl_langinfo'.
31325         * lib/nl_langinfo.c: New file.
31326         * m4/nl_langinfo.m4: New file.
31327         * modules/nl_langinfo: New file.
31328         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
31329
31330 2009-12-11  Bruno Haible  <bruno@clisp.org>
31331
31332         Tests for module 'langinfo'.
31333         * modules/langinfo-tests: New file.
31334         * tests/test-langinfo.c: New file.
31335
31336         New module 'langinfo'.
31337         * lib/langinfo.in.h: New file.
31338         * m4/langinfo_h.m4: New file.
31339         * modules/langinfo: New file.
31340         * doc/posix-headers/langinfo.texi: Mention the new module.
31341
31342 2009-12-11  Bruno Haible  <bruno@clisp.org>
31343
31344         * lib/config.charset: Untabify.
31345
31346 2009-12-11  Bruno Haible  <bruno@clisp.org>
31347
31348         * modules/unistd-safer (configure.ac): Drop indicator macro.
31349
31350 2009-12-11  Bruno Haible  <bruno@clisp.org>
31351
31352         Move pipe2-safer code to its own file.
31353         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
31354         * lib/pipe-safer.c (pipe2_safer): Remove function.
31355         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
31356         (Makefile.am): Add it to lib_SOURCES.
31357
31358 2009-12-10  Bruno Haible  <bruno@clisp.org>
31359
31360         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
31361
31362 2009-12-10  Bruno Haible  <bruno@clisp.org>
31363
31364         Declare which arguments expect non-NULL values, for GCC and clang.
31365         * build-aux/arg-nonnull.h: New file.
31366         * modules/arg-nonnull: New file.
31367         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
31368         (inet_ntop, inet_pton): Use it.
31369         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
31370         (closedir, dirfd, opendir, scandir, alphasort): Use it.
31371         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
31372         (open, openat): Use it.
31373         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
31374         (fnmatch): Use it.
31375         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
31376         (getopt, getopt_long, getopt_long_only): Use it.
31377         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
31378         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
31379         Use it.
31380         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
31381         (iconv_open): Use it.
31382         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
31383         (strtoimax, strtoumax): Use it.
31384         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
31385         (duplocale): Use it.
31386         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
31387         (frexp, frexpl): Use it.
31388         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
31389         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
31390         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
31391         (tsearch, tfind, tdelete, twalk): Use it.
31392         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
31393         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31394         sigpending): Use it.
31395         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
31396         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31397         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31398         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31399         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31400         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31401         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31402         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31403         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31404         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31405         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31406         Use it.
31407         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
31408         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
31409         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
31410         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
31411         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
31412         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
31413         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
31414         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
31415         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
31416         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
31417         strtoull, unsetenv): Use it.
31418         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
31419         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31420         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31421         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
31422         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
31423         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
31424         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
31425         (strcasecmp, strncasecmp): Use it.
31426         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
31427         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
31428         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
31429         rpl_setsockopt): Use it.
31430         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
31431         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
31432         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
31433         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
31434         (gettimeofday): Use it.
31435         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
31436         (times): Use it.
31437         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
31438         (uname): Use it.
31439         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
31440         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
31441         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
31442         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
31443         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
31444         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
31445         unlinkat, write): Use it.
31446         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
31447         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
31448         * lib/argv-iter.h: Include arg-nonnull.h.
31449         (_ATTRIBUTE_NONNULL_): Remove macro.
31450         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
31451         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
31452         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
31453         optimization.
31454         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
31455         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
31456         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
31457         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
31458         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
31459         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
31460         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
31461         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31462         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31463         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31464         * modules/dirent (Depends-on): Add arg-nonnull.
31465         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31466         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31467         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31468         * modules/fnmatch (Depends-on): Add arg-nonnull.
31469         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31470         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31471         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31472         * modules/glob (Depends-on): Add arg-nonnull.
31473         (Makefile.am): Insert arg-nonnull.h into glob.h.
31474         * modules/iconv_open (Depends-on): Add arg-nonnull.
31475         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31476         * modules/inttypes (Depends-on): Add arg-nonnull.
31477         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31478         * modules/locale (Depends-on): Add arg-nonnull.
31479         (Makefile.am): Insert arg-nonnull.h into locale.h.
31480         * modules/math (Depends-on): Add arg-nonnull.
31481         (Makefile.am): Insert arg-nonnull.h into math.h.
31482         * modules/netdb (Depends-on): Add arg-nonnull.
31483         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31484         * modules/search (Depends-on): Add arg-nonnull.
31485         (Makefile.am): Insert arg-nonnull.h into search.h.
31486         * modules/signal (Depends-on): Add arg-nonnull.
31487         (Makefile.am): Insert arg-nonnull.h into signal.h.
31488         * modules/spawn (Depends-on): Add arg-nonnull.
31489         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31490         * modules/stdio (Depends-on): Add arg-nonnull.
31491         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31492         * modules/stdlib (Depends-on): Add arg-nonnull.
31493         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31494         * modules/string (Depends-on): Add arg-nonnull.
31495         (Makefile.am): Insert arg-nonnull.h into string.h.
31496         * modules/strings (Depends-on): Add arg-nonnull.
31497         (Makefile.am): Insert arg-nonnull.h into strings.h.
31498         * modules/sys_socket (Depends-on): Add arg-nonnull.
31499         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31500         * modules/sys_stat (Depends-on): Add arg-nonnull.
31501         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31502         * modules/sys_time (Depends-on): Add arg-nonnull.
31503         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31504         * modules/sys_times (Depends-on): Add arg-nonnull.
31505         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31506         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31507         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31508         * modules/time (Depends-on): Add arg-nonnull.
31509         (Makefile.am): Insert arg-nonnull.h into time.h.
31510         * modules/unistd (Depends-on): Add arg-nonnull.
31511         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31512         * modules/wchar (Depends-on): Add arg-nonnull.
31513         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31514         * modules/argv-iter (Depends-on): Add arg-nonnull.
31515         * tests/test-canonicalize.c (null_ptr): New function.
31516         (main): Use it.
31517         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31518         (main): Use it.
31519         * tests/test-memmem.c (null_ptr): New function.
31520         (main): Use it.
31521         Reported by Jim Meyering.
31522
31523 2009-12-10  Bruno Haible  <bruno@clisp.org>
31524
31525         Use spaces for indentation, not tabs.
31526         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31527         * m4/*.m4: Untabify.
31528         * build-aux/*.h: Untabify.
31529         * tests/**/*.[hc]: Untabify.
31530         * README: New section "Indent with spaces, not TABs", based on
31531         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
31532         * NEWS: Mention the change.
31533
31534 2009-12-10  Bruno Haible  <bruno@clisp.org>
31535
31536         pty test: Fix link error.
31537         * modules/pty-tests (Makefile.am): Add the default LDADD value to
31538         test_pty_LDADD.
31539
31540 2009-12-07  Simon Josefsson  <simon@josefsson.org>
31541
31542         * modules/pty: New file.
31543         * modules/pty-tests: New file.
31544         * m4/pty.m4: New file.
31545         * tests/test-pty.c: New file.
31546         * doc/glibc-headers/pty.texi: Modified.
31547         * doc/glibc-functions/forkpty.texi: Modified.
31548         * doc/glibc-functions/openpty.texi: Modified.
31549
31550 2009-12-10  Bruno Haible  <bruno@clisp.org>
31551
31552         Avoid syntax error in C++ mode.
31553         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
31554
31555 2009-12-10  Bruno Haible  <bruno@clisp.org>
31556
31557         Use sed with option -e.
31558         * gnulib-tool (func_version, func_emit_copyright_notice,
31559         func_emit_initmacro_end, func_import, func_create_testdir): Pass
31560         option -e to sed.
31561         * modules/link-warning (Makefile.am): Likewise.
31562
31563 2009-12-10  Jim Meyering  <meyering@redhat.com>
31564
31565         mgetgroups: do not write bytes beyond end of malloc'd buffer
31566         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
31567         username, we call getgroups with a one-element-shorter buffer,
31568         but still told it the length was original, max_n_groups.
31569
31570 2009-12-09  Eric Blake  <ebb9@byu.net>
31571
31572         cloexec: relax license
31573         * modules/cloexec (Maintainer): Add myself.
31574         (License): Use LGPL, not GPL.
31575
31576         link-warning: optimize generation
31577         * modules/link-warning (Makefile.am): Reduce process usage.
31578
31579 2009-12-09  Bruno Haible  <bruno@clisp.org>
31580
31581         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
31582         workaround was added on 2009-11-17.
31583
31584 2009-12-09  Jim Meyering  <meyering@redhat.com>
31585             Bruno Haible  <bruno@clisp.org>
31586
31587         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
31588         * modules/link-warning (Makefile.am): Make the comment-removing sed
31589         command more robust in the face of bootstrap-prepended comment lines.
31590
31591 2009-12-09  Bruno Haible  <bruno@clisp.org>
31592
31593         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
31594         most one group.
31595
31596 2009-12-09  Simon Josefsson <simon@josefsson.org>
31597             Bruno Haible  <bruno@clisp.org>
31598
31599         * build-aux/link-warning.h: Add copyright notice.
31600         * modules/link-warning (Makefile.am): Generate link-warning.h from
31601         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
31602         * NEWS: Mention change in link-warning module.
31603         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
31604         * modules/dirent (Makefile.am): Add dependency to dirent.h.
31605         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
31606         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
31607         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
31608         * modules/math (Makefile.am): Add dependency to math.h.
31609         * modules/search (Makefile.am): Add dependency to search.h.
31610         * modules/signal (Makefile.am): Add dependency to signal.h.
31611         * modules/spawn (Makefile.am): Add dependency to spawn.h.
31612         * modules/stdio (Makefile.am): Add dependency to stdio.h.
31613         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
31614         * modules/string (Makefile.am): Add dependency to string.h.
31615         * modules/strings (Makefile.am): Add dependency to strings.h.
31616         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
31617         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
31618         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
31619         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
31620         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
31621         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
31622         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
31623         * modules/unistd (Makefile.am): Add dependency to unistd.h.
31624         * modules/wchar (Makefile.am): Add dependency to wchar.h.
31625
31626 2009-12-09  Bruno Haible  <bruno@clisp.org>
31627
31628         fchdir: Optimize away rpl_fstat when possible.
31629         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
31630         REPLACE_OPEN_DIRECTORY.
31631         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
31632
31633 2009-12-09  Bruno Haible  <bruno@clisp.org>
31634
31635         * lib/fchdir.c: Update comment.
31636
31637 2009-12-09  Bruno Haible  <bruno@clisp.org>
31638
31639         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
31640
31641 2009-12-08  Eric Blake  <ebb9@byu.net>
31642
31643         fchdir: avoid memory leak on re-registration.
31644         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
31645
31646 2009-12-08  Jim Meyering  <meyering@redhat.com>
31647
31648         init.sh: avoid Solaris 10 /bin/sh portability problem
31649         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
31650         sourced script:
31651           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
31652           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
31653           bar
31654         tests/init.sh relied on that, accepting a --set-path=DIR argument,
31655         and two tests used that idiom.
31656         * tests/init.sh: Update suggested usage comments.
31657         (path_prepend_): New function, to be used in place
31658         of the --src-path=DIR option.
31659         (setup_): Move PATH-prepending code into path_prepend_.
31660         * tests/test-pread.sh: Adapt to new usage.
31661         * tests/test-xalloc-die.sh: Likewise.
31662
31663 2009-12-08  Simon Josefsson  <simon@josefsson.org>
31664
31665         * doc/gnulib.texi (Glibc pty.h): Add.
31666         * doc/glibc-functions/forkpty.texi: Add.
31667         * doc/glibc-functions/openpty.texi: Add.
31668         Suggested by Bruno Haible.
31669
31670 2009-12-08  Eric Blake  <ebb9@byu.net>
31671
31672         fchdir: fix logic bugs
31673         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
31674         * tests/test-fchdir.c (main): Enhance test.
31675         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
31676         is in use.
31677
31678         dup2: fix logic bugs
31679         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
31680         REPLACE_DUP2 to decide when rpl_dup2 is needed.
31681         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
31682         exists.
31683         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
31684
31685 2009-12-07  Eric Blake  <ebb9@byu.net>
31686
31687         unlink: fix m4 detection
31688         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
31689
31690         unistd-safer: add unit test
31691         * modules/unistd-safer-tests: New file.
31692         * tests/test-dup-safer.c: Likewise.
31693         * tests/test-cloexec.c (setmode): Avoid compiler warning.
31694         * tests/test-dup2.c (setmode): Likewise.
31695         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
31696
31697         cloexec: preserve text vs. binary across dup_cloexec
31698         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
31699         mode.
31700         * modules/dup2-tests (Depends-on): Add binary-io.
31701         * modules/cloexec-tests (Depends-on): Likewise.
31702         * tests/test-dup2.c (setmode, is_mode): New helpers.
31703         (main): Add tests that translation mode is preserved.
31704         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
31705         Reported by Bruno Haible.
31706
31707         mgetgroups: reduce duplicate listings
31708         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
31709         resulting array.
31710         * tests/test-chown.h (test_chown): Simplify client.
31711         * tests/test-lchown.h (test_lchown): Likewise.
31712
31713 2009-12-06  Bruno Haible  <bruno@clisp.org>
31714
31715         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
31716         value.
31717
31718 2009-12-06  Bruno Haible  <bruno@clisp.org>
31719
31720         * lib/progname.c: Include stdio.h, stdlib.h.
31721         (set_program_name): Reject a NULL argument.
31722
31723 2009-12-05  Eric Blake  <ebb9@byu.net>
31724
31725         pipe2-safer: new module
31726         * modules/pipe2-safer: New file.
31727         * lib/unistd-safer.h (pipe2_safer): New prototype.
31728         * lib/unistd--.h (pipe2): New wrapper.
31729         * lib/pipe-safer.c (pipe2_safer): New function.
31730         * modules/pipe (Depends-on): Add pipe2-safer.
31731         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
31732
31733         stdlib-safer: preserve cloexec flag for mkostemp[s]
31734         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
31735         fd_safer_flag.
31736
31737         unistd-safer: allow preservation of cloexec status via flag
31738         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
31739         prototypes.
31740         * lib/dup-safer.c (dup_safer_flag): New function.
31741         * lib/fd-safer.c (fd_safer_flag): Likewise.
31742         * modules/cloexec (configure.ac): Set witness.
31743
31744         test-dup2: enhance test
31745         * modules/dup2-tests (Depends-on): Add cloexec.
31746         * tests/test-dup2.c (main): Enhance test.
31747
31748         cloexec: add dup_cloexec
31749         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
31750         header and comments.
31751         * lib/cloexec.c (set_cloexec_flag): Add comments.
31752         (dup_cloexec): New function, with mingw implementation borrowed
31753         from...
31754         * lib/w32spawn.h (dup_noinherit): ...here.
31755         * modules/execute (Depends-on): Add cloexec.
31756         * modules/pipe (Depends-on): Likewise.
31757         * modules/cloexec (Depends-on): Add dup2.
31758         * modules/cloexec-tests (Files): New file.
31759         * tests/test-cloexec.c: Likewise.
31760
31761         test-xalloc-die: fix test for mingw
31762         * modules/xalloc-die-tests (Files): Add tests/init.sh.
31763         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
31764         directory and .exe suffix off argv[0] output.
31765
31766         test-fseeko: fix test for mingw
31767         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
31768         than undefining fseek, so test will pass on mingw.
31769
31770 2009-12-05  Bruno Haible  <bruno@clisp.org>
31771
31772         * lib/progname.h (set_program_name): Clarify specification.
31773         * lib/progname.c (set_program_name): Likewise.
31774         Reported by Jim Meyering.
31775
31776 2009-12-05  Jim Meyering  <meyering@redhat.com>
31777
31778         maint.mk: backslash-escape parens in default regexp
31779         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
31780         backslash-escape the literal parentheses.
31781
31782         maint.mk: news-date-check: use grep -E
31783         * top/maint.mk (today): Define a Make variable, not a...
31784         (news-date-check): ...shell variable.
31785         (news-date-regexp): Use the Make variable.
31786         Use grep's -E option.  Change the failing diagnostic to mention
31787         the variable, $(news-date-regexp).
31788
31789 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
31790
31791         maintainer-makefile: allow customization of NEWS entry format
31792         * top/maint.mk (news-date-regexp): New overridable variable.
31793         (news-date-check): Use it.
31794
31795 2009-12-04  Eric Blake  <ebb9@byu.net>
31796
31797         mgetgroups: add xgetgroups, and avoid ENOSYS failures
31798         * lib/mgetgroups.h (xgetgroups): New prototype.
31799         * lib/mgetgroups.c (xgetgroups): New wrapper.
31800         (mgetgroups): Handle ENOSYS.
31801         * modules/mgetgroups (Depends-on): Add realloc.
31802         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
31803
31804         mgetgroups: avoid argument promotion issues with -1
31805         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
31806         for invalid gid_t.
31807         * tests/test-chown.h (getegid, test_chown): Likewise.
31808         * tests/test-lchown.h (getegid, test_lchown): Likewise.
31809
31810 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
31811
31812         exclude: Fix header file problems.
31813         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
31814
31815 2009-12-01  Jim Meyering  <meyering@redhat.com>
31816
31817         fts: fts_open: do not let an empty string cause immediate failure
31818         This is required in support of GNU rm, for which the command
31819         "rm A '' B" must process and remove both A and B, in spite of
31820         the empty string argument.
31821         * lib/fts.c (fts_open): Do not let the presence of an empty string
31822         cause fts_open to fail immediately.  Most fts-using tools must be
31823         able to process all arguments, in order, and can be expected to
31824         diagnose such arguments themselves.
31825
31826 2009-11-30  Eric Blake  <ebb9@byu.net>
31827
31828         utimens: fix compilation error
31829         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
31830         Declare variable at right scope.
31831
31832 2009-11-29  Jim Meyering  <meyering@redhat.com>
31833
31834         bootstrap: handle perl-5.11's changed --version output
31835         * build-aux/bootstrap (get_version): Handle perl separately,
31836         since perl-5.11's --version output is different.
31837
31838 2009-11-28  Jim Meyering  <meyering@redhat.com>
31839
31840         userspec: depend on the inttostr module, too
31841         * modules/userspec (Depends-on): Add inttostr.
31842
31843         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
31844         * lib/userspec.c (parse_with_separator): Do not accept a user ID
31845         number of MAXUID when it evaluates to (uid_t) -1.
31846         Likewise for group ID.  Reported by Matt McCutchen in
31847         <http://savannah.gnu.org/bugs/?28113>
31848
31849         userspec: reformat to use spaces, not TABs
31850         * lib/userspec.c: Expand TABs to spaces.
31851         Add Emacs' "indent-tabs-mode: nil" hint.
31852
31853 2009-11-27  Eric Blake  <ebb9@byu.net>
31854
31855         getopt-gnu: flush out another BSD bug
31856         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
31857         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
31858         flush out BSD bug.
31859         * tests/test-getopt.h (test_getopt): End lists with NULL.
31860         * tests/test-getopt_long.h (test_getopt_long): Likewise.
31861         (test_getopt_long_posix): Enhance test.
31862         * modules/getopt-posix-tests (Depends-on): Add stdbool.
31863         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
31864         getopt-gnu.
31865         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31866         Likewise.
31867
31868 2009-11-27  Simon Josefsson  <simon@josefsson.org>
31869
31870         * modules/idpriv-droptemp-tests (Notice): Fix text.
31871
31872 2009-11-27  Jim Meyering  <meyering@redhat.com>
31873
31874         test-xalloc-die: avoid spurious failure due to libtool argv difference
31875         In a libtool-enabled project, this test would fail due to a difference
31876         in the emitted program name, e.g.,
31877         -test-xalloc-die: memory exhausted
31878         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
31879         Use program to avoid that.
31880         * modules/xalloc-die-tests (Depends-on): Add progname.
31881         * tests/test-xalloc-die.c: Include progname.h".
31882         (program_name): Remove decl.
31883         (main): Call set_program_name.
31884         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
31885
31886 2009-11-26  Richard Jones  <rjones@redhat.com>
31887
31888         w32sock: leave win32 error in place.
31889         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
31890
31891 2009-11-26  Eric Blake  <ebb9@byu.net>
31892
31893         init.sh: suggest to use skip_ and fail_ functions in comments
31894         * tests/init.sh: Add a sentence.
31895
31896 2009-11-25  Bruno Haible  <bruno@clisp.org>
31897
31898         init.sh: add documentation in comments
31899         * tests/init.sh: Add some developer and user documentation.
31900
31901 2009-11-26  Jim Meyering  <meyering@redhat.com>
31902
31903         init.sh: accommodate even those who specify bogus srcdir manually
31904         * tests/init.sh: Normally, srcdir is guaranteed by automake and
31905         configure-time tests to be sanitized, so that there is no need to
31906         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
31907         (with no double quotes) suffices.  However, since tests may be
31908         invoked manually, and since you may explicitly set srcdir to the
31909         name of a directory containing spaces, do quote its uses here.
31910         * tests/test-pread.sh: Likewise.
31911         Suggested by Bruno Haible.
31912
31913         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
31914         * tests/test-pread.sh: Write no data into the pipe, because
31915         test-pread actually reads none.  This avoids a diagnostic,
31916         "bash: echo: write error: Broken pipe", that arises in the unusual
31917         event something is ignoring SIGPIPE, and might be interpreted
31918         as some sort of failure.  Reported by Bruno Haible.
31919
31920 2009-11-25  Jim Meyering  <meyering@redhat.com>
31921
31922         test-pread: cover failure with ESPIPE and EINVAL
31923         * tests/test-pread.c (main): Test for failure, too.
31924         * tests/test-pread.sh: Invoke with stdin on a pipe.
31925         Suggested by Eric Blake.
31926
31927         pread: improvement and fix
31928         * modules/pread (Depends-on): Depend on lseek, for portability to
31929         e.g., mingw.  Suggested by Eric Blake.
31930         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
31931
31932         unistd.in.h: correct declaration of pread
31933         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
31934         Reported by Richard W.M. Jones.
31935
31936         test-pread.sh: distribute the test script
31937         * modules/pread-tests (Files): Include test-pread.sh.
31938
31939         test-pread.sh: clean up
31940         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
31941         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
31942         That is unnecessary, since it's always ".".
31943         Suggestion from Eric Blake.
31944
31945         test-pread.sh: make executable
31946         * tests/test-pread.sh: Set executable bit.
31947         Reported by Eric Blake.
31948
31949         correct typo in test-pread.sh
31950         * tests/test-pread.sh: Add #! line.
31951
31952         test pread
31953         * tests/test-pread.c: New file.
31954         * tests/test-pread.sh: Likewise.
31955         * modules/pread-tests: Likewise.
31956
31957         pread: new module
31958         * modules/pread: New file.
31959         * lib/unistd.in.h (pread): Define/declare.
31960         * lib/pread.c (pread): New file.
31961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
31962         * modules/unistd (Makefile.am): Substitute witnesses.
31963         * doc/posix-functions/pread.texi (pread): Update.
31964         * MODULES.html.sh: Add pread.
31965
31966 2009-11-25  Jim Meyering  <meyering@redhat.com>
31967
31968         tests/init.sh: new file to be used via most *.sh tests
31969         * tests/init.sh: New file.
31970
31971 2009-11-25  Eric Blake  <ebb9@byu.net>
31972
31973         utimens: work around older Linux failure with symlinks
31974         * lib/utimens.c (lutimensat_works_really): New variable.
31975         (fdutimens, lutimens): Use it to manage kernels that support
31976         nanosecond times on files, but not on symlinks.
31977         Reported by OndÅ™ej Vašík.
31978
31979         utimes: fix configure grammar
31980         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
31981
31982 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
31983
31984         regex: Fix fastmap for multibyte character ranges.
31985         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
31986         characters when a multibyte character range is included.
31987
31988 2009-11-22  Andy Wingo  <wingo@pobox.com>
31989
31990         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
31991         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
31992
31993 2009-11-24  Bruno Haible  <bruno@clisp.org>
31994
31995         doc: Most *_l functions exist in MacOS X 10.5.
31996         * doc/posix-functions/duplocale.texi: Update platforms list.
31997         * doc/posix-functions/freelocale.texi: Likewise.
31998         * doc/posix-functions/newlocale.texi: Likewise.
31999         * doc/posix-functions/uselocale.texi: Likewise.
32000         * doc/posix-functions/isalnum_l.texi: Likewise.
32001         * doc/posix-functions/isalpha_l.texi: Likewise.
32002         * doc/posix-functions/isblank_l.texi: Likewise.
32003         * doc/posix-functions/iscntrl_l.texi: Likewise.
32004         * doc/posix-functions/isdigit_l.texi: Likewise.
32005         * doc/posix-functions/isgraph_l.texi: Likewise.
32006         * doc/posix-functions/islower_l.texi: Likewise.
32007         * doc/posix-functions/isprint_l.texi: Likewise.
32008         * doc/posix-functions/ispunct_l.texi: Likewise.
32009         * doc/posix-functions/isspace_l.texi: Likewise.
32010         * doc/posix-functions/isupper_l.texi: Likewise.
32011         * doc/posix-functions/iswalnum_l.texi: Likewise.
32012         * doc/posix-functions/iswalpha_l.texi: Likewise.
32013         * doc/posix-functions/iswblank_l.texi: Likewise.
32014         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32015         * doc/posix-functions/iswctype_l.texi: Likewise.
32016         * doc/posix-functions/iswdigit_l.texi: Likewise.
32017         * doc/posix-functions/iswgraph_l.texi: Likewise.
32018         * doc/posix-functions/iswlower_l.texi: Likewise.
32019         * doc/posix-functions/iswprint_l.texi: Likewise.
32020         * doc/posix-functions/iswpunct_l.texi: Likewise.
32021         * doc/posix-functions/iswspace_l.texi: Likewise.
32022         * doc/posix-functions/iswupper_l.texi: Likewise.
32023         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32024         * doc/posix-functions/isxdigit_l.texi: Likewise.
32025         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
32026         * doc/posix-functions/strcasecmp_l.texi: Likewise.
32027         * doc/posix-functions/strcoll_l.texi: Likewise.
32028         * doc/posix-functions/strfmon_l.texi: Likewise.
32029         * doc/posix-functions/strftime_l.texi: Likewise.
32030         * doc/posix-functions/strncasecmp_l.texi: Likewise.
32031         * doc/posix-functions/strxfrm_l.texi: Likewise.
32032         * doc/posix-functions/tolower_l.texi: Likewise.
32033         * doc/posix-functions/toupper_l.texi: Likewise.
32034         * doc/posix-functions/towctrans_l.texi: Likewise.
32035         * doc/posix-functions/towlower_l.texi: Likewise.
32036         * doc/posix-functions/towupper_l.texi: Likewise.
32037         * doc/posix-functions/wcscoll_l.texi: Likewise.
32038         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32039         * doc/posix-functions/wctrans_l.texi: Likewise.
32040         * doc/posix-functions/wctype_l.texi: Likewise.
32041         * doc/glibc-functions/strptime_l.texi: Likewise.
32042         * doc/glibc-functions/strtod_l.texi: Likewise.
32043         * doc/glibc-functions/strtof_l.texi: Likewise.
32044         * doc/glibc-functions/strtol_l.texi: Likewise.
32045         * doc/glibc-functions/strtold_l.texi: Likewise.
32046         * doc/glibc-functions/strtoll_l.texi: Likewise.
32047         * doc/glibc-functions/strtoul_l.texi: Likewise.
32048         * doc/glibc-functions/strtoull_l.texi: Likewise.
32049         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32050         * doc/glibc-functions/wcstod_l.texi: Likewise.
32051         * doc/glibc-functions/wcstof_l.texi: Likewise.
32052         * doc/glibc-functions/wcstol_l.texi: Likewise.
32053         * doc/glibc-functions/wcstold_l.texi: Likewise.
32054         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32055         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32056         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32057
32058 2009-11-24  Bruno Haible  <bruno@clisp.org>
32059
32060         duplocale: Fix logic bug.
32061         * lib/duplocale.c: Don't include <langinfo.h>.
32062         (_NL_LOCALE_NAME): Remove macro.
32063         (rpl_duplocale): Use setlocale instead of nl_langinfo.
32064         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
32065
32066 2009-11-23  Jim Meyering  <meyering@redhat.com>
32067
32068         test-update-copyright: don't hard-code /usr/bin/perl
32069         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
32070         perl to print the current year.  Gilles Espinasse reported that
32071         the replaced use of perl was hard-coded as /usr/bin/perl.
32072
32073 2009-11-23  Bruno Haible  <bruno@clisp.org>
32074
32075         duplocale: Add support for glibc 2.3.x.
32076         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
32077
32078 2009-11-22  Bruno Haible  <bruno@clisp.org>
32079
32080         vasnprintf: Tiny optimization.
32081         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
32082         MacOS X.
32083
32084 2009-11-22  Bruno Haible  <bruno@clisp.org>
32085
32086         Tests for module 'duplocale'.
32087         * modules/duplocale-tests: New file.
32088         * tests/test-duplocale.c: New file.
32089
32090         New module 'duplocale'.
32091         * m4/duplocale.m4: New file.
32092         * lib/locale.in.h (duplocale): New declaration.
32093         * lib/duplocale.c: New file.
32094         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
32095         gl_LOCALE_H_DEFAULTS): New macros.
32096         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
32097         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
32098         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
32099         REPLACE_DUPLOCALE.
32100         * modules/duplocale: New file.
32101         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
32102
32103 2009-11-22  Bruno Haible  <bruno@clisp.org>
32104
32105         * modules/locale-tests (configure.ac): Test for newlocale function.
32106         * tests/test-locale.c: When the system has extended locale functions,
32107         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
32108
32109         locale: Make locale_t available when possible.
32110         * lib/locale.in.h: Include <xlocale.h> when it exists.
32111         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
32112         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
32113         * modules/locale (Depends-on): Add extensions.
32114         (Makefile.am): Also substitute HAVE_XLOCALE_H.
32115         * doc/posix-headers/locale.texi: Document the problem with locale_t.
32116
32117 2009-11-22  Bruno Haible  <bruno@clisp.org>
32118
32119         Add comments.
32120         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
32121         invocation.
32122         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
32123         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32124         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32125
32126 2009-11-22  Bruno Haible  <bruno@clisp.org>
32127
32128         error: account for the possibility of freopen (stdout).
32129         * lib/error.c: Include <unistd.h>.
32130         (flush_stdout): New function, extracted from error and error_at_line.
32131         Determine stdout's fd dynamically.
32132         (error, error_at_line): Invoke flush_stdout.
32133         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
32134         * modules/error (Depends-on): Add unistd.
32135
32136 2009-11-22  Bruno Haible  <bruno@clisp.org>
32137
32138         diffseq: Add comment.
32139         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
32140
32141 2009-11-22  Jim Meyering  <meyering@redhat.com>
32142
32143         c-stack: avoid defining an unused static function
32144         * lib/c-stack.c (find_stack_direction): Do not define this function
32145         when it will not be used.
32146
32147         diffseq: avoid spurious gcc warnings
32148         * lib/diffseq.h (IF_LINT2): Define.
32149         (compareseq): Use it to initialize two members of "part".
32150         This avoids two used-uninitialized warnings.
32151
32152 2009-11-21  Jim Meyering  <meyering@redhat.com>
32153
32154         c-stack: avoid "ignoring return value of `write'" warning
32155         * lib/c-stack.c: Include "ignore-value.h".
32156         (die): Explicitly ignore each write return value.
32157         * modules/c-stack (Depends-on): Add ignore-value.
32158
32159 2009-11-21  Bruno Haible  <bruno@clisp.org>
32160
32161         diffseq: reduce scope of variable 'best'.
32162         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
32163         variable, earlier used for two different purposes.
32164
32165 2009-11-21  Jim Meyering  <meyering@redhat.com>
32166
32167         diffseq: remove useless assignment to "best"
32168         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
32169         assignment.  At that point "best" is already guaranteed to be zero.
32170
32171 2009-11-20  Eric Blake  <ebb9@byu.net>
32172
32173         build: mention ftp redirector in release announcements
32174         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
32175         values that used to come from cfg.mk; mention FTP redirect URL.
32176         * build-aux/announce-gen: Mention the mirror list.
32177         Suggested by Karl Berry.
32178
32179         nanosleep: improve port to mingw
32180         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
32181         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
32182         LIB_NANOSLEEP, but only when needed.
32183         * modules/select (Link): Document LIBSOCKET.
32184         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
32185         enough.
32186
32187         nanosleep: work around cygwin bug
32188         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
32189         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
32190         bug.
32191         (getnow): Delete, not needed.
32192         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
32193         LIB_CLOCK_GETTIME.
32194         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
32195         clock-time, gettime.
32196         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
32197         bug.
32198         * modules/nanosleep-tests: New test.
32199         * tests/test-nanosleep.c: New file.
32200
32201         sleep: work around cygwin bug
32202         * lib/sleep.c (rpl_sleep): Work around the bug.
32203         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
32204         (gl_PREREQ_SLEEP): Delete unused macro.
32205         * modules/sleep (Depends-on): Add verify.
32206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32207         * modules/unistd (Makefile.am): Substitute witness.
32208         * lib/unistd.in.h (sleep): Update prototype.
32209         * doc/posix-functions/sleep.texi (sleep): Document the bug.
32210         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
32211         * modules/sleep-tests (Depends-on): Check for alarm.
32212
32213 2009-11-20  Jim Meyering  <meyering@redhat.com>
32214
32215         maint.mk: improve sc_prohibit_magic_number_exit
32216         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
32217         so it does not match uses like System.exit(1).
32218         Add comments showing how to correct all offenders.
32219
32220 2009-11-19  Eric Blake  <ebb9@byu.net>
32221
32222         xalloc-die-tests: add missing library
32223         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
32224
32225         test-xvasprintf: silence compiler warnings
32226         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
32227         empty string from gcc.
32228
32229 2009-11-19  Jim Meyering  <meyering@redhat.com>
32230
32231         xfreopen: new module, from coreutils
32232         * modules/xfreopen: New module.
32233         * lib/xfreopen.c: New file.
32234         * lib/xfreopen.h: New file.
32235         * MODULES.html.sh (File stream based Input/Output"): Add it.
32236
32237 2009-11-19  Eric Blake  <ebb9@byu.net>
32238
32239         manywarnings: depend on warnings
32240         * modules/manywarnings (Depends-on): Add warnings.
32241
32242         build: avoid compiler warnings
32243         * lib/select.c (rpl_select): Delete unused variable.
32244         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
32245
32246 2009-11-18  Eric Blake  <ebb9@byu.net>
32247
32248         tests: avoid false negative with --with-packager
32249         * tests/test-version-etc.sh: Discard packager information.
32250         * tests/test-argp-version-etc-1.sh: Likewise.
32251         Reported by Mike Frysinger.
32252
32253         utimens: fix regression on Solaris
32254         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
32255         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
32256         can only change fd timestamps via futimesat.  Instead, use an
32257         additional witness macro to avoid BSD bug.
32258         Reported by Jim Meyering.
32259
32260 2009-11-17  Eric Blake  <ebb9@byu.net>
32261
32262         usleep: use it to simplify tests
32263         * modules/stat-time-tests (Depends-on): Add usleep.
32264         (configure.ac): Drop usleep check.
32265         * modules/chown-tests (Depends-on, configure.ac): Likewise.
32266         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
32267         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
32268         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
32269         * modules/openat-tests (Depends-on, configure.ac): Likewise.
32270         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
32271         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
32272         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
32273         Likewise.
32274         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
32275         * tests/test-lchown.h (nap): Likewise.
32276         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
32277         * tests/test-stat-time.c (nap): Likewise.
32278         * tests/test-utimens-common.h (nap): Update comments.
32279
32280         usleep: new module
32281         * modules/usleep: New file.
32282         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
32283         * lib/usleep.c (usleep): Likewise.
32284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32285         * modules/unistd (Makefile.am): Substitute witnesses.
32286         * lib/unistd.in.h (usleep): Add declaration.
32287         * doc/pastposix-functions/usleep.texi (usleep): Document this.
32288         * MODULES.html.sh (Date and time): Likewise.
32289         * modules/usleep-tests (Depends-on): New test.
32290         * tests/test-usleep.c: New file.
32291
32292         chown: work around OpenBSD bug
32293         * lib/chown.c (rpl_chown): Work around the bug.
32294         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
32295         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
32296         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
32297         * modules/chown (Depends-on): Add stdbool.
32298         * modules/lchown (Depends-on): Likewise.
32299         * doc/posix-functions/chown.texi (chown): Document the bug.
32300         * doc/posix-functions/lchown.texi (lchown): Likewise.
32301         * tests/test-lchown.h (test_chown): Relax test.
32302
32303         mkstemp: avoid conflict with C++ keyword template
32304         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
32305         * lib/mkostemp.c (mkostemp): Likewise.
32306         * lib/mkostemps.c (mkostemps): Likewise.
32307         * lib/mkstemp.c (mkstemp): Likewise.
32308         * lib/mkstemps.c (mkstemps): Likewise.
32309
32310         xalloc-die-tests: optimize
32311         * tests/test-xalloc-die.sh: Reduce number of processes.
32312
32313 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32314
32315         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
32316         patch from ludo@gnu.org (Ludovic Courtès).
32317
32318 2009-11-17  Jim Meyering  <meyering@redhat.com>
32319
32320         version-etc: use proper license string
32321         * modules/version-etc (License): Use LGPL, not LGPLv3+.
32322         * modules/version-etc-fsf: Likewise.
32323
32324 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32325
32326         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
32327         printed to stdout.  Deal with EOL differences.
32328
32329 2009-11-17  Eric Blake  <ebb9@byu.net>
32330
32331         unsetenv: work around Solaris bug
32332         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
32333         * lib/unsetenv.c (rpl_unsetenv): Work around it.
32334         Reported by Jim Meyering.
32335
32336         vasnprintf: avoid compiler warnings
32337         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
32338         variables.
32339         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
32340
32341 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32342
32343         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
32344         settings since xalloc-die is no longer the self test,
32345         xalloc-die.sh is.
32346
32347 2009-11-17  Jim Meyering  <meyering@redhat.com>
32348
32349         test-xalloc-die.sh: make the code agree with the commit log
32350         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
32351         at the end, just in case you happen to have a test-xalloc-die
32352         program in some other PATH directory.
32353
32354         test-xalloc-die.sh: fix a portability bug
32355         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
32356         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
32357         Otherwise, argv[0] (as often seen in diagnostics) would be too
32358         system-dependent, sometimes with, and sometimes without the leading "./".
32359
32360         version-etc-fsf: relax license to LGPLv3+
32361         * modules/version-etc-fsf (License): Relax license.
32362
32363 2009-11-16  Eric Blake  <ebb9@byu.net>
32364
32365         xalloc-die-tests: avoid printing null pointer
32366         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
32367         shell script.
32368         * tests/test-xalloc-die.c (program_name): Declare.
32369         * tests/test-xalloc-die.sh (tmpfiles): New file.
32370
32371         setenv, unsetenv: work around various bugs
32372         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
32373         (setenv) [HAVE_SETENV]: Work around bugs.
32374         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
32375         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
32376         for bugs.
32377         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
32378         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
32379         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
32380         * modules/stdlib (Makefile.am): Update substitutions.
32381         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
32382         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
32383         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32384         * modules/setenv-tests: New test.
32385         * modules/unsetenv-tests: Likewise.
32386         * tests/test-setenv.c: New file.
32387         * tests/test-unsetenv.c: Likewise.
32388
32389 2009-11-16  Jim Meyering  <meyering@redhat.com>
32390
32391         version-etc: relax license to LGPLv3+
32392         * modules/version-etc (License): Relax license.
32393
32394         better AC_REQUIRE expanded-before-required-warning avoidance
32395         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
32396         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
32397         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
32398         which is no longer needed.
32399
32400 2009-11-16  Eric Blake  <ebb9@byu.net>
32401
32402         test-freading: clean up temporary file
32403         * tests/test-freading.c (main): Remove file on success, and use
32404         ASSERT more liberally.
32405         Reported by Jim Meyering.
32406
32407 2009-11-16  Jim Meyering  <meyering@redhat.com>
32408
32409         avoid new AC_REQUIRE expanded-before-required warnings
32410         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
32411         merely using it.
32412         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
32413         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
32414
32415 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32416
32417         * tests/test-xalloc-die.c: New file.
32418         * modules/xalloc-die-tests: New file.
32419         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
32420         XFAIL_TESTS so it can be appended by modules.
32421
32422 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32423
32424         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
32425         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
32426
32427 2009-11-14  Eric Blake  <ebb9@byu.net>
32428
32429         fnmatch: avoid compiler warning
32430         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
32431         to silence compiler warning about mismatch signedness in ?:.
32432         Reported by Robert Millan.
32433
32434         intprops: add double-inclusion guard
32435         * lib/intprops.h: Allow idempotent includes.
32436         Suggested by Bruce Korb.
32437
32438         openat: detect Solaris fchownat bug
32439         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
32440         penalizing glibc chownat when only lchownat is broken.
32441         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
32442         trailing slash bugs.
32443         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
32444         * modules/openat-tests (Files): Include more files.
32445         (Depends-on): Add mgetgroups, sleep, stat-time.
32446         (configure.ac): Add additional checks.
32447         (Makefile.am): Build new test.
32448         * tests/test-fchownat.c: New file.
32449
32450         lchown: detect Solaris and FreeBSD bug
32451         * lib/lchown.c (rpl_lchown): Work around bug.
32452         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
32453         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32454         * modules/unistd (Makefile.am): Populate it.
32455         * lib/unistd.in.h (lchown): Update declaration.
32456         * doc/posix-functions/lchown.texi (lchown): Document the bug.
32457         * modules/lchown-tests: New file.
32458         * tests/test-lchown.h (test_lchown): Likewise.
32459         * tests/test-lchown.c (main): Likewise.
32460
32461         chown: detect Solaris and FreeBSD bug
32462         * lib/chown.c (rpl_chown): Work around bug.
32463         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32464         (gl_PREREQ_CHOWN): Delete.
32465         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32466         * modules/unistd (Makefile.am): Populate it.
32467         * lib/unistd.in.h (chown): Update declaration.
32468         * lib/lchown.c (chown): Update client.
32469         * modules/lchown (Depends-on): Add lstat.
32470         * doc/posix-functions/chown.texi (chown): Document the bug.
32471         * doc/posix-functions/getgroups.texi (getgroups): Document
32472         getgroups pitfall.
32473         * modules/chown-tests: New file.
32474         * tests/test-chown.h (test_chown): Likewise.
32475         * tests/test-chown.c (main): Likewise.
32476
32477 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32478
32479         gnulib-tool: correctly detect absence of m4 directories
32480         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32481
32482 2009-11-14  Jim Meyering  <meyering@redhat.com>
32483
32484         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32485         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32486
32487 2009-11-14  John W. Eaton  <jwe@gnu.org>
32488
32489         strftime.h: wrap funtion declaration in extern "C" block
32490         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32491
32492 2009-11-13  Eric Blake  <ebb9@byu.net>
32493
32494         getgroups: avoid compiler warning
32495         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32496
32497         getgroups: work around FreeBSD bug
32498         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32499         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32500         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32501         * tests/test-getgroups.c (main): Fix buffer overrun.
32502
32503         getgroups: avoid compilation failure
32504         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32505         * modules/getgroups (Depends-on): Add stdint.
32506
32507 2009-11-13  Jim Meyering  <meyering@redhat.com>
32508
32509         test-getgroups: avoid compilation failure
32510         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32511
32512 2009-11-13  Eric Blake  <ebb9@byu.net>
32513
32514         mgetgroups: new module, taken from coreutils
32515         * modules/mgetgroups: New file.
32516         * lib/mgetgroups.h: Likewise.
32517         * lib/mgetgroups.c (mgetgroups): Likewise.
32518         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32519         * MODULES.html.sh (Users and groups): Mention it.
32520
32521         getgroups: don't expose GETGROUPS_T to user
32522         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32523         an element at a time if GETGROUPS_T is wrong size.
32524         * lib/getugroups.h (getugroups): Change signature.
32525         * lib/unistd.in.h (getgroups): Likewise.
32526         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
32527         signature needs fixing.
32528         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
32529         AC_TYPE_GETGROUPS.
32530         * modules/group-member (Depends-on): Add getgroups.
32531         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32532         (group_member): Rely on getgroups replacement.
32533         * lib/getugroups.c (getugroups): Use gid_t.
32534         * tests/test-getgroups.c (main): Likewise.
32535         * NEWS: Mention the signature change.
32536         * doc/posix-functions/getgroups.texi (getgroups): Mention the
32537         problem with signature.
32538         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
32539         GETGROUPS_T is still useful for setgroups.
32540
32541         getgroups, getugroups: provide stubs for mingw
32542         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
32543         * lib/getugroups.c (getugroups): Likewise.
32544         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
32545         function.  Modernize replacement scheme.
32546         (gl_PREREQ_GETGROUPS): Delete.
32547         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
32548         * modules/getgroups (configure.ac): Declare witness.
32549         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32550         * modules/unistd (Depends-on): Substitute witness.
32551         * lib/unistd.in.h (getgroups): Declare replacement.
32552
32553         getgroups: avoid calling exit
32554         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
32555         drop xalloc.
32556         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
32557         dependencies.
32558         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
32559         exiting, in the rare case of malloc failure.
32560
32561         getgroups: fix logic error
32562         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
32563         has more than 20 groups.
32564         * modules/getgroups-tests: New test.
32565         * tests/test-getgroups.c: New file.
32566
32567 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32568
32569         * tests/test-base64.c: Improve.
32570
32571 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32572
32573         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
32574         Blake <ebb9@byu.net>.
32575
32576 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32577
32578         * tests/test-xvasprintf.c: Add %s%s related checks.
32579
32580 2009-11-12  Eric Blake  <ebb9@byu.net>
32581
32582         version-etc: match standards.texi style
32583         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
32584         and use <> only for URLs.
32585
32586 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
32587
32588         fts: do not fail on a submount during traversal
32589         * lib/fts.c (fts_build): Read the stat info again after opening
32590         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
32591         Original report at http://bugzilla.redhat.com/501848.
32592
32593 2009-11-12  Jim Meyering  <meyering@redhat.com>
32594
32595         bootstrap: sync from coreutils
32596         * build-aux/bootstrap (bootstrap_epilogue): New function.
32597         Use git_modules_config in one more place.  This make bootstrap's
32598         --gnulib-srcdir option more useful for testing.
32599
32600         bootstrap: generalize autoheader check
32601         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
32602         AC_CONFIG_HEADERS.
32603
32604 2009-11-11  Eric Blake  <ebb9@byu.net>
32605
32606         mkfifoat: use new modules for Solaris and BSD bugs
32607         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
32608         * lib/mkfifoat.c (mknodat): Split...
32609         * lib/mknodat.c (mknodat): ...into new file.
32610         * modules/mkfifoat (Files): Ship new file.
32611         (Depends-on): Add mkfifo, mknod.
32612         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
32613         (Depends-on): Add symlink.
32614         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
32615         redundant with test_mkfifo.h.
32616         (do_mkfifoat, do_mknodat): New helpers.
32617
32618         mknod: new module
32619         * modules/mknod: New file.
32620         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
32621         * lib/mknod.c (mknod): Likewise.
32622         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32623         defaults.
32624         * modules/sys_stat (Makefile.am): Substitute them.
32625         * lib/sys_stat.in.h (mknod): Declare replacement.
32626         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32627         Document it.
32628         * doc/posix-functions/mknod.texi (mknod): Likewise.
32629         * modules/mknod-tests: New test.
32630         * tests/test-mknod.c: Likewise.
32631
32632         mkfifo: new module
32633         * modules/mkfifo: New file.
32634         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
32635         * lib/mkfifo.c (mkfifo): Likewise.
32636         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32637         defaults.
32638         * modules/sys_stat (Makefile.am): Substitute them.
32639         * lib/sys_stat.in.h (mkfifo): Declare replacement.
32640         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32641         Document it.
32642         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
32643         * modules/mkfifo-tests: New test.
32644         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
32645         from test-mkfifoat.c.
32646         * tests/test-mkfifo.c: New file.
32647
32648         readlink: detect FreeBSD bug
32649         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
32650         slash on symlink.
32651         * doc/posix-functions/readlink.texi (readlink): Document the bug.
32652         * tests/test-readlink.h (test_readlink): Enhance test.
32653
32654         symlink: detect FreeBSD bug
32655         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
32656         slash on symlink.
32657         * doc/posix-functions/symlink.texi (symlink): Document the bug.
32658         * tests/test-symlink.h (test_symlink): Enhance test.
32659
32660 2009-11-10  Eric Blake  <ebb9@byu.net>
32661
32662         link: detect FreeBSD bug
32663         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
32664         symlink.
32665         * doc/posix-functions/link.texi (link): Document the bug.
32666         * tests/test-link.h (test_link): Enhance test.
32667         * tests/test-linkat.c (main): Update caller.
32668
32669         unlink, remove: detect FreeBSD bug
32670         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
32671         slash on symlink.
32672         * doc/posix-functions/unlink.texi (unlink): Document the bug.
32673         * doc/posix-functions/remove.texi (remove): Likewise.
32674         * tests/test-unlink.h (test_unlink): Enhance test.
32675         * tests/test-remove.c (main): Likewise.
32676
32677 2009-11-09  Eric Blake  <ebb9@byu.net>
32678
32679         rename: detect FreeBSD bug
32680         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
32681         slash on symlink.
32682         * modules/renameat-tests (Depends-on): Add filenamecat.
32683         * tests/test-rename.h (test_rename): Allow one more errno.
32684         * tests/test-renameat.c (main): Likewise.
32685         * doc/posix-functions/rename.texi (rename): Document the bug.
32686
32687         open: detect FreeBSD bug
32688         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
32689         symlink.
32690         * doc/posix-functions/open.texi (open): Document the bug.
32691         * doc/posix-functions/utimes.texi (utimes): Likewise.
32692         * tests/test-open.h (test_open): Add parameters, and test symlink
32693         handling.
32694         * tests/test-open.c (main): Adjust caller.
32695         * tests/test-fcntl-safer.c (main): Likewise.
32696         * modules/open-tests (Depends-on): Add stdbool, symlink.
32697         * modules/fcntl-safer-tests (Depends-on): Likewise.
32698         * tests/test-openat.c (main): Add test-open tests.
32699
32700         stat: detect FreeBSD bug
32701         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
32702         symlink.
32703         * doc/posix-functions/stat.texi (stat): Document the bug.
32704         * tests/test-stat.h (test_stat_func): Add argument.
32705         * tests/test-stat.c (main): Adjust caller.
32706         * tests/test-fstatat.c (main): Likewise.
32707         * modules/stat-tests (Depends-on): Add stdbool, symlink.
32708         Reported by Jim Meyering.
32709
32710 2009-11-09  James Youngman  <jay@gnu.org>
32711
32712         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
32713         * lib/strftime.c: Correct placement of #include "ignore-value.h".
32714
32715 2009-11-08  Jim Meyering  <meyering@redhat.com>
32716
32717         utimens: remove invalid futimesat call
32718         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
32719         It used the file descriptor of the target file as the DIR_FD
32720         parameter and NULL as the file name.  That caused failure with
32721         errno == EFAULT on FreeBSD-8.0-rc2
32722
32723 2009-11-07  Eric Blake  <ebb9@byu.net>
32724
32725         fflush, freadseek: use fseeko, not fseek
32726         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
32727         (clear_ungetc_buffer): Avoid potential problems on large files.
32728         * lib/freadseek.c (freadseek): Likewise.
32729         * modules/freadseek (Depends-on): Add fseeko.
32730         * modules/fseek (configure.ac): Set a witness.
32731         * tests/test-fflush.c (main): Use fseeko.
32732         * tests/test-fpurge.c (fseek): Disable link warning.
32733         * tests/test-freadable.c (fseek): Likewise.
32734         * tests/test-freading.c (fseek): Likewise.
32735         * tests/test-fseeko.c (fseek): Likewise.
32736         * tests/test-ftell.c (fseek): Likewise.
32737         * tests/test-ftello.c (fseek): Likewise.
32738         * tests/test-fwritable.c (fseek): Likewise.
32739         * tests/test-fwriting.c (fseek): Likewise.
32740
32741 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32742
32743         * modules/memchr (Depends-on): Drop getpagesize dependency.
32744
32745 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32746
32747         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
32748         Reported by Ludovic Courtès.
32749         * build-aux/pmccabe2html: Improve example usage.
32750         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
32751
32752 2009-11-06  Jim Meyering  <meyering@redhat.com>
32753
32754         do-release-commit-and-tag: New module.
32755         Automate the release-commit and tag process.
32756         * build-aux/do-release-commit-and-tag: New script, from coreutils.
32757         * modules/do-release-commit-and-tag: New file.
32758         * MODULES.html.sh (Support for maintaining and releasing): Add it.
32759
32760 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32761
32762         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
32763         because test-select.c uses inet_pton.
32764
32765 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32766
32767         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
32768         GETADDRINFO_LIB.  Bump serial number.
32769         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
32770         Suggested by Eric Blake <ebb9@byu.net>.
32771
32772 2009-11-05  Eric Blake  <ebb9@byu.net>
32773
32774         strtod: detect darwin bug
32775         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
32776         Reported by Leo Davis.
32777
32778         freopen-safer: new module
32779         * modules/freopen-safer: New module.
32780         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
32781         * lib/freopen-safer.c (freopen_safer): New file.
32782         * lib/stdio-safer.h (freopen_safer): New declaration.
32783         * lib/stdio--.h (freopen): New override.
32784         * MODULES.html.sh (File stream based Input/Output): Mention it.
32785         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
32786         freopen-safer module.
32787         * doc/posix-functions/stderr.texi (stderr): Likewise.
32788         * doc/posix-functions/stdin.texi (stdin): Likewise.
32789         * doc/posix-functions/stdout.texi (stdout): Likewise.
32790         * modules/freopen-safer-tests: New test.
32791         * tests/test-reopen-safer.c: New file.
32792
32793 2009-11-05  Jim Meyering  <meyering@redhat.com>
32794
32795         maint.mk: Prohibit inclusion of "close-stream.h" without use.
32796         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32797
32798 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32799
32800         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
32801
32802 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32803
32804         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
32805
32806 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32807
32808         Fix link error.
32809         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32810         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32811
32812 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32813
32814         * tests/test-func.c: Also test value of __func__.
32815
32816 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32817
32818         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
32819         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
32820
32821 2009-11-05  Bruno Haible  <bruno@clisp.org>
32822
32823         Fix link error.
32824         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32825         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32826         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
32827
32828 2009-11-05  Bruno Haible  <bruno@clisp.org>
32829
32830         Tests for module 'inet_pton'.
32831         * modules/inet_pton-tests: New file.
32832         * tests/test-inet_pton.c: New file.
32833
32834 2009-11-05  Bruno Haible  <bruno@clisp.org>
32835
32836         Tests for module 'inet_ntop'.
32837         * modules/inet_ntop-tests: New file.
32838         * tests/test-inet_ntop.c: New file.
32839
32840 2009-11-04  Eric Blake  <ebb9@byu.net>
32841
32842         stdlib-safer: wrap all mkstemp variants
32843         * modules/mkostemp (configure.ac): Set witness.
32844         * modules/mkostemps (configure.ac): Likewise.
32845         * modules/mkstemps (configure.ac): Likewise.
32846         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
32847         (mkstemps_safer): Wrap more functions.
32848         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
32849         wrapping.
32850         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
32851         (mkstemps_safer): Implement the wrappers.
32852
32853         mkstemps, mkostemps: new modules
32854         * modules/mkostemps: New module.
32855         * modules/mkstemps: Likewise.
32856         * lib/mkostemps.c (mkostemps): New file.
32857         * lib/mkstemps.c (mkstemps): Likewise.
32858         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
32859         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
32860         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
32861         * modules/stdlib (Makefile.am): Substitute them.
32862         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
32863         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
32864         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
32865         * doc/gnulib.texi (Glibc stdlib.h): Include them.
32866         * MODULES.html.sh (File system functions): Mention them.
32867
32868         tempname: resync from glibc
32869         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
32870         same values for __GT_FILE as glibc.  Abort even when assertions
32871         are disabled.
32872         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
32873         match its value otherwise.  Allow idempotent inclusion.
32874         * lib/mkdtemp.c (mkdtemp): Adjust caller.
32875         * lib/mkostemp.c (mkostemp): Likewise.
32876         * lib/mkstemp.c (mkstemp): Likewise.
32877         * lib/tmpfile.c (tmpfile): Likewise.
32878         * NEWS: Document this.
32879
32880         utimens: fix use of futimens on older Linux
32881         * lib/utimens.c (fdutimens): Use updated, rather than original,
32882         timespec to avoid bug in older Linux kernel.
32883         Reported by Simon Josefsson.
32884
32885 2009-11-04  Bruno Haible  <bruno@clisp.org>
32886
32887         Make num_processors more flexible and consistent.
32888         * lib/nproc.h (enum nproc_query): New type.
32889         (num_processors): Add a 'query' argument.
32890         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
32891         (num_processors): Add a 'query' argument. Test the value of the
32892         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
32893         mingw, count the number of CPUs available for the current process.
32894         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
32895         Check for sched_getaffinity and sched_getaffinity_np.
32896         * modules/nproc (Depends-on): Add c-ctype, extensions.
32897         * NEWS: Mention the change.
32898
32899 2009-11-03  Bruno Haible  <bruno@clisp.org>
32900
32901         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
32902
32903 2009-11-03  Jim Meyering  <meyering@redhat.com>
32904
32905         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
32906         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
32907         if it is defined.
32908
32909 2009-11-02  Eric Blake  <ebb9@byu.net>
32910
32911         mktime, timegm: share common declaration
32912         * lib/mktime-internal.h: New file.
32913         * lib/mktime.c: Use it rather than open-coding a declaration.
32914         * lib/timegm.c: Likewise.
32915         * modules/mktime (Files): Ship it.
32916         * modules/timegm (Files): Likewise.
32917         Suggested by Bruno Haible.
32918
32919         test-update-copyright: update test to match script changes
32920         * tests/test-update-copyright.sh: Avoid hard-coding perl
32921         location.  Don't update *.bak created by earlier runs.
32922
32923 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32924             Simon Josefsson  <simon@josefsson.org>
32925             Bruno Haible  <bruno@clisp.org>
32926
32927         Fix link error on Solaris 8.
32928         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
32929         also in libnsl. Define also INET_PTON_LIB.
32930         * modules/inet_pton (Link): New section.
32931
32932 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32933             Bruno Haible  <bruno@clisp.org>
32934
32935         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
32936         * modules/inet_ntop (Link): New section.
32937         Reported by Boyan Kasarov <bkasarov@gmail.com>.
32938
32939 2009-11-02  Eric Blake  <ebb9@byu.net>
32940
32941         maint: avoid compiler warnings in m4 macros
32942         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
32943         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
32944
32945 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32946
32947         * m4/pmccabe2html.m4: Remove file.
32948         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
32949         function.  Change maintainer.
32950         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
32951         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
32952         Courtès).
32953
32954 2009-10-31  Eric Blake  <ebb9@byu.net>
32955
32956         fseeko: fix m4 regression
32957         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
32958         regression from 2009-10-27.
32959         Reported by Ralf Wildenhues.
32960
32961 2009-10-31  Jim Meyering  <meyering@redhat.com>
32962
32963         inttostr: aesthetics and improved (compile-time) safety
32964         Define inttype_is_signed rather than inttype_is_unsigned,
32965         since the sole use is via "#if inttype_is_signed".
32966         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
32967         inttype_is_unsigned.
32968         * lib/offtostr.c (inttype_is_signed): Likewise.
32969         * lib/uinttostr.c (inttype_is_signed): Likewise.
32970         * lib/umaxtostr.c (inttype_is_signed): Likewise.
32971         * lib/inttostr.c (inttostr): Use verify to cross-check the
32972         inttype_is_signed value and the signedness of the actual type.
32973         * modules/inttostr (Depends-on): Add verify.
32974
32975 2009-10-30  Eric Blake  <ebb9@byu.net>
32976
32977         build: avoid compiler warnings
32978         * lib/fchmodat.c (lchmod): Mark unused variables.
32979         * lib/getopt.c (_getopt_initialize): Likewise.
32980         * lib/mktime.c (__mktime_internal): Provide prototype.
32981         * lib/inttostr.c (inttostr): Avoid compiler warning even with
32982         older gcc that do not understand #pragma GCC diagnostic.
32983         * lib/uinttostr.c (inttype_is_unsigned): Define.
32984         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
32985
32986 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
32987
32988         stat: fix compilation on AIX
32989         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
32990         only see struct stat64.
32991
32992 2009-10-30  Eric Blake  <ebb9@byu.net>
32993
32994         exclude: make more robust
32995         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
32996         rather than masking a coding bug.
32997         Suggested by Bruno Haible.
32998
32999 2009-10-30  Jim Meyering  <meyering@redhat.com>
33000
33001         perl scripts: remove #!/usr/bin/perl in favor of more portable...
33002         Rather than putting #!/usr/bin/perl on the first line,
33003         start with a variant of what's recommended by "man perlrun" that
33004         invokes the first "perl" program from your shell's search path.
33005         * build-aux/gitlog-to-changelog: Replace #!... as above.
33006         Add a "Local Variables" perl mode setting.
33007         Prompted by a patch from Ludovic Courtès.
33008         Improved by Eric Blake.
33009         * build-aux/useless-if-before-free: Likewise.
33010         * build-aux/announce-gen: Likewise.
33011         * build-aux/update-copyright: Likewise.
33012
33013 2009-10-29  Eric Blake  <ebb9@byu.net>
33014
33015         filenamecat-lgpl: adjust clients
33016         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
33017         filenamecat.
33018         * modules/renameat (Depends-on): Likewise.
33019
33020         filenamecat: split into filenamecat-lgpl
33021         * modules/filenamecat-lgpl: New module.
33022         * modules/filenamecat (Files): Move library-safe files into
33023         filenamecat-lgpl.
33024         (Depends-on): Add filenamecat-lgpl.
33025         (configure.ac): Declare witness.
33026         * lib/filenamecat.h (file_name_concat): Only declare when using
33027         GPL module.
33028         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
33029         Move...
33030         * lib/filenamecat-lgpl.c: ...into new file.
33031         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
33032         (gl_FILE_NAME_CONCAT): Use it.
33033         * MODULES.html.sh (File system functions): Mention new module.
33034
33035         argp: avoid memory leak
33036         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
33037         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
33038         base_name, since the latter malloc()s and can call exit().
33039         Leak introduced 2006-07-03.
33040
33041         dirname-lgpl: adjust clients that don't need full dirname
33042         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
33043         * modules/filenamecat (Depends-on): Likewise.
33044         * modules/linkat (Depends-on): Likewise.
33045         * modules/mkancesdirs (Depends-on): Likewise.
33046         * modules/mkdir (Depends-on): Likewise.
33047         * modules/openat (Depends-on): Likewise.
33048         * modules/savewd (Depends-on): Likewise.
33049         * modules/rename (Depends-on): Likewise.
33050         (License): Relax license.
33051         * modules/mkdir-tests (Depends-on): Drop progname.
33052         (Makefile.am): Delete unneeded LDADD.
33053         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
33054
33055         dirname: split into dirname-lgpl
33056         * modules/dirname-lgpl: New module.
33057         * modules/dirname (Files): Move library-safe files into
33058         dirname-lgpl.
33059         (Depends-on): Add dirname-lgpl.
33060         (configure.ac): Declare witness.
33061         * modules/double-slash-root (License): Relax license.
33062         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
33063         module.
33064         * lib/dirname.c (dir_len, mdir_name): Move...
33065         * lib/dirname-lgpl.c: ...into new file.
33066         * lib/basename.c (last_component, base_len): Move...
33067         * lib/basename-lgpl.c: ...into new file.
33068         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
33069         (gl_DIRNAME): Use it.
33070         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
33071         Mention new module.
33072         * modules/dirname-tests (Depends-on): Add progname.
33073         * tests/test-dirname.c (program_name): Delete.
33074
33075         mkdir: make safe for libraries
33076         * modules/mkdir (Depends-on): Drop xalloc.
33077         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
33078         exit.
33079
33080         tests: avoid some compiler warnings
33081         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
33082         literals.
33083         * tests/test-memchr.c (main): Avoid type mismatch.
33084         * tests/test-arpa_inet.c (main): Avoid unused parameters.
33085         * tests/test-base64.c (main): Likewise.
33086         * tests/test-getdelim.c (main): Likewise.
33087         * tests/test-gethostname.c (main): Likewise.
33088         * tests/test-getline.c (main): Likewise.
33089         * tests/test-netinet_in.c (main): Likewise.
33090         * tests/test-select.c (open_server_socket, main): Likewise.
33091         * tests/test-select-stdin.c (main): Likewise.
33092         * tests/test-sockets.c (main): Likewise.
33093         * tests/test-strsignal.c (main): Likewise.
33094         * tests/test-sys_select.c (main): Likewise.
33095         * tests/test-sys_socket.c (main): Likewise.
33096         * tests/test-u64.c (main): Likewise.
33097         * tests/test-xfprintf-posix.c (main): Likewise.
33098         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
33099
33100         sockets: avoid compiler warning
33101         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
33102
33103         maint: detect usage(1) and other suspicious exits
33104         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
33105
33106 2009-10-29  Jim Meyering  <meyering@redhat.com>
33107
33108         timespec: long-to-int truncation could make timespec_cmp malfunction
33109         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
33110         a multiple of 2^32 nanoseconds as no difference.
33111
33112 2009-10-28  Jim Meyering  <meyering@redhat.com>
33113
33114         fprintftime: wrap macro code argument in "do {...} while(0)"
33115         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
33116         cpy macro must be a statement that can be followed by a semicolon.
33117         Now that the else clause contains a comment and is hence longer
33118         than one line, I require curly braces.  That in turn requires
33119         that we wrap this code block in the standard do...while(0).
33120
33121         fprintftime: remove stray semicolon from previous change
33122         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
33123
33124         fprintftime: avoid a warning about ignored fwrite return value
33125         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
33126         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
33127         that is unsafe.
33128         * modules/fprintftime (Depends-on): Add ignore-value.
33129
33130         exclude: avoid an unwarranted warning
33131         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
33132
33133 2009-10-27  Eric Blake  <ebb9@byu.net>
33134
33135         fseek: avoid compilation failure when fflush is replaced
33136         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
33137         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
33138         module is in use.
33139         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
33140         module is not in use; since REPLACE_FSEEK worked otherwise.
33141         (GNULIB_FTELLO): Likewise for ftell.
33142         Reported by Ian Beckwith and others.
33143
33144 2009-10-27  Bruno Haible  <bruno@clisp.org>
33145
33146         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
33147         Reported by Jim Meyering.
33148
33149 2009-10-27  Jim Meyering  <jim@meyering.net>
33150             Bruno Haible  <bruno@clisp.org>
33151
33152         Avoid warning despite dropping the return value of fwrite.
33153         * lib/unicodeio.c: Include ignore-value.h.
33154         (fwrite_success_callback): Explicitly ignore fwrite's return value.
33155         * modules/unicodeio (Depends-on): Add ignore-value.
33156
33157 2009-10-26  Eric Blake  <ebb9@byu.net>
33158
33159         areadlinkat: fix fallback path
33160         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
33161         pointer and zero.
33162
33163 2009-10-22  Pádraig Brady  <P@draigBrady.com>
33164
33165         Use a better IO block size for modern systems
33166         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
33167         * lib/md2.c: Likewise.
33168         * lib/md4.c: Likewise.
33169         * lib/md5.c: Likewise.
33170         * lib/sha1.c: Likewise.
33171         * lib/sha256.c: Likewise.
33172         * lib/sha512.c: Likewise.
33173
33174 2009-10-22  Eric Blake  <ebb9@byu.net>
33175
33176         tests: avoid several compiler warnings
33177         * tests/test-getcwd.c (main): Avoid buffer underflow.
33178         * tests/test-getdate.c (main): String literals are not safe with
33179         putenv, so use setenv.  Declare unused argument.
33180         * modules/getdate-tests (Depends-on): Add setenv.
33181         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
33182         problems with string literals in char *.
33183         * tests/test-hash.c (main): Avoid shadowing declaration.
33184         (insert_new): Treat string literals as char const *.
33185         * tests/test-getopt.h (test_getopt): Likewise.
33186         (getopt_loop): Alter types to minimize casting elsewhere.
33187         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
33188         (test_getopt_long_posix): Likewise.
33189         (do_getopt_long): Add wrapper to minimize casting.
33190         * tests/test-atexit.c (clear_temp_file): Use void.
33191         * tests/test-areadlink-with-size.c (main): Declare unused
33192         arguments.
33193         * tests/test-areadlink.c (main): Likewise.
33194         * tests/test-areadlinkat-with-size.c (main): Likewise.
33195         * tests/test-areadlinkat.c (main): Likewise.
33196         * tests/test-canonicalize-lgpl.c (main): Likewise.
33197         * tests/test-canonicalize.c (main): Likewise.
33198         * tests/test-dirent-safer.c (main): Likewise.
33199         * tests/test-dirname.c (main): Likewise.
33200         * tests/test-dup2.c (main): Likewise.
33201         * tests/test-fchdir.c (main): Likewise.
33202         * tests/test-fcntl-h.c (main): Likewise.
33203         * tests/test-fcntl-safer.c (main): Likewise.
33204         * tests/test-fdopendir.c (main): Likewise.
33205         * tests/test-fdutimensat.c (main): Likewise.
33206         * tests/test-fflush.c (main): Likewise.
33207         * tests/test-filenamecat.c (main): Likewise.
33208         * tests/test-filevercmp.c (main): Likewise.
33209         * tests/test-fopen-safer.c (main): Likewise.
33210         * tests/test-fopen.c (main): Likewise.
33211         * tests/test-fpending.c (main): Likewise.
33212         * tests/test-fpurge.c (main): Likewise.
33213         * tests/test-freading.c (main): Likewise.
33214         * tests/test-fstatat.c (main): Likewise.
33215         * tests/test-fsync.c (main): Likewise.
33216         * tests/test-futimens.c (main): Likewise.
33217         * tests/test-getndelim2.c (main): Likewise.
33218         * tests/test-gettimeofday.c (main): Likewise.
33219         * tests/test-getopt.c (main): Likewise.
33220         * tests/test-i-ring.c (main): Likewise.
33221         * tests/test-inttypes.c (main): Likewise.
33222         * tests/test-link.c (main): Likewise.
33223         * tests/test-lstat.c (main): Likewise.
33224         * tests/test-math.c (main): Likewise.
33225         * tests/test-md5.c (main): Likewise.
33226         * tests/test-memchr2.c (main): Likewise.
33227         * tests/test-memrchr.c (main): Likewise.
33228         * tests/test-mkdir.c (main): Likewise.
33229         * tests/test-mkdirat.c (main): Likewise.
33230         * tests/test-mkfifoat.c (main): Likewise.
33231         * tests/test-open.c (main): Likewise.
33232         * tests/test-openat-safer.c (main): Likewise.
33233         * tests/test-openat.c (main): Likewise.
33234         * tests/test-quotearg.c (main): Likewise.
33235         * tests/test-rawmemchr.c (main): Likewise.
33236         * tests/test-readlink.c (main): Likewise.
33237         * tests/test-remove.c (main): Likewise.
33238         * tests/test-rename.c (main): Likewise.
33239         * tests/test-renameat.c (main): Likewise.
33240         * tests/test-rmdir.c (main): Likewise.
33241         * tests/test-sha1.c (main): Likewise.
33242         * tests/test-signal.c (main): Likewise.
33243         * tests/test-sigaction.c (main): Likewise.
33244         * tests/test-stat.c (main): Likewise.
33245         * tests/test-stat-time.c (main): Likewise.
33246         * tests/test-stddef.c (main): Likewise.
33247         * tests/test-stdint.c (main): Likewise.
33248         * tests/test-stdio.c (main): Likewise.
33249         * tests/test-stdlib.c (main): Likewise.
33250         * tests/test-strchrnul.c (main): Likewise.
33251         * tests/test-strerror.c (main): Likewise.
33252         * tests/test-string.c (main): Likewise.
33253         * tests/test-strtod.c (main): Likewise.
33254         * tests/test-strverscmp.c (main): Likewise.
33255         * tests/test-symlink.c (main): Likewise.
33256         * tests/test-symlinkat.c (main): Likewise.
33257         * tests/test-sys_stat.c (main): Likewise.
33258         * tests/test-sys_time.c (main): Likewise.
33259         * tests/test-time.c (main): Likewise.
33260         * tests/test-unistd.c (main): Likewise.
33261         * tests/test-unlink.c (main): Likewise.
33262         * tests/test-unlinkat.c (main): Likewise.
33263         * tests/test-utimens.c (main): Likewise.
33264         * tests/test-utimensat.c (main): Likewise.
33265         * tests/test-version-etc.c (main): Likewise.
33266         * tests/test-wchar.c (main): Likewise.
33267         * tests/test-wctype.c (main): Likewise.
33268         * tests/test-xprintf-posix.c (main): Likewise.
33269         * tests/test-posixtm.c (main): Likewise.
33270         (STREQ): Delete unused macro.
33271         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
33272         shadowed variables.
33273         * tests/test-memchr.c (main): Likewise.
33274
33275 2009-10-21  Eric Blake  <ebb9@byu.net>
33276
33277         areadlinkat: avoid failure on older glibc
33278         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
33279         rather than mis-comparing 0 against FUNC_RESULT of char*.
33280
33281 2009-10-21  Bruno Haible  <bruno@clisp.org>
33282
33283         * modules/stpncpy (License): Relicense under LGPLv2+.
33284         Reported by David Lutterkort <lutter@redhat.com>.
33285
33286 2009-10-20  Eric Blake  <ebb9@byu.net>
33287
33288         utimensat: work around Solaris 9 bug
33289         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
33290         has trailing slash bugs.
33291         * tests/test-lutimens.h (test_lutimens): Enhance test.
33292         * tests/test-utimens.h (test_utimens): Likewise.
33293         * doc/posix-functions/utime.texi (utime): Enhance documentation.
33294         * doc/posix-functions/utimes.texi (utimes): Likewise.
33295         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33296         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
33297         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
33298         * doc/posix-functions/futimens.texi (futimens): Likewise.
33299
33300         fdutimensat: new module
33301         * modules/fdutimensat: New file.
33302         * lib/fdutimensat.c (fdutimensat): Likewise.
33303         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
33304         * MODULES.html.sh (File system functions): Mention module.
33305         * modules/fdutimensat-tests: New test.
33306         * tests/test-fdutimensat.c: Likewise.
33307
33308         doc: regenerate INSTALL
33309         * doc/INSTALL: Reflect recent autoconf update.
33310         * doc/INSTALL.ISO: Likewise.
33311         * doc/INSTALL.UTF-8: Likewise.
33312
33313 2009-10-20  Pádraig Brady  <P@draigBrady.com>
33314
33315         acl: warn if ACL support is not detected
33316         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
33317
33318 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
33319
33320         * lib/nproc.h: Add extern "C" block for C++.
33321
33322 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
33323             Bruno Haible  <bruno@clisp.org>
33324
33325         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
33326         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
33327         * doc/posix-functions/isalpha.texi: Likewise.
33328         * doc/posix-functions/isblank.texi: Likewise.
33329         * doc/posix-functions/iscntrl.texi: Likewise.
33330         * doc/posix-functions/isdigit.texi: Likewise.
33331         * doc/posix-functions/isgraph.texi: Likewise.
33332         * doc/posix-functions/islower.texi: Likewise.
33333         * doc/posix-functions/isprint.texi: Likewise.
33334         * doc/posix-functions/ispunct.texi: Likewise.
33335         * doc/posix-functions/isspace.texi: Likewise.
33336         * doc/posix-functions/isupper.texi: Likewise.
33337         * doc/posix-functions/isxdigit.texi: Likewise.
33338
33339 2009-10-18  Bruno Haible  <bruno@clisp.org>
33340
33341         Tests for module 'isblank'.
33342         * modules/isblank-tests: New file.
33343         * tests/test-isblank.c: New file.
33344
33345         New module 'isblank'.
33346         * lib/isblank.c: New file.
33347         * m4/isblank.m4: New file.
33348         * modules/isblank: New file.
33349         * doc/posix-functions/isblank.texi: Mention the new module.
33350
33351 2009-10-18  Bruno Haible  <bruno@clisp.org>
33352
33353         New module 'ctype'.
33354         * lib/ctype.in.h: New file.
33355         * m4/ctype.m4: New file.
33356         * modules/ctype: New file.
33357         * doc/posix-headers/ctype.texi: Mention the new module.
33358
33359 2009-10-18  Jim Meyering  <meyering@redhat.com>
33360
33361         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
33362         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
33363         right after its initialization, rather than farther down.
33364         Keeping these in close proximity makes it easier to ensure
33365         that each such variable is initialized.  E.g.,
33366
33367             LIB_CLOCK_GETTIME=
33368             AC_SUBST([LIB_CLOCK_GETTIME])
33369
33370         This change also increments these serial numbers.
33371         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
33372         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33373         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33374
33375 2009-10-18  Bruno Haible  <bruno@clisp.org>
33376
33377         Don't let environment variables perturb build.
33378         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
33379         (gl_PREREQ_GETHRXTIME): ... not here.
33380
33381 2009-10-18  Bruno Haible  <bruno@clisp.org>
33382
33383         Avoid symlink attack in localcharset module.
33384         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
33385         (O_NOFOLLOW): Define fallback.
33386         (get_charset_aliases): Don't open the file if it is a symbolic link.
33387         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
33388         gl_FCNTL_H.
33389         (gl_FCNTL_H): Require it.
33390         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
33391         * modules/localcharset (Files): Add m4/fcntl_h.m4.
33392         Reported by Fergal Glynn <fglynn@veracode.com>.
33393
33394 2009-10-18  Bruno Haible  <bruno@clisp.org>
33395
33396         Implement nproc for mingw.
33397         * lib/nproc.c: Include <windows.h>
33398         (num_processors): On native Windows platforms, try GetSystemInfo.
33399
33400 2009-10-18  Bruno Haible  <bruno@clisp.org>
33401
33402         Implement nproc for IRIX.
33403         * lib/nproc.c: Include <sys/sysmp.h>.
33404         (num_processors): On IRIX systems, try sysmp.
33405         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
33406
33407 2009-10-18  Bruno Haible  <bruno@clisp.org>
33408
33409         Implement nproc for HP-UX.
33410         * lib/nproc.c: Include <sys/pstat.h>
33411         (num_processors): On HP-UX systems, try pstat_getdynamic.
33412         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
33413         pstat_getdynamic.
33414
33415 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
33416             Bruno Haible  <bruno@clisp.org>
33417
33418         Implement nproc for NetBSD, OpenBSD.
33419         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
33420         (ARRAY_SIZE): New macro.
33421         (num_processors): On BSD systems, try sysctl of HW_NCPU.
33422         * m4/nproc.m4: New file.
33423         * modules/nproc (Files): Add m4/nproc.m4.
33424         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
33425         (Makefile.am): Instead, augment lib_SOURCES.
33426
33427 2009-10-18  Bruno Haible  <bruno@clisp.org>
33428
33429         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
33430         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
33431         sys/param.h.
33432
33433 2009-10-16  Eric Blake  <ebb9@byu.net>
33434
33435         utimensat: new module
33436         * modules/utimensat: New file.
33437         * lib/utimensat.c (utimensat): Likewise.
33438         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33439         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
33440         so we can work around Linux bugs.
33441         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33442         * modules/sys_stat (Makefile.am): Substitute them.
33443         * lib/sys_stat.in.h (utimensat): Declare it.
33444         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33445         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33446         * modules/utimensat-tests: New test.
33447         * tests/test-utimensat.c: Likewise.
33448
33449         utimens: let lutimens work on non-symlinks
33450         * lib/utimens.c (lutimens): Fall back to utimens rather than
33451         failing with ENOSYS, when file is not a symlink.
33452         (utimens): Reduce redirection.
33453         * tests/test-lutimens.h (test_lutimens): Update test to cover
33454         non-symlinks.
33455         * tests/test-utimens.h (test_utimens): Update test to cover
33456         symlinks.
33457         * tests/test-utimens.c (main): Update caller.
33458
33459         utimens: cache whether utimensat syscall works
33460         * lib/utimens.c (utimensat_works_really): New cache variable.
33461         (fdutimens, lutimens): Use it to avoid failing syscall.
33462
33463         test-stat-time, test-utimens: improve portability
33464         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33465         ext4 on alpha, and for cygwin.
33466         * tests/test-utimens-common.h: New file.
33467         (nap): Factor delays into single function.
33468         * tests/test-lutimens.h (test_lutimens): Use new header.
33469         * tests/test-futimens.h (test_futimens): Likewise.
33470         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33471         timestamps to occur from same machine, as was done previously for
33472         test_utimens.
33473         * modules/utimens-tests (Files): Ship new file.
33474         * modules/futimens-tests (Files): Likewise.
33475         Reported in part by Jim Meyering.
33476
33477         sys_stat: sort replacement declarations
33478         * lib/sys_stat.in.h: Sort declarations.
33479         * lib/futimens.c (futimens): Fix typo.
33480
33481 2009-10-15  Jim Meyering  <meyering@redhat.com>
33482
33483         don't let environment settings perturb build
33484         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33485         could cause a configure-time and/or build-time malfunction.
33486         Typically, a configure-time function-in-library test is performed
33487         via code like this:
33488
33489           LIB_VAR=
33490           AC_SUBST([LIB_VAR])
33491           prefix_saved_LIBS=$LIBS
33492             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33493                        [test "$ac_cv_search_FUNC" = "none required" ||
33494                         LIB_VAR=$ac_cv_search_FUNC])
33495           LIBS=$prefix_saved_LIBS
33496
33497         However, in each of the files affected by this change, the LIB_VAR=
33498         initialization was omitted.  Thus, when set in the environment, its
33499         value would propagate into generated Makefiles when FUNC is not found
33500         in LIB_NAME.
33501         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33502         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33503         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33504
33505 2009-10-14  Eric Blake  <ebb9@byu.net>
33506
33507         fchdir: avoid infinite recursion in mingw
33508         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33509         recursing.
33510
33511         test-stat-time: port to mingw
33512         * tests/test-stat-time.c (force_unlink): Return a value.
33513         (test_ctime) [W32]: Fix compilation error.
33514         (nap): Don't call usleep with too large an argument.  Use
33515         force_unlink.
33516         * doc/pastposix-functions/usleep.texi (usleep): Document the
33517         portability issue.
33518
33519 2009-10-13  Jim Meyering  <meyering@redhat.com>
33520
33521         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33522         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33523         * modules/pipe-filter-ii: Likewise.
33524         * modules/sys_socket-tests: Likewise.
33525         * modules/tsearch-tests: Likewise.
33526         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
33527         (check): Depend on it.
33528
33529 2009-10-12  Eric Blake  <ebb9@byu.net>
33530
33531         utimens-tests: port to NFS file systems
33532         * tests/test-utimens.h (test_utimens): Refactor utimecmp
33533         comparisons to avoid spurious failures from timestamp drift
33534         between NFS machines.
33535
33536 2009-10-12  Eric Blake  <ebb9@byu.net>
33537
33538         stat-time-tests: minor cleanups
33539         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
33540         * tests/test-stat-time.c (nap): Separate assignment from call.
33541         Suggested by Paolo Bonzini and Bruno Haible.
33542
33543         sys_stat: guarantee struct timespec
33544         * lib/sys_stat.in.h (includes): Always include <time.h>
33545         * modules/sys_stat (Depends-on): Add time.
33546         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
33547         mode_t permission values.
33548         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
33549         get at subsecond timestamps.
33550
33551 2009-10-10  Eric Blake  <ebb9@byu.net>
33552
33553         futimens: new module
33554         * modules/futimens: New file.
33555         * lib/futimens.c (futimens): Likewise.
33556         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
33557         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
33558         we can work around Linux bugs.
33559         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33560         * modules/sys_stat (Makefile.am): Substitute them.
33561         * lib/sys_stat.in.h (futimens): Declare it.
33562         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33563         * doc/posix-functions/futimens.texi (futimens): Likewise.
33564         * modules/futimens-tests: New test.
33565         * tests/test-futimens.c: Likewise.
33566
33567         utimens: introduce fdutimens
33568         * lib/utimens.h (fdutimens): New prototype.
33569         * lib/utimens.c (gl_futimens): Move guts...
33570         (fdutimens): ...to new interface.
33571         * tests/test-utimens.c (do_fdutimens): Use it.
33572
33573         utimens: add UTIME_NOW and UTIME_OMIT support
33574         * lib/utimens.c (validate_timespec, update_timespec): New helper
33575         functions.
33576         (gl_futimens, lutimens): Use them.
33577         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
33578         stdbool, sys_stat.
33579         (Link): Mention resulting library dependency.
33580         * modules/utimecmp (Link): Likewise.
33581         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
33582         (Makefile.am): Pick up library dependency.
33583         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
33584         definition.
33585         * tests/test-sys_stat.c: Test the definitions.
33586         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
33587         * NEWS: Document library dependency.
33588
33589         utimecmp: support symlink timestamps
33590         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
33591         hashing when possible.  Use pathconf when available.
33592         (SYSCALL_RESOLUTION): Recognize tighter resolution.
33593         * modules/utimecmp (Depends-on): Add lstat.
33594
33595         utimens: add lutimens interface
33596         * lib/utimens.c (lutimens): New function.
33597         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
33598         * lib/utimens.h (lutimens): Declare new interface.
33599         * tests/test-utimens.c (main): Enhance test.
33600         * tests/test-lutimens.h (test_lutimens): New file.
33601         * modules/utimens-tests (Files): Distribute it.
33602         (Depends-on): Add symlink.
33603         (configure.ac): Check for usleep.
33604
33605         utimens: validate futimens usage
33606         * lib/utimens.c (gl_futimens): Require valid fd up front, using
33607         fewer syscalls on failure later on.  Avoid compiler warning on
33608         mingw.
33609         * modules/utimens (Depends-on): Add dup2.
33610
33611         utimens: add test
33612         * modules/utimens-tests: New test.
33613         * tests/test-utimens.h: New file.
33614         * tests/test-futimens.h: Likewise.
33615         * tests/test-utimens.c: Likewise.
33616
33617         doc: mention timestamp portability issues
33618         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
33619         instead.
33620         * doc/posix-functions/utime.texi (utime): Likewise.
33621         * doc/posix-functions/utimes.texi (utimes): Likewise.
33622         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
33623         instead.
33624         * doc/posix-functions/futimens.texi (futimens): Mention utimens
33625         module.
33626         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33627         Mention weakness with symlink timestamps.
33628         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
33629         to utimensat/futimens instead.
33630         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
33631
33632         test-dup2: enhance test
33633         * tests/test-dup2.c (main): Also check AT_FDCWD.
33634
33635         test-stat-time: avoid more spurious failures
33636         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
33637         xfs; and avoid race if the two timestamps cross quantization edge.
33638
33639         relocatable: prefer 'file system' over 'filesystem'
33640         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
33641         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
33642         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
33643         * doc/relocatable.texi (Enabling Relocatability): Likewise.
33644         * lib/relocatable.c (compute_curr_prefix): Likewise.
33645
33646 2009-10-10  Jim Meyering  <meyering@redhat.com>
33647
33648         stat-time-tests: check for the usleep function
33649         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
33650
33651 2009-10-10  Bruno Haible  <bruno@clisp.org>
33652
33653         * modules/xnanosleep: Put the Link section after the Include section.
33654
33655 2009-10-09  Eric Blake  <ebb9@byu.net>
33656
33657         dup2: work around FreeBSD 6.1 bug
33658         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
33659         * doc/posix-functions/dup2.texi (dup2): Document it.
33660         Reported by Nelson H. F. Beebe and Jim Meyering.
33661
33662         test-stat-time: port to buggy NFS clients
33663         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
33664         (test_ctime): Also skip test if mtime and ctime are skewed.
33665
33666         maint: prefer 'file system' over 'filesystem'
33667         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33668         * doc/posix-functions/lstat.texi (lstat): Likewise.
33669         * lib/file-has-acl.c (file_has_acl): Likewise.
33670         * lib/fwriteerror.c [TEST]: Likewise.
33671         * tests/test-areadlink.h (test_areadlink): Likewise.
33672         * tests/test-areadlinkat-with-size.c (main): Likewise.
33673         * tests/test-areadlinkat.c (main): Likewise.
33674         * tests/test-canonicalize-lgpl.c (main): Likewise.
33675         * tests/test-canonicalize.c (main): Likewise.
33676         * tests/test-fstatat.c (main): Likewise.
33677         * tests/test-linkat.c (main): Likewise.
33678         * tests/test-lstat.h (test_lstat_func): Likewise.
33679         * tests/test-mkdir.h (test_mkdir): Likewise.
33680         * tests/test-readlink.h (test_readlink): Likewise.
33681         * tests/test-remove.c (main): Likewise.
33682         * tests/test-rename.h (test_rename): Likewise.
33683         * tests/test-renameat.c (main): Likewise.
33684         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33685         * tests/test-symlink.h (test_symlink): Likewise.
33686         * tests/test-symlinkat.c (main): Likewise.
33687         * tests/test-unlink.h (test_unlink_func): Likewise.
33688         * tests/test-unlinkat.c (main): Likewise.
33689
33690         maint: make realtime library usage explicit
33691         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
33692         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
33693         * modules/settime (Link): Likewise.
33694         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
33695
33696         test-stat-time: speed up execution
33697         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
33698         warning on mingw.
33699         (nap): New helper function.
33700         (prepare_test): Use it to reduce sleep time.
33701         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
33702         execution.
33703         * modules/stat-time-tests (configure.ac): Check for usleep.
33704
33705 2009-10-09  Jim Meyering  <meyering@redhat.com>
33706
33707         selinux-h: always use getfilecon wrappers
33708         * lib/getfilecon.c: New file.
33709         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
33710         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
33711         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
33712         (fgetfilecon): Provide a stub.
33713         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
33714         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
33715         file unconditionally.
33716         When <selinux/selinux.h> is found, arrange to use wrappers.
33717         * modules/selinux-h (Files): Add getfilecon.c.
33718         (Makefile.am): Substitute include-next-related bits
33719         into the now-always-generated selinux/selinux.h file.
33720         * doc/glibc-functions/lgetfilecon.texi: New file.
33721         * doc/glibc-functions/fgetfilecon.texi: New file.
33722         * doc/glibc-functions/getfilecon.texi: New file.
33723         * doc/glibc-functions/getfilecon-desc.texi: New file.
33724         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
33725         which to pull in the new files.
33726         * MODULES.html.sh (Misc): Add selinux-h.
33727
33728 2009-10-08  Jim Meyering  <meyering@redhat.com>
33729
33730         unistd: fix comment typo
33731         * lib/unistd.in.h (euidaccess): Fix a comment typo.
33732
33733 2009-10-08  Eric Blake  <ebb9@byu.net>
33734
33735         areadlink: use SIZE_MAX consistently
33736         * modules/areadlink (Depends-on): Add stdint.
33737         * modules/areadlink-with-size (Depends-on): Likewise.
33738         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
33739         gives NULL; drop sys/types, since unistd gives size_t; and add
33740         stdint for SIZE_MAX.
33741         (SIZE_MAX): Rely on headers.
33742         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
33743         and add stdint.
33744         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
33745         (SIZE_MAX): Likewise.
33746         (INITIAL_BUF_SIZE): Turn into enum.
33747         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
33748
33749 2009-10-08  Jim Meyering  <meyering@redhat.com>
33750
33751         areadlinkat: avoid compilation failure
33752         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
33753         Fix typo in comment.
33754
33755 2009-10-07  Eric Blake  <ebb9@byu.net>
33756
33757         areadlinkat-with-size: new module
33758         * modules/areadlinkat-with-size: New module.
33759         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
33760         * lib/areadlink.h (areadlinkat): Declare it.
33761         * MODULES.html.sh (File system functions): Mention it.
33762         * modules/areadlinkat-with-size-tests: New test.
33763         * tests/test-areadlinkat-with-size.c: New file.
33764
33765         xreadlinkat: new module
33766         * modules/xreadlinkat: New module.
33767         * lib/xreadlinkat.c (xreadlinkat): New file.
33768         * lib/xreadlink.h (xreadlinkat): Declare it.
33769         * MODULES.html.sh (File system functions): Mention it.
33770
33771         areadlinkat: new module
33772         * lib/at-func.c (FUNC_FAIL): New define.
33773         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
33774         * modules/areadlinkat: New module.
33775         * lib/linkat.c (areadlinkat): Move...
33776         * lib/areadlinkat.c (areadlinkat): ...to new file.
33777         * lib/areadlink.h (areadlinkat): Declare it.
33778         * modules/linkat (Depends-on): Add areadlinkat.
33779         * MODULES.html.sh (File system functions): Mention it.
33780         * modules/areadlinkat-tests: New test.
33781         * tests/test-areadlinkat.c: New file.
33782
33783         areadlink, areadlink-with-size: add tests
33784         * modules/areadlink-tests: New test.
33785         * modules/areadlink-with-size-tests: Likewise.
33786         * tests/test-areadlink.h: New file.
33787         * tests/test-areadlink.c: Likewise.
33788         * tests/test-areadlink-with-size.c: Likewise.
33789
33790         maint: minor cleanups
33791         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
33792         _UNUSED_PARAMETER_ instead.
33793         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
33794         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
33795         * modules/linkat-tests (Files): Distribute test-link.h.
33796
33797         openat, utimens: whitespace cleanup
33798         * lib/openat.c: Prefer space throughout, rather than mix of 8
33799         spaces vs. tabs.
33800         * lib/at-func.c: Likewise.
33801         * lib/utimens.c: Likewise.
33802
33803         openat: avoid using wrong fd
33804         * lib/openat.c (openat_permissive): Reject user's fd if saving the
33805         working directory chooses same fd.
33806         * lib/at-func.c (AT_FUNC_NAME): Likewise.
33807
33808         mkdir, mkdirat: fix cygwin 1.5.x bug
33809         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
33810         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
33811         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
33812         bug.
33813         (gl_PREREQ_MKDIR): Delete unused macro.
33814         * modules/mkdir (Files): Track file rename.
33815         (configure.ac): Update macro name.
33816         * modules/openat (Depends-on): Add mkdir.
33817         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
33818
33819         mkdir, mkdirat: add tests
33820         * modules/mkdir-tests: New test.
33821         * tests/test-mkdir.h: New file.
33822         * tests/test-mkdir.c: Likewise.
33823         * tests/test-mkdirat.c: Likewise.
33824         * modules/openat-tests (Files): Add new files.
33825         (Makefile.am): Run new test.
33826
33827 2009-10-06  Eric Blake  <ebb9@byu.net>
33828
33829         doc: tweak *at function documentation
33830         * doc/posix-functions/faccessat.texi (faccessat): Mention
33831         known issue with replacement.
33832         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
33833         * doc/posix-functions/linkat.texi (linkat): Likewise.
33834         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
33835         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
33836         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33837         * doc/posix-functions/renameat.texi (renameat): Likewise.
33838         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33839
33840         openat: fix GNU/Hurd bug in unlinkat
33841         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
33842         broken.
33843         * doc/posix-functions/unlink.texi (unlink): Document this.
33844         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
33845
33846         fdopendir: fix GNU/Hurd bug
33847         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
33848         allowing non-directory fds.
33849         * lib/fdopendir.c (rpl_fdopendir): Work around it.
33850         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33851         * modules/dirent (Makefile.am): Substitute it.
33852         * lib/dirent.in.h (fdopendir): Declare replacement.
33853         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
33854         * tests/test-fdopendir.c (main): Test something other than
33855         /dev/null, since on Hurd that behaves like a directory.
33856
33857         test-symlink: port to GNU/Hurd
33858         * tests/test-symlink.h (test_symlink): Relax expected errno.
33859
33860         doc: tweak more cygwin information
33861         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
33862         now compatible with glibc.
33863         * doc/posix-functions/getopt.texi (getopt): Likewise.
33864
33865         getopt-gnu: add another test
33866         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
33867         guarantee behavior relied on by m4.
33868         * tests/test-getopt.c (main): Use it.
33869         * modules/getopt-posix-tests (Depends-on): Add setenv.
33870         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
33871
33872         getopt: fix compilation on darwin
33873         * lib/getopt.in.h (includes): Leave breadcrumbs during system
33874         include.
33875         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
33876         Reported by Ludovic Courtès.
33877
33878 2009-10-06  Bruno Haible  <bruno@clisp.org>
33879
33880         * modules/size_max (Description): Discourage its use.
33881         Reported by Simon Josefsson.
33882
33883 2009-10-06  Jim Meyering  <meyering@redhat.com>
33884
33885         linkat: avoid compilation failure
33886         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
33887
33888 2009-10-05  Eric Blake  <ebb9@byu.net>
33889
33890         linkat: support Linux 2.6.17
33891         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
33892         linkat on Linux, but allow cache variable override.
33893         * lib/linkat.c (rpl_linkat): Define override.
33894         * modules/linkat (Depends-on): Add symlinkat.
33895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
33896         * modules/unistd (Makefile.am): Substitute it.
33897         * lib/unistd.in.h (linkat): Declare replacement.
33898         Reported by Pádraig Brady.
33899
33900         quotearg: port test to systems with C.UTF-8 locale
33901         * tests/test-quotearg.c (struct result_strings): Add another
33902         member, differentiating between C.ASCII and C.UTF-8 handling.
33903         (compare_strings): Add parameter.
33904         (main): Adjust all callers.
33905
33906         getopt: avoid clash with FreeBSD _getopt_internal
33907         * lib/getopt.in.h (_getopt_internal): Override the name.
33908         * lib/getopt_int.h (includes): Pick up any overrides.
33909         Reported by Reuben Thomas.
33910
33911         hash: allow C89 compilation
33912         * lib/hash.c (check_tuning): Move declaration before statement.
33913         Reported by Reuben Thomas.
33914
33915 2009-10-05  Karl Berry  <karl@gnu.org>
33916
33917         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
33918
33919 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
33920             Bruno Haible  <bruno@clisp.org>
33921
33922         * lib/uname.c (uname): Use a table-driven algorithm to compute
33923         Windows NT versions.
33924
33925 2009-10-04  Bruno Haible  <bruno@clisp.org>
33926
33927         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
33928         program_invocation_short_name.
33929         * modules/progname (configure.ac): Test for presence of
33930         program_invocation_short_name.
33931         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
33932
33933 2009-10-04  Bruno Haible  <bruno@clisp.org>
33934
33935         * lib/progname.c (set_program_name): Fix comment.
33936         Reported by Jim Meyering.
33937
33938 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33939             Bruno Haible  <bruno@clisp.org>
33940
33941         * lib/uname.c: Include <string.h>.
33942         (uname): Do only one call to GetVersionEx in the common case.
33943
33944 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33945             Bruno Haible  <bruno@clisp.org>
33946
33947         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
33948         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
33949         (uname): Add support for Windows CE and various non-x86 CPU types.
33950
33951 2009-10-03  Bruno Haible  <bruno@clisp.org>
33952
33953         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
33954         invocation to tests/configure.ac.
33955         Reported by Ian Beckwith <ianb@erislabs.net>.
33956
33957 2009-10-02  Eric Blake  <ebb9@byu.net>
33958
33959         fchdir: avoid compiler warning
33960         * lib/fchdir.c (canonicalize_file_name)
33961         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
33962
33963         test-open: support mingw errno values
33964         * tests/test-open.h (test_open): Relax test.
33965         * tests/test-fopen.h (test_fopen): Likewise.
33966         * tests/test-openat-safer.c (main): Likewise.
33967
33968         open: fix opening directory on mingw
33969         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
33970
33971         test-open: on GNU/Hurd, /dev/null is a directory
33972         * tests/test-fopen.h (main): Rename...
33973         (test_fopen): ...to this.  Use a guaranteed non-directory when
33974         confirming open behavior on trailing slash.
33975         * tests/test-openat-safer.c (main): Likewise.
33976         * tests/test-open.h (main): Likewise....
33977         (test_open): ...to this.
33978         * tests/test-fopen.c (main): Adjust caller.
33979         * tests/test-fopen-safer.c (main): Likewise.
33980         * tests/test-open.c (main): Likewise.
33981         * tests/test-fcntl-safer.c (main): Likewise.
33982         Reported by Samuel Thibault.
33983
33984         rename, fchdir: don't ignore chdir failure
33985         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
33986         * lib/rename.c (rpl_rename) [W32]: Likewise.
33987         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
33988         an empty destination directory if source cannot be renamed,
33989         although there is still possibility for failure.
33990         * doc/posix-functions/rename.texi (rename): Document the race.
33991         Reported by Jim Meyering.
33992
33993         maint: cleanup whitespace in recent commits
33994         * lib/rename.c (rpl_rename): Remove tabs.
33995         * tests/test-link.h (test_link): Likewise.
33996         * lib/fchdir.c (get_name): Likewise.
33997         Reported by Jim Meyering.
33998
33999 2009-10-02  Ben Pfaff  <blp@gnu.org>
34000
34001         relocatable-prog-wrapper: Add missing dependency on
34002         double-slash-root.
34003         * modules/relocatable-prog-wrapper: Add dependency.
34004         Reported by Ian Beckwith <ianb@erislabs.net>.
34005
34006 2009-10-02  Eric Blake  <ebb9@byu.net>
34007
34008         renameat: fix Solaris bugs
34009         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
34010         needed fixing.
34011         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
34012         * modules/stdio (Makefile.am): Substitute it.
34013         * lib/stdio.in.h (renameat): Declare replacement.
34014         * lib/renameat.c (rpl_renameat): Implement fix.
34015
34016         renameat: new module
34017         * modules/renameat: New file.
34018         * lib/renameat.c (renameat): Likewise.
34019         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
34020         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34021         * modules/stdio (Makefile.am): Substitute them.
34022         * lib/stdio.in.h (renameat): Declare it.
34023         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34024         * doc/posix-functions/renameat.texi (renameat): Likewise.
34025         * modules/renameat-tests: New test.
34026         * tests/test-renameat.c: Likewise.
34027
34028         rename: fix mingw bugs
34029         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
34030         directory overwrite bugs.
34031
34032         rename: fix another cygwin 1.5 bug
34033         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
34034         checks.
34035         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
34036         unnecessary cygwin workarounds.  Also work around bug with moving
34037         full directory onto an empty one.
34038         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
34039
34040         rename-dest-slash: merge into rename module
34041         * modules/rename-dest-slash (Status): Mark obsolete.
34042         (Depends-on): Add rename.
34043         (Files): Let rename do it all.
34044         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
34045         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
34046         * m4/rename-dest-slash.m4: ...so this file can be deleted.
34047         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
34048         * lib/rename.c (rpl_rename): Update comments.
34049
34050         rename: fix cygwin 1.5.x bugs
34051         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
34052         * lib/rename.c (rpl_rename): Work around them.
34053         * modules/rename (Depends-on): Add same-inode.
34054
34055         rename: fix Solaris 10 bug
34056         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34057         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
34058         was the only bug.
34059
34060         rename: fix Solaris 9 bug
34061         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
34062         on non-directory.  Avoid calling exit.
34063         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
34064         strdup.
34065         * modules/rename-tests (Depends-on): Drop lstat.
34066         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34067         (gl_PREREQ_RENAME): Delete unused macro.
34068
34069         rename-dest-slash: fix NetBSD bug
34070         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
34071         links.
34072         * modules/rename-dest-slash (Depends-on): Add same-inode.
34073
34074         rename-tests: new test, exposes several platform bugs
34075         * modules/rename-tests: New file.
34076         * tests/test-rename.h: Likewise.
34077         * tests/test-rename.c: Likewise.
34078         * doc/posix-functions/rename.texi (rename): Improve documentation,
34079         including bugs that will eventually be fixed in gnulib.
34080
34081 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
34082
34083         * lib/uname.c: Include <stdlib.h>
34084         (uname): Assume version info is available.
34085
34086 2009-10-02  Jim Meyering  <meyering@redhat.com>
34087
34088         gnu-web-doc-update: correct --help output
34089         * build-aux/gnu-web-doc-update: Make --help output relevant.
34090
34091         gnu-web-doc-update: add standard options
34092         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
34093
34094         gnu-web-doc-update: New module.
34095         Use this script to automatically update the on-line web documentation
34096         for your GNU project at http://www.gnu.org/software/$pkg/manual/
34097         * modules/gnu-web-doc-update: New file, from coreutils.
34098         * build-aux/gnu-web-doc-update: New script.
34099
34100 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
34101
34102         link: LoadLibrary is not needed.
34103         * lib/link.c: Use GetModuleHandle.
34104
34105 2009-10-01  Eric Blake  <ebb9@byu.net>
34106
34107         getopt: bump serial number
34108         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
34109         change.
34110
34111         tests: tighten link, rmdir, and remove tests
34112         * tests/test-link.h (includes): No need to use <config.h> here.
34113         Clean up if directory hard link was created, otherwise test for
34114         trailing '.'.
34115         * tests/test-linkat.c (main): Simplify.
34116         * tests/test-remove.c (main): Enhance test for trailing '.'.
34117         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34118
34119 2009-10-01  Jim Meyering  <meyering@redhat.com>
34120
34121         maint.mk: requiring "make major" was annoying, for a "minor" release.
34122         What is intended is "stable", to contrast with alpha and beta,
34123         so require "make stable", not "make major".
34124         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
34125         (get_tool_versions): Likewise.
34126         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
34127
34128 2009-09-30  Ben Pfaff  <blp@gnu.org>
34129
34130         Fix broken build of replacement for Windows tmpfile().
34131         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
34132         flags argument added along with the 'mkostemp' module.
34133
34134 2009-09-28  Bruno Haible  <bruno@clisp.org>
34135
34136         Avoid identifier clash with POSIX function 'remove' defined as a macro.
34137         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
34138         to 'remove_elt'.
34139         (gl_list_remove): Update.
34140         * lib/gl_list.c (gl_list_remove): Update.
34141         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
34142         to 'remove_elt'.
34143         (gl_oset_remove): Update.
34144         * lib/gl_list.c (gl_oset_remove): Update.
34145         Reported by Eric Blake.
34146
34147 2009-09-28  Eric Blake  <ebb9@byu.net>
34148
34149         doc: mention yet more cygwin 1.7 status
34150         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
34151         cygwin.
34152         * doc/glibc-functions/execvpe.texi (execvpe): New file.
34153         * doc/gnulib.texi (Glibc unistd.h): Mention it.
34154
34155         argp: fix test failure
34156         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
34157         that are not upper-case.  Pass correct range to tolower.
34158
34159 2009-09-27  Jim Meyering  <meyering@redhat.com>
34160
34161         test-yesno: work around sparc-dash here-document infelicity
34162         Without this change, the literal \177 byte in a here document
34163         would make dash 0.5.5.1-3 access uninitialized memory.
34164         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
34165         Instead, use a marker, "@", and filter through tr to create the desired
34166         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
34167
34168 2009-09-27  Bruno Haible  <bruno@clisp.org>
34169
34170         Disable untested support for new flavours of ACLs on AIX.
34171         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
34172         progress.
34173         * lib/set-mode-acl.c (qset_acl): Likewise.
34174
34175 2008-12-07  Bruno Haible  <bruno@clisp.org>
34176
34177         Add support for new flavours of ACLs on AIX. (Untested.)
34178         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
34179         (file_has_acl): Add support for newer AIX.
34180         * lib/set-mode-acl.c (qset_acl): Likewise.
34181         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
34182         Rainer Tammer <tammer@tammer.net>.
34183
34184 2009-09-26  Eric Blake  <ebb9@byu.net>
34185
34186         argp: fix compilation of getopt
34187         * lib/getopt.in.h (includes): Use different guard than glibc.
34188         Reported by Sergey Poznyakoff.
34189
34190         doc: mention more cygwin 1.7 status
34191         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
34192         bug.
34193         * doc/posix-functions/execl.texi (execl): Likewise.
34194         * doc/posix-functions/execle.texi (execle): Likewise.
34195         * doc/posix-functions/execlp.texi (execlp): Likewise.
34196         * doc/posix-functions/execv.texi (execv): Likewise.
34197         * doc/posix-functions/execve.texi (execve): Likewise.
34198         * doc/posix-functions/execvp.texi (execvp): Likewise.
34199         * doc/glibc-functions/canonicalize_file_name.texi
34200         (canonicalize_file_name): Cygwin 1.7 now provides this.
34201         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
34202         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
34203         on AT_SYMLINK_NOFOLLOW.
34204
34205 2009-09-24  Eric Blake  <ebb9@byu.net>
34206
34207         test-linkat: make test more robust
34208         * tests/test-linkat.c (main): Avoid collision with EEXIST.
34209
34210         getopt: fix inclusion guards for cygwin
34211         * modules/getopt-posix (Depends-on): Add include-next.
34212         (Makefile.am): Substitute more items in replacement header.
34213         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
34214         <getopt.h>.
34215         * lib/getopt.in.h (includes): Use split inclusion guard, and
34216         prefer <getopt.h> over include <unistd.h> when one is present.
34217         (option): Also override name of 'struct option'.
34218
34219         same-inode: revert prior change; it is not yet ready
34220         * NEWS: Undo mention of this change.
34221         * lib/same-inode.h (same-inode.h): Undo tri-state change.
34222         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34223         * lib/cycle-check.c (cycle_check): Likewise.
34224         * lib/same.c (same_name): Likewise.
34225         * lib/at-func2.c (at_func2): Likewise.
34226
34227 2009-09-23  Eric Blake  <ebb9@byu.net>
34228
34229         linkat: new module
34230         * modules/linkat: New file.
34231         * lib/at-func2.c (at_func2): Likewise.
34232         * lib/linkat.c (linkat): Likewise.
34233         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
34234         * lib/openat-priv.h (at_func2): Add declaration.
34235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34236         * modules/unistd (Makefile.am): Substitute them.
34237         * lib/unistd.in.h (linkat): Declare it.
34238         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34239         * doc/posix-functions/linkat.texi (linkat): Likewise.
34240         * doc/posix-functions/link.texi (link): Tweak wording.
34241         * tests/test-link.c (main): Move guts...
34242         * tests/test-link.h (test_link): ...into new file.
34243         * modules/linkat-tests: New test.
34244         * tests/test-linkat.c: Likewise.
34245         * modules/link-tests (Files): Ship new file.
34246         (Depends-on): Add stdbool.
34247
34248         dirname: add library-safe mdir_name
34249         * lib/dirname.h (mdir_name): New prototype.
34250         * lib/dirname.c (dir_name): Move guts...
34251         (mdir_name): ...to new function that avoids xalloc_die.
34252
34253         fchdir: another mingw fix
34254         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
34255         * lib/fchdir.c (get_name): New helper method; skips canonicalize
34256         on mingw (where it has not yet been ported), and make it optional
34257         elsewhere.
34258         (_gl_register_fd): Use it.
34259
34260         same-inode: make SAME_INODE tri-state, to port to mingw
34261         * NEWS: Mention this change.
34262         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
34263         st_ino always being 0.
34264         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34265         * lib/cycle-check.c (cycle_check): Likewise.
34266         * lib/same.c (same_name): Likewise.
34267
34268         lstat: avoid mingw compilation error
34269         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
34270         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
34271         lstat ourselves.
34272         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
34273         was adequate.
34274         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
34275         the checks for lstat.
34276         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
34277
34278         link: fix test failure on Solaris 9
34279         * lib/link.c (rpl_link): Don't assume link will catch bogus
34280         trailing slash on source.
34281
34282         test-symlinkat: enhance test
34283         * tests/test-readlink.c (main): Move guts...
34284         * tests/test-readlink.h (test_readlink): ...into new file.
34285         * tests/test-symlink.c (main): Move guts...
34286         * tests/test-symlink.h (test_symlink): ...into new file.
34287         * tests/test-symlinkat.c (main): Use new files for further
34288         coverage.
34289         (do_symlink, do_readlink): New helper functions.
34290         * modules/symlink-tests (Files): Ship new file.
34291         (Depends-on): Add stdbool.
34292         * modules/readlink-tests (Files): Ship new file.
34293         (Depends-on): Add stdbool.
34294         * modules/symlinkat-tests (Files): Use new files.
34295
34296 2009-09-23  Eric Blake  <ebb9@byu.net>
34297
34298         readlink: document portability issue with symlink length
34299         * doc/posix-functions/lstat.texi (lstat): Mention that some file
34300         systems have bogus st_size on symlinks, and mention the
34301         areadlink-with-size module.
34302         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34303         * doc/posix-functions/readlink.texi (readlink): Mention the
34304         areadlink module, and ERANGE failure.
34305         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34306         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
34307
34308         readlink: fix Solaris 9 bug with trailing slash
34309         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
34310         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
34311         * doc/posix-functions/readlink.texi (readlink): Document this.
34312         * modules/readlink-tests: New test.
34313         * tests/test-readlink.c: Likewise.
34314
34315         readlink: fix cygwin 1.5.x bug with return type
34316         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
34317         * lib/unistd.in.h (readlink): Use ssize_t.
34318         * lib/readlink.c (readlink): Likewise.
34319         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34320         * modules/unistd (Makefile.am): Substitute it.
34321         * lib/unistd.in.h (readlink): Declare replacement.
34322         * doc/posix-functions/readlink.texi (readlink): Document this.
34323
34324         symlink: use throughout gnulib
34325         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
34326         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
34327         symlink is not used.
34328         * modules/symlinkat (Depends-on): Add symlink.
34329         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34330         * modules/canonicalize-tests (Depends-on): Likewise.
34331         * modules/lstat-tests (Depends-on): Likewise.
34332         * modules/openat-tests (Depends-on): Likewise.
34333         * modules/remove-tests (Depends-on): Likewise.
34334         * modules/rmdir-tests (Depends-on): Likewise.
34335         * modules/unlink-tests (Depends-on): Likewise.
34336         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
34337         * tests/test-canonicalize.c (symlink): Likewise.
34338         * tests/test-fstatat.c (symlink): Likewise.
34339         * tests/test-lstat.c (symlink): Likewise.
34340         * tests/test-remove.c (symlink): Likewise.
34341         * tests/test-rmdir.c (symlink): Likewise.
34342         * tests/test-unlink.c (symlink): Likewise.
34343         * tests/test-unlinkat.c (symlink): Likewise.
34344
34345         symlink: new module, for Solaris 9 bug
34346         * modules/symlink: New file.
34347         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
34348         * lib/symlink.c: Likewise.
34349         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34350         * modules/unistd (Makefile.am): Substitute them.
34351         * lib/unistd.in.h (symlink): Declare replacement.
34352         * MODULES.html.sh (File system functions): Mention it.
34353         * doc/posix-functions/symlink.texi (symlink): Likewise.
34354         * modules/symlink-tests: New test.
34355         * tests/test-symlink.c: Likewise.
34356
34357 2009-09-23  Bruno Haible  <bruno@clisp.org>
34358
34359         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
34360         when needed.
34361         Test case: gnulib-tool --import --with-tests atexit inttypes.
34362         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
34363
34364 2009-09-23  Bruno Haible  <bruno@clisp.org>
34365
34366         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
34367         subcommand, not in a subshell.
34368
34369 2009-09-22  Eric Blake  <ebb9@byu.net>
34370
34371         unistd: sort replacement declarations
34372         * lib/unistd.in.h: Sort declarations.
34373
34374         open, openat: minor optimization
34375         * lib/open.c (open): If open succeeded, len is non-zero.
34376         * lib/openat.c (rpl_openat): Likewise.
34377
34378         link-follow: ensure correct result
34379         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
34380         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
34381         distinguish between possible failures.
34382
34383 2009-09-21  Eric Blake  <ebb9@byu.net>
34384
34385         fts: avoid compiler warning
34386         * lib/fts.c (dirent_inode_sort_may_be_useful)
34387         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
34388
34389 2009-09-19  Bruno Haible  <bruno@clisp.org>
34390
34391         * lib/progreloc.c (canonicalize_file_name): New declaration.
34392
34393 2009-09-19  Eric Blake  <ebb9@byu.net>
34394
34395         link: fix quoting
34396         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
34397
34398         openat: fix openat bugs on Solaris 9
34399         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
34400         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
34401         * modules/openat (Depends-on): Add open.
34402         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
34403         * modules/fcntl-h (Makefile.am): Substitute it.
34404         * lib/fcntl.in.h (openat): Declare replacement.
34405         * doc/posix-functions/openat.texi (openat): Document this.
34406
34407         openat: move fstatat and unlinkat into correct files
34408         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
34409         compiled.
34410         * lib/openat.c (fstatat, unlinkat): Move...
34411         * lib/fstatat.c (fstatat): ...into correct files.
34412         * lib/unlinkat.c (unlinkat): Likewise.
34413
34414         openat: fix unlinkat bugs on Solaris 9
34415         * lib/unlinkat.c (unlinkat): New file.
34416         * modules/openat (Depends-on): Add unlink.
34417         (Files): Distribute it.
34418         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
34419         trailing slash behavior is broken.
34420         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34421         * modules/unistd (Makefile.am): Substitute it.
34422         * lib/unistd.in.h (unlinkat): Declare replacement.
34423         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
34424
34425         openat: fix fstatat bugs on Solaris 9
34426         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
34427         stat.
34428         * doc/posix-functions/fstatat.texi (fstatat): Document this.
34429
34430         test-unlinkat: enhance test, to expose Solaris 9 bug
34431         * tests/test-unlink.c (main): Factor guts...
34432         * tests/test-unlink.h (test_rmdir_func): ...into new file.
34433         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
34434         * tests/test-rmdir.c (main): Adjust caller.
34435         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
34436         (unlinker): New helper function.
34437         (rmdirat): Enhance check.
34438         * modules/rmdir-tests (Depends-on): Add stdbool.
34439         * modules/unlink-tests (Depends-on): Likewise.
34440         (Files): Add test-unlink.h.
34441         * modules/openat-tests (Files): Likewise.
34442         (Depends-on): Add unlinkdir.
34443
34444         test-fstatat: new test, to expose Solaris 9 bugs
34445         * tests/test-stat.c (main): Factor guts...
34446         * tests/test-stat.h (test_stat_func): ...into new file.
34447         * tests/test-lstat.c (main): Factor guts...
34448         * tests/test-lstat.h (test_lstat_func): ...into new file.
34449         * tests/test-fstatat.c: New file.
34450         * modules/stat-tests (Files): Add test-stat.h.
34451         * modules/lstat-tests (Files): Add test-lstat.h.
34452         (Depends-on): Add stdbool.
34453         * modules/openat-tests (Depends-on): Add pathmax.
34454         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
34455         (Makefile.am): Run new test.
34456
34457         remove: new module, for mingw and Solaris 9 bugs
34458         * modules/remove: New file.
34459         * lib/remove.c: Likewise.
34460         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
34461         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34462         * modules/stdio (Makefile.am): Use them.
34463         * lib/stdio.in.h (remove): Declare replacement.
34464         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34465         * doc/posix-functions/remove.texi (remove): Likewise.
34466         * modules/remove-tests: New test.
34467         * tests/test-remove.c: Likewise.
34468
34469         unlink: new module, for Solaris 9 bug
34470         * modules/unlink: New file.
34471         * lib/unlink.c: Likewise.
34472         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34473         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34474         * modules/unistd (Makefile.am): Use them.
34475         * lib/unistd.in.h (stat): Declare replacement.
34476         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34477         * doc/posix-functions/unlink.texi (unlink): Likewise.
34478         * modules/unlink-tests: New test.
34479         * tests/test-unlink.c: Likewise.
34480
34481         lstat: fix Solaris 9 bug
34482         * lib/lstat.c (lstat): Also check for trailing slash on
34483         non-symlink, non-directories.  Use stat module to simplify logic.
34484         * doc/posix-functions/lstat.texi (lstat): Document it.
34485         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34486         (configure.ac): Check for symlink.
34487         * tests/test-lstat.c (main): Add more tests.
34488
34489         stat: add as dependency to other modules
34490         * modules/chown (Depends-on): Add stat.
34491         * modules/euidaccess (Depends-on): Likewise.
34492         * modules/fchdir (Depends-on): Likewise.
34493         * modules/isdir (Depends-on): Likewise.
34494         * modules/link (Depends-on): Likewise.
34495         * modules/lstat (Depends-on): Likewise.
34496         * modules/mkdir-p (Depends-on): Likewise.
34497         * modules/modechange (Depends-on): Likewise.
34498         * modules/open (Depends-on): Likewise.
34499         * modules/readlink (Depends-on): Likewise.
34500         * modules/same (Depends-on): Likewise.
34501
34502         stat: fix Solaris 9 bug
34503         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34504         slash.
34505         * lib/stat.c (rpl_stat): Work around it.
34506         * doc/posix-functions/stat.texi (stat): Update documentation.
34507
34508         stat: new module, for mingw bug
34509         * modules/stat: New file.
34510         * lib/stat.c: Likewise.
34511         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34512         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34513         * modules/sys_stat (Makefile.am): Use them.
34514         * lib/sys_stat.in.h (stat): Declare replacement.
34515         * lib/openat.c (fstatat): Deal with lstat and stat being function
34516         macros.
34517         * modules/openat (Depends-on): Add inline.
34518         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34519         * doc/posix-functions/stat.texi (stat): Likewise.
34520         * modules/stat-tests: New test.
34521         * tests/test-stat.c: Likewise.
34522
34523 2009-09-19  Jim Meyering  <meyering@redhat.com>
34524
34525         syntax-check: detect unnecessary inclusion of canonicalize.h
34526         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
34527
34528 2009-09-19  Eric Blake  <ebb9@byu.net>
34529
34530         canonicalize-lgpl: adjust clients to use correct header
34531         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34532         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
34533         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
34534         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
34535         * lib/progreloc.c (includes): Likewise.
34536
34537 2009-09-19  Jim Meyering  <meyering@redhat.com>
34538
34539         test-posixtm.c: correct a comment
34540         * tests/test-posixtm.c: Correct first-line comment.
34541         Spotted by Eric Blake.
34542
34543 2009-09-16  Jim Meyering  <meyering@redhat.com>
34544
34545         posixtm-tests: make T const-correct; add a test case
34546         * tests/test-posixtm.c (T): Declare const.
34547         Add a test for -(2^31+1).
34548         Remove useless can-succeed-only-in-2002 test.
34549
34550         posixtm-tests: adjust the sole failing test
34551         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
34552         expected output matches what mktime now produces.  Cross-checked via
34553         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
34554
34555         posixtm: move #ifdef'd tests into a new module
34556         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
34557         * tests/test-posixtm.c: ... this new file.
34558         * modules/posixtm-tests: New module.
34559
34560 2009-09-19  Eric Blake  <ebb9@byu.net>
34561
34562         openat: simplify use of at-func.c
34563         * lib/at-func.c (includes): Include prerequisites here, to
34564         simplify requirements on client files.
34565         * lib/openat-priv.h: Add double-inclusion guard.
34566         * lib/faccessat.c (includes): Simplify.
34567         * lib/fchmodat.c (includes): Likewise.
34568         * lib/fchownat.c (includes): Likewise.
34569         * lib/mkdirat.c (includes): Likewise.
34570         * lib/mkfifoat.c (includes): Likewise.
34571         * lib/symlinkat.c (includes): Likewise.
34572
34573         openat: allow return of fd 0
34574         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
34575         * modules/save-cwd (Depends-on): Replace fcntl-safer with
34576         unistd-safer.
34577         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
34578         <fcntl.h>; this module does not leak fds.
34579         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
34580         must be allowed to return 0, leaving openat_safer to add the
34581         safety.
34582         (openat_permissive): Avoid writing to just-opened fd 2 if
34583         restoring the current directory fails.
34584         * lib/openat-die.c (openat_restore_fail): Add comment.
34585         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
34586         (save_cwd): Guarantee safe fd, but without use of open_safer.
34587         * tests/test-openat.c: New test.
34588         * modules/openat-tests (Files, Makefile.am): Distribute and build
34589         new file.
34590
34591         relocatable-prog-wrapper: fix build
34592         * modules/relocatable-prog-wrapper (Files): Update name of
34593         canonicalize m4 file, broken on 2009-09-17.
34594         Reported by emad hajjar <aleppos@hotmail.com>.
34595
34596 2009-09-19  Bruno Haible  <bruno@clisp.org>
34597
34598         * lib/safe-alloc.h: Use the standard header with GPL copyright.
34599         * lib/safe-alloc.c: Likewise.
34600         Reported by Ian Beckwith <ianb@erislabs.net>.
34601
34602 2009-09-18  Bruno Haible  <bruno@clisp.org>
34603
34604         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
34605         Reported by <erobles@sensacd.com.mx>.
34606
34607 2009-09-17  Eric Blake  <ebb9@byu.net>
34608
34609         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
34610         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
34611         slashes when checking if last component is missing.
34612         * tests/test-canonicalize.c (main): Test this.
34613
34614         canonicalize, canonicalize-lgpl: honor // if distinct from /
34615         * modules/canonicalize (Files): Add double-slash-root.m4.
34616         * modules/canonicalize-lgpl (Files): Likewise.
34617         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34618         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
34619         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
34620         fallback definition.
34621         (canonicalize_filename_mode): Use it to protect //.
34622         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
34623         (__realpath): Likewise.
34624         * tests/test-canonicalize.c (main): Test this.
34625         * tests/test-canonicalize-lgpl.c (main): Likewise.
34626         * modules/canonicalize-tests (Depends-on): Add same-inode.
34627         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34628
34629         canonicalize-lgpl: fix glibc bug with trailing slash
34630         * m4/canonicalize-lgpl.m4: Move contents...
34631         * m4/canonicalize.m4: ...here.
34632         (gl_CANONICALIZE_LGPL): Factor realpath check...
34633         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
34634         glibc 2.3.5 bug, fixed 2005-04-27.
34635         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
34636         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
34637         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
34638         * modules/canonicalize-lgpl (Files): Manage file rename.
34639         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34640         * modules/stdlib (Makefile.am): Substitute witness.
34641         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
34642         is needed.
34643         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
34644         replacement is required.
34645         * lib/canonicalize.c (canonicalize_file_name): Likewise.
34646         * doc/glibc-functions/canonicalize_file_name.texi
34647         (canonicalize_file_name): Document this.
34648         * doc/posix-functions/realpath.texi (realpath): Likewise.
34649
34650         canonicalize-lgpl: reject non-directory with trailing slash
34651         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
34652         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
34653         catches failures in glibc 2.3.5.
34654         * tests/test-canonicalize.c (main): Likewise.
34655
34656         canonicalize-lgpl: use native realpath if it works
34657         * lib/canonicalize-lgpl.c (realpath): Guard with
34658         FUNC_REALPATH_WORKS.
34659         * lib/stdlib.in.h (realpath): Make declaration optional based on
34660         HAVE_REALPATH.
34661         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
34662         native realpath works.
34663         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34664         * modules/stdlib (Makefile.am): Substitute witness.
34665
34666         canonicalize, canonicalize-lgpl: use <stdlib.h>
34667         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
34668         (Include): Mention <stdlib.h>.
34669         (configure.ac): Mention functions we provide.
34670         * modules/canonicalize (configure.ac): Likewise.
34671         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
34672         realpath if canonicalize_file_name is missing.
34673         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
34674         * modules/stdlib (Makefile.am): Substitute witnesses.
34675         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
34676         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
34677         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
34678         * NEWS: Document this.
34679         * doc/glibc-functions/canonicalize_file_name.texi
34680         (canonicalize_file_name): Likewise.
34681         * doc/posix-functions/realpath.texi (realpath): Likewise.
34682         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
34683
34684         test-canonicalize: consolidate into single C program
34685         * tests/test-canonicalize.sh: Delete; move setup into...
34686         * tests/test-canonicalize.c (main): ...the program, making it
34687         easier to run in debugger.  Add some tests.
34688         * modules/canonicalize-tests (Files): Remove unused file.
34689         (Depends-on): Add progname.
34690         (configure.ac, Makefile.am): Simplify.
34691
34692         test-canonicalize-lgpl: consolidate into single C program
34693         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
34694         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
34695         easier to run in debugger.  Add some tests.
34696         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
34697         (configure.ac, Makefile.am): Simplify.
34698
34699         canonicalize: avoid resolvepath
34700         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
34701         unnecessary checks.
34702         * lib/canonicalize.c (includes): Simplify.
34703         (canonicalize_file_name): Drop resolvepath implementation.
34704         * modules/canonicalize (Depends-on): Drop filenamecat.
34705
34706         canonicalize: don't lose errno
34707         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
34708         over calls to free.
34709
34710         canonicalize: simplify errno handling
34711         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
34712         assignment.
34713
34714         canonicalize, canonicalize-lgpl: update module dependencies
34715         * modules/canonicalize (Depends-on): Add extensions, lstat,
34716         pathmax, stdlib.
34717         (Files): Drop pathmax.h.
34718         (configure.ac): Adjust macro name.
34719         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
34720         lstat, stdlib, sys_stat.
34721         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
34722         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
34723         extensions.
34724         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
34725         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
34726         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
34727         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
34728         declaration, if available.
34729         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
34730         we can rely on the readlink module.
34731         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
34732         (includes): Use <unistd.h> unconditionally.
34733
34734 2009-09-17  Eric Blake  <ebb9@byu.net>
34735
34736         maint: make Include sections of modules consistent
34737         * modules/alloca: Use only header name; no need to list #include.
34738         * modules/alloca-opt: Likewise.
34739         * modules/arpa_inet: Likewise.
34740         * modules/canon-host: Likewise.
34741         * modules/configmake: Likewise.
34742         * modules/dirent: Likewise.
34743         * modules/eealloc: Likewise.
34744         * modules/environ: Likewise.
34745         * modules/fchdir: Likewise.
34746         * modules/fcntl: Likewise.
34747         * modules/fcntl-h: Likewise.
34748         * modules/gethrxtime: Likewise.
34749         * modules/gettime: Likewise.
34750         * modules/ignore-value: Likewise.
34751         * modules/inet_ntop: Likewise.
34752         * modules/inet_pton: Likewise.
34753         * modules/inttypes: Likewise.
34754         * modules/isnand-nolibm: Likewise.
34755         * modules/isnanf-nolibm: Likewise.
34756         * modules/mbchar: Likewise.
34757         * modules/mbfile: Likewise.
34758         * modules/mbiter: Likewise.
34759         * modules/mbuiter: Likewise.
34760         * modules/netdb: Likewise.
34761         * modules/netinet_in: Likewise.
34762         * modules/nproc: Likewise.
34763         * modules/pagealign_alloc: Likewise.
34764         * modules/poll: Likewise.
34765         * modules/printf-frexp: Likewise.
34766         * modules/pthread: Likewise.
34767         * modules/putenv: Likewise.
34768         * modules/random_r: Likewise.
34769         * modules/relocatable-prog: Likewise.
34770         * modules/search: Likewise.
34771         * modules/select: Likewise.
34772         * modules/selinux-h: Likewise.
34773         * modules/settime: Likewise.
34774         * modules/signal: Likewise.
34775         * modules/size_max: Likewise.
34776         * modules/socklen: Likewise.
34777         * modules/ssize_t: Likewise.
34778         * modules/stdarg: Likewise.
34779         * modules/stdbool: Likewise.
34780         * modules/stddef: Likewise.
34781         * modules/stdint: Likewise.
34782         * modules/stdio: Likewise.
34783         * modules/stdlib: Likewise.
34784         * modules/string: Likewise.
34785         * modules/strings: Likewise.
34786         * modules/sys_file: Likewise.
34787         * modules/sys_ioctl: Likewise.
34788         * modules/sys_select: Likewise.
34789         * modules/sys_socket: Likewise.
34790         * modules/sys_stat: Likewise.
34791         * modules/sys_time: Likewise.
34792         * modules/sys_times: Likewise.
34793         * modules/sys_utsname: Likewise.
34794         * modules/sys_wait: Likewise.
34795         * modules/sysexits: Likewise.
34796         * modules/time: Likewise.
34797         * modules/times: Likewise.
34798         * modules/tmpfile: Likewise.
34799         * modules/trim: Likewise.
34800         * modules/unistd: Likewise.
34801         * modules/wchar: Likewise.
34802         * modules/wctype: Likewise.
34803
34804 2009-09-17  Bruno Haible  <bruno@clisp.org>
34805
34806         Make getdate.y compile on QNX and NetBSD 5 / i386.
34807         * m4/getdate.m4 (gl_GETDATE): Conditionally define
34808         TIME_T_FITS_IN_LONG_INT.
34809         * lib/getdate.y (long_time_t): New type.
34810         (relative_time): Change type of 'seconds' field to long_time_t.
34811         (get_date): Update types of local variables. Check against overflow
34812         during conversion from long_time_t to time_t.
34813         Reported by Matt Kraai <kraai@ftbfs.org>
34814         and Hasso Tepper <hasso@netbsd.org>.
34815
34816 2009-09-17  Bruno Haible  <bruno@clisp.org>
34817
34818         * modules/COPYING: Update copyright years.
34819         * modules/README: Likeiwse.
34820         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
34821         Reported by Ian Beckwith <ianb@erislabs.net>.
34822
34823 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34824
34825         * users.txt: Update references for gnuit package.
34826
34827 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34828
34829         * m4/getdelim.m4: Fix typo in copyright line.
34830
34831 2009-09-17  Bruno Haible  <bruno@clisp.org>
34832
34833         * lib/atoll.c: Use the standard header with GPL copyright.
34834         * lib/argz.in.h: Likewise.
34835         * lib/glob.c: Likewise.
34836         * lib/glob-libc.h: Likewise.
34837         * lib/random_r.c: Likewise.
34838         * lib/siglist.h: Likewise.
34839         * lib/strsignal.c: Likewise.
34840         Reported by Ian Beckwith <ianb@erislabs.net>.
34841
34842 2009-09-17  Eric Blake  <ebb9@byu.net>
34843
34844         rmdir: ensure correct dependency order
34845         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
34846
34847 2009-09-17  Bruno Haible  <bruno@clisp.org>
34848
34849         Disable assertion that fails on NetBSD 5 / i386.
34850         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
34851         Reported by Sam Steingold <sds@gnu.org>
34852         and Hasso Tepper <hasso@netbsd.org>.
34853
34854 2009-09-16  Eric Blake  <ebb9@byu.net>
34855
34856         unlinkdir: port to mingw
34857         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
34858         on which no one can unlink a directory.
34859
34860         stdlib: sort witness names
34861         * modules/stdlib (Makefile.am): Sort replacements.
34862         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
34863         * lib/stdlib.in.h: Likewise.
34864
34865         parse-duration-tests: avoid link failure
34866         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
34867         LIBINTL.
34868         Reported by Tom G. Christensen.
34869
34870         openat-tests: ensure unlinkat behaves like rmdir
34871         * tests/test-rmdir.c (main): Factor guts...
34872         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
34873         * modules/rmdir-tests (Files): Ship new file.
34874         * modules/openat-tests: New test.
34875         * tests/test-unlinkat.c: Likewise.
34876
34877         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
34878         * modules/rmdir-errno (Status, Notice): Now obsolete.
34879
34880         rmdir: work around cygwin 1.5.x and mingw bugs
34881         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
34882         * lib/rmdir.c (rmdir): Work around it.
34883         * modules/rmdir (Status, Notice): No longer obsolete.
34884         (Files): Add dos.m4.
34885         (Depends-on): Add unistd.
34886         (configure.ac): Set witnesses.
34887         (License): Relax to LGPLv2+.
34888         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
34889         * modules/unistd (Makefile.am): Substitute witnesses.
34890         * lib/unistd.in.h (rmdir): Declare replacement.
34891         * doc/posix-functions/rmdir.texi (rmdir): Document this.
34892         * modules/rmdir-tests: New tests.
34893         * tests/test-rmdir.c: Likewise.
34894
34895 2009-09-15  Eric Blake  <ebb9@byu.net>
34896
34897         fchdir: improve use of replacement functions
34898         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
34899         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
34900         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
34901         REPLACE_CLOSEDIR.
34902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
34903         * modules/sys_stat (Makefile.am): Substitute correct witness.
34904         * modules/dirent (Makefile.am): Likewise.
34905         * modules/unistd (Makefile.am): Likewise.
34906         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
34907         * lib/unistd.in.h (dup): Likewise.
34908         * lib/sys_stat.in.h (fstat): Likewise.
34909
34910         maint: ignore gnulib-tool temp files
34911         * .gitignore: Ignore files created during gnulib-tool --test.
34912
34913 2009-09-13  Jim Meyering  <meyering@redhat.com>
34914
34915         posixtm: don't reject a time that specify "60" as the number of seconds
34916         * lib/posixtm.c (posixtime): The code to reject invalid dates
34917         would also reject a time specified with the .60 suffix.
34918         But POSIX allows that, in order to accommodate leap seconds.
34919         So don't reject it.
34920         (main): Adjust tests accordingly.
34921         * modules/posixtm (Depends-on): Add stpcpy.
34922
34923 2009-09-11  Jim Meyering  <meyering@redhat.com>
34924
34925         announce-gen: include [$release_type] in emitted Subject:
34926         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
34927         e.g., [stable] in the emitted Subject: line.
34928
34929 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34930
34931         Remove obsolete macros from several modules.
34932         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
34933         obsolete Autoconf macros with their modern counterparts.
34934         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
34935         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
34936         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
34937         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
34938         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
34939         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
34940         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
34941         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
34942         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
34943         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
34944         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34945         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34946         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
34947         * m4/sockets.m4 (gl_SOCKETS): Likewise.
34948         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
34949         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
34950         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34951         * m4/time_r.m4 (gl_TIME_R): Likewise.
34952         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
34953         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
34954         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34955
34956         Fix copyright header in build-aux scripts.
34957         * build-aux/git-version-gen: Fix copyright header to match GPLv3
34958         recommendation.
34959         * build-aux/ncftpput-ftp: Likewise.
34960         * build-aux/update-copyright: Likewise.
34961
34962 2009-09-09  Eric Blake  <ebb9@byu.net>
34963
34964         test-link: allow Linux choice of errno
34965         * tests/test-link.c (main): Relax test for alternate error.
34966
34967         strndup: fix improper m4 caching
34968         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
34969         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
34970         (gl_PREREQ_STRNDUP): Delete.
34971         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
34972         * modules/string (Makefile.am): Substitute it.
34973         * lib/string.in.h (strndup): Modernize prototype.
34974
34975         getcwd: port to mingw
34976         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
34977         different from the POSIX assumptions made throughout the getcwd
34978         module; fortunately, the mingw getcwd does not need replacement.
34979         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
34980         * modules/getcwd-tests: New test.
34981         * tests/test-getcwd.c: Likewise.
34982
34983         link: fix platform bugs
34984         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
34985         * lib/link.c (link): Work around them.  Fix related mingw bug.
34986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
34987         * modules/unistd (Makefile.am): Substitute it.
34988         * lib/unistd.in.h (link): Declare replacement.
34989         * doc/posix-functions/link.texi (link): Document this.
34990         * modules/link (Depends-on): Add strdup-posix, sys_stat.
34991
34992         test-link: consolidate into single C program, test more cases
34993         * tests/test-link.sh: Delete.
34994         * tests/test-link.c: Test more error conditions.  Exposes bugs on
34995         at least Cygwin and Solaris.
34996         * modules/link-tests (Files): Remove unused file.
34997         (Depends-on): Add errno, sys_stat.
34998         (Makefile.am): Simplify.
34999
35000 2009-09-08  Bruno Haible  <bruno@clisp.org>
35001
35002         Work around towlower, towupper bug on mingw.
35003         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
35004         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
35005         * doc/posix-functions/towlower.texi: Mention the mingw bug.
35006         * doc/posix-functions/towupper.texi: Likewise.
35007         Reported by Eric Blake.
35008
35009 2009-09-08  Jim Meyering  <meyering@redhat.com>
35010
35011         build: don't try to run autoheader if we don't use it
35012         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
35013         is not used in configure.ac.
35014
35015 2009-09-08  Eric Blake  <ebb9@byu.net>
35016
35017         euidaccess: fix compilation error
35018         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
35019
35020         rawmemchr: relax license
35021         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
35022         okay.
35023         Reported by Jim Meyering.
35024
35025         mkfifoat: new module
35026         * modules/mkfifoat: New file.
35027         * lib/mkfifoat.c: Likewise.
35028         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
35029         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35030         * modules/sys_stat (Makefile.am): Use them.
35031         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
35032         * MODULES.html.sh (File system functions): Mention module.
35033         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
35034         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
35035         * modules/mkfifoat-tests: New test.
35036         * tests/test-mkfifoat.c: Likewise.
35037
35038         strchrnul: relax license
35039         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
35040         okay.
35041         Reported by Jim Meyering.
35042
35043 2009-09-08  Eric Blake  <ebb9@byu.net>
35044
35045         fstatat: fix compilation on Solaris
35046         * lib/fstatat.c (includes): Add fcntl.h.
35047         Reported by Pádraig Brady.
35048
35049 2009-09-07  Eric Blake  <ebb9@byu.net>
35050
35051         rename: modernize replacement
35052         * modules/rename (Depends-on): Add stdio.
35053         (configure.ac): Declare witness.
35054         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
35055         stdio take care of replacement.
35056         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35057         * modules/stdio (Makefile.am): Substitute them.
35058         * lib/stdio.in.h (rename): Declare replacement.
35059         * lib/rename.c (includes): Allow cross-compilation to non-windows
35060         machines.
35061         * doc/posix-functions/rename.texi (rename): Improve
35062         documentation.
35063
35064         stdio: sort witness names
35065         * modules/stdio (Makefile.am): Sort replacements.
35066         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35067         * lib/stdio.in.h: Likewise.
35068
35069         getcwd: minor cleanups
35070         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
35071         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
35072
35073         openat: provide more convenience names
35074         * modules/faccessat (configure.ac): Add C witness.
35075         * lib/unistd.in.h (readlinkat): Fix typo.
35076         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
35077         convenience wrappers.
35078         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
35079         wrappers in syntax checks.
35080
35081 2009-09-06  Eric Blake  <ebb9@byu.net>
35082
35083         doc: fix comments in recent patches
35084         * lib/faccessat.c: Mention correct function.
35085         * lib/fchmodat.c: Likewise.
35086         * lib/fchownat.c: Likewise.
35087         * lib/symlinkat.c: Likewise.
35088         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
35089         constants.
35090
35091         faccessat, symlinkat: continue cleanup of previous patch
35092         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
35093         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35094         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
35095         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
35096         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
35097         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
35098         set.
35099
35100 2009-09-06  Bruno Haible  <bruno@clisp.org>
35101
35102         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
35103         (fstatat): Declare if GNULIB_FSTATAT is set.
35104         (mkdirat): Declare if GNULIB_MKDIRAT is set.
35105         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
35106         (unlinkat): Declare if GNULIB_UNLINKAT is set.
35107         * modules/fcntl-h (Files): Remove m4/openat.m4.
35108         * modules/sys_stat (Files): Remove m4/openat.m4.
35109         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
35110         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
35111         * modules/unistd (Files): Remove m4/openat.m4.
35112         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
35113         GNULIB_OPENAT.
35114         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
35115         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
35116         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
35117         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
35118         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
35119         gl_OPENAT_DEFAULTS.
35120         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
35121         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
35122         Don't require gl_OPENAT_DEFAULTS.
35123         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
35124         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
35125         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
35126         (gl_OPENAT_DEFAULTS): Remove macro.
35127
35128 2009-09-06  Bruno Haible  <bruno@clisp.org>
35129
35130         * modules/openat (configure.ac): Remove unneeded witness.
35131
35132 2009-09-06  Bruno Haible  <bruno@clisp.org>
35133
35134         Set errno to ENOSYS when a function is entirely unsupported.
35135         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
35136         EOPNOTSUPP.
35137         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35138         * modules/chown (Depends-on): Remove errno.
35139
35140 2009-09-06  Bruno Haible  <bruno@clisp.org>
35141
35142         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
35143
35144 2009-09-06  Bruno Haible  <bruno@clisp.org>
35145
35146         * lib/sys_stat.in.h: Fix preprocessor command indentation.
35147
35148 2009-09-06  Ben Pfaff  <blp@gnu.org>
35149             Bruno Haible  <bruno@clisp.org>
35150
35151         Work around a glibc bug in strtok_r.
35152         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
35153         Undefine if UNDEFINE_STRTOK_R is set.
35154         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
35155         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35156         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
35157         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
35158         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
35159         UNDEFINE_STRTOK_R.
35160         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
35161
35162 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
35163
35164         exclude: minor fix
35165         * lib/exclude.c: Include wctype.h
35166
35167 2009-09-06  Akim Demaille  <demaille@gostai.com>
35168
35169         bootstrap: improve error message
35170         * build-aux/bootstrap (find_tool): Upon failure, report the list
35171         of candidates.
35172         Honor the initial value of the envvar.
35173
35174 2009-09-05  Eric Blake  <ebb9@byu.net>
35175
35176         symlinkat: new module
35177         * modules/symlinkat: New file.
35178         * lib/symlinkat.c: Likewise.
35179         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
35180         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35181         * modules/unistd (Makefile.am): Use them.
35182         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
35183         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
35184         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
35185         * MODULES.html.sh (File system functions): Mention module.
35186         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35187         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35188         * modules/symlinkat-tests: New test.
35189         * tests/test-symlinkat.c: Likewise.
35190
35191         test-openat-safer: add more checks
35192         * tests/test-openat-safer.c (main): Check more code paths.
35193
35194 2009-09-05  Jim Meyering  <meyering@redhat.com>
35195
35196         syntax-check: detect unnecessary inclusion of openat.h
35197         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
35198
35199 2009-09-05  Bruno Haible  <bruno@clisp.org>
35200
35201         Support towlower, towupper.
35202         * doc/posix-functions/towlower.texi: Mention module wctype.
35203         * doc/posix-functions/towupper.texi: Likewise.
35204         * lib/wctype.in.h (towlower, towupper): New functions.
35205         * tests/test-wctype.c: Include stdio.h, stdlib.h.
35206         (ASSERT): New macro.
35207         (e): New variable.
35208         (main): Test also towlower, towupper. Test WEOF argument.
35209         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35210
35211 2009-09-05  Bruno Haible  <bruno@clisp.org>
35212
35213         Fix conversion behaviour when the input is invalid.
35214         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
35215         mark occurring in first pass of indirect conversion.
35216         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
35217         input.
35218         Found by clang's static analyzer.
35219
35220 2009-09-05  Bruno Haible  <bruno@clisp.org>
35221
35222         * tests/test-striconveh.c (main): Test indirect conversion on platforms
35223         where direct conversion is possible.
35224
35225 2009-09-04  Eric Blake  <ebb9@byu.net>
35226
35227         openat: fail with ENOENT on empty name
35228         * lib/openat-proc.c (openat_proc_name): Special-case the empty
35229         buffer.
35230
35231         link-follow: fix logic bug in prior patch
35232         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
35233         reversed sense of yes and no in prior patch.  Avoid confusing
35234         compilation failure with desired semantics.
35235
35236         link-follow: accomodate mingw and cross-compilation
35237         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
35238         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
35239         cross-compilation results to -1, to make linkat easier to
35240         implement when cross-compiling.  Trivially support mingw.
35241         * modules/link-follow (configure.ac): Call new name.
35242         * NEWS: Mention this.
35243
35244 2009-09-03  Eric Blake  <ebb9@byu.net>
35245
35246         faccessat: compile replacement
35247         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
35248         needed.
35249
35250         fts: fix compilation error
35251         * lib/fts.c (includes): Re-add "openat.h", for
35252         openat_needs_fchdir.
35253
35254         faccessat: new module
35255         * modules/faccessat: New file.
35256         * lib/faccessat.c: Likewise.
35257         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35259         * modules/unistd (Makefile.am): Use it.
35260         * lib/unistd.in.h (faccessat): Declare it.
35261         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
35262         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
35263         * MODULES.html.sh (File system functions): Mention it.
35264         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
35265         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35266
35267         euidaccess: prefer POSIX over non-standard implementation
35268         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
35269         * lib/euidaccess.c (euidaccess): Use it if available.
35270
35271         openat: make template easier to use
35272         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
35273         AT_FUNC_F2 to be undefined.
35274         (VALIDATE_FLAG): New macro; use it to reject bad flags.
35275         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
35276         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
35277         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
35278         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
35279         Likewise.
35280         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
35281         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
35282         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
35283         Likewise.
35284
35285         openat: declare in POSIX headers
35286         * NEWS: Mention this.
35287         * modules/openat (configure.ac): Declare witnesses.
35288         (Depends-on): Add fcntl-h, sys_stat, unistd.
35289         (Include): Mention correct headers.
35290         * modules/fcntl-h (Depends-on): Add link-warning.
35291         (Files): Add openat.m4.
35292         (Makefile.am): Substitute witnesses.
35293         * modules/sys_stat (Files, Makefile.am): Likewise.
35294         * modules/unistd (Files, Makefile.am): Likewise.
35295         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
35296         (gl_OPENAT_DEFAULTS): New macro.
35297         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
35298         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
35299         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
35300         (SYS_STAT_H): Remove unused variable.
35301         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
35302         * lib/fcntl--.h (includes): Remove unneeded header.
35303         * lib/openat-safer.c (includes): Likewise.
35304         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
35305         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
35306         appropriate headers.
35307         (__OPENAT_PREFIX): Delete.
35308         * lib/fcntl.in.h (openat): Provide declaration.
35309         (AT_FDCWD): Fix Solaris bug.
35310         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
35311         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
35312         * lib/fchmodat.c (includes):  Adjust to find declaration.
35313         * lib/fchownat.c (includes): Likewise.
35314         * lib/mkdirat.c (includes): Likewise.
35315         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
35316         still visible.
35317
35318 2009-09-02  Eric Blake  <ebb9@byu.net>
35319
35320         errno: use consistently
35321         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
35322         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
35323         * lib/canonicalize.c (ELOOP): Likewise.
35324         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
35325         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
35326         * lib/lchown.c (EOPNOTSUPP): Likewise.
35327         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
35328         * lib/savewd.c (ESTALE): Likewise.
35329         * lib/settime.c (ENOSYS): Likewise.
35330         * lib/utimens.c (ENOSYS): Likewise.
35331         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
35332         * lib/chdir-safer.c (ELOOP): Likewise.
35333         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
35334         * modules/c-stack (Depends-on): Add errno.
35335         * modules/canonicalize (Depends-on): Likewise.
35336         * modules/chdir-safer (Depends-on): Likewise.
35337         * modules/fdopendir (Depends-on): Likewise.
35338         * modules/inet_ntop (Depends-on): Likewise.
35339         * modules/inet_pton (Depends-on): Likewise.
35340         * modules/lchown (Depends-on): Likewise.
35341         * modules/openat (Depends-on): Likewise.
35342         * modules/savewd (Depends-on): Likewise.
35343         * modules/settime (Depends-on): Likewise.
35344         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
35345
35346         fts: avoid leaking fds
35347         * modules/fts (Depends-on): Add cloexec.
35348         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
35349         flag.
35350
35351         fts: make directory fds more robust
35352         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
35353         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
35354
35355         backupfile, chdir-long, fts, savedir: make safer
35356         * lib/backupfile.c (includes): Use "dirent--.h", since
35357         numbered_backup can write to stderr during readdir.
35358         * lib/savedir.c (includes): Likewise.
35359         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
35360         emulation can write to stderr on failure.
35361         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
35362         * lib/getcwd.c: Document why opendir_safer is unused.
35363         * lib/glob.c: Likewise.
35364         * lib/scandir.c: Likewise.
35365         * lib/openat-proc.c: Likewise, for open_safer.
35366         * modules/backupfile (Depends-on): Add dirent-safer.
35367         * modules/savedir (Depends-on): Likewise.
35368         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
35369         * modules/chdir-long (Depends-on): Add openat-safer.
35370
35371         openat-safer: new module
35372         * modules/openat-safer: New file.
35373         * lib/openat-safer.c: Likewise.
35374         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
35375         * lib/fcntl-safer.h (openat_safer): Declare.
35376         * lib/fcntl--.h (openat): Override.
35377         * MODULES.html.sh (File descriptor based I/O): Mention it.
35378         * lib/openat.h: Add double-inclusion guards.
35379         * lib/openat.c (includes): Only include "fcntl-safer.h", not
35380         "fcntl--.h", so we can implement openat.
35381         * modules/openat-safer-tests: New test.
35382         * tests/test-openat-safer.c: New file.
35383
35384         dirent-safer: new module
35385         * modules/dirent-safer: New file.
35386         * lib/dirent--.h: Likewise.
35387         * lib/dirent-safer.h: Likewise.
35388         * lib/opendir-safer.c: Likewise.
35389         * m4/dirent-safer.m4: Likewise.
35390         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
35391         * modules/dirent-safer-tests: New test.
35392         * tests/test-dirent-safer.c: New file.
35393         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
35394
35395         fdopendir: optimize on mingw
35396         * lib/unistd.in.h (_gl_directory_name): New prototype.
35397         * lib/fchdir.c (_gl_directory_name): Implement it.
35398         (fchdir): Use it to simplify implementation.
35399         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
35400         fchdir, when available, to avoid calling [f]chdir().
35401
35402         fdopendir: split into its own module
35403         * lib/openat.c (fdopendir): Move...
35404         * lib/fdopendir.c: ...into new file.
35405         * modules/fdopendir: New module.
35406         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
35407         * modules/openat (Depends-on): Add fdopendir.
35408         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
35409         fdopendir here.
35410         * modules/savedir (Depends-on): Only need fdopendir, not full
35411         openat.
35412         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
35413         * lib/openat.h (fdopendir): Drop prototype.
35414         * lib/dirent.in.h (fdopendir): Provide prototype.
35415         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
35416         * modules/dirent (Makefile.am): Substitute them.
35417         * MODULES.html.sh (File system functions): Mention it.
35418         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
35419         * modules/fdopendir-tests: New file.
35420         * tests/test-fdopendir.c: Likewise.
35421
35422         fchdir: use more consistent macro convention
35423         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
35424         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
35425         REPLACE_FCHDIR, rather than relying on config.h macros.
35426         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
35427         inside a single make-time REPLACE_FCHDIR block, rather than using
35428         the config.h FCHDIR_REPLACEMENT.
35429         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
35430         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
35431         Manage fstat replacement.
35432         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
35433         REPLACE_FCHDIR.
35434         * modules/sys_stat (Files): Add m4/unistd_h.m4.
35435         (Makefile.am): Substitute REPLACE_FCHDIR.
35436         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
35437         FCHDIR_REPLACEMENT.
35438         * lib/dup-safer.c (dup_safer): Likewise.
35439         * lib/dup2.c (rpl_dup2): Likewise.
35440         * lib/dup3.c (rpl_dup3): Likewise.
35441         * lib/open.c (rpl_open): Likewise.
35442
35443         fchdir: simplify error handling, and support dup3
35444         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
35445         stdbool, malloc-posix, realloc-posix.
35446         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
35447         (ensure_dirs_slot): Return false on allocation failure.
35448         (rpl_dup2): Delete.
35449         (_gl_register_dup): New function.
35450         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
35451         (_gl_register_fd): Close fd on allocation failure.
35452         * lib/fcntl.in.h (_gl_register_fd): Update signature.
35453         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
35454         prototype.
35455         (rpl_dup2_fchdir): Delete prototype.
35456         * lib/open.c (open): Update caller.
35457         * lib/dup2.c (dup2): Track fchdir metadata.
35458         * lib/dup3.c (dup3): Likewise.
35459         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
35460         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
35461
35462 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35463
35464         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35465         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35466         don't pass arguments to AC_OUTPUT.
35467
35468 2009-09-02  Bruno Haible  <bruno@clisp.org>
35469
35470         * modules/mkdtemp (License): Relicense under LGPLv2+.
35471         Reported by Paolo Bonzini.
35472
35473 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35474
35475         Replace uses of obsolete autoconf macros in Jim's modules.
35476         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35477         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35478         can evoke a warning from autoconf when run with -Wobsolete
35479         enabled.  They were declared obsolete for good reasons (see
35480         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35481         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35482         should not continue using the deprecated macros.
35483         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35484         obsolete Autoconf macros with modern counterparts.
35485         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35486         * m4/dos.m4 (gl_AC_DOS): Likewise.
35487         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35488         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35489         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35490         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35491         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35492         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35493         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35494         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35495         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35496         Likewise.
35497         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35498         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35499         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35500         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35501         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35502         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35503
35504 2009-09-01  Eric Blake  <ebb9@byu.net>
35505
35506         fchdir: fix off-by-one bug in previous patch
35507         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35508         (_gl_unregister_fd): Delete useless if.
35509
35510 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35511
35512         maint.mk: sort the list of syntax-check rules
35513         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35514         easier to get a sense of progress when the rules are run sequentially
35515         and take a long time.
35516
35517 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35518
35519         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35520         * modules/netinet_in: Likewise.
35521         * modules/sys_file: Likewise.
35522         * modules/sys_ioctl: Likewise.
35523         * modules/sys_select: Likewise.
35524         * modules/sys_socket: Likewise.
35525         * modules/sys_stat: Likewise.
35526         * modules/sys_time: Likewise.
35527         * modules/sys_times: Likewise.
35528         * modules/sys_utsname: Likewise.
35529         * modules/sys_wait: Likewise.
35530
35531 2009-09-01  Jim Meyering  <meyering@redhat.com>
35532
35533         fts: help ensure that return values are not ignored
35534         * lib/fts_.h (__GNUC_PREREQ): Define.
35535         (__attribute_warn_unused_result__): Define.
35536         (fts_children, fts_close, fts_open, fts_read): Declare with
35537         __attribute_warn_unused_result__.
35538
35539         fts: fts_close now fails also when closing a dir file descriptor fails
35540         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
35541         and propagate to caller, along with errno.
35542
35543         announce-gen: correct formatting in --help output
35544         * build-aux/announce-gen (usage): Move the one-line description in
35545         --help output "up", to where it belongs, just after Usage:.
35546
35547 2009-08-31  Eric Blake  <ebb9@byu.net>
35548
35549         fchdir: port to mingw
35550         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
35551         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
35552         opened, then use a substitute.
35553         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
35554         replacement.
35555         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
35556         (_gl_register_fd): No need to check stat if open already filters
35557         all directories.
35558         (fchdir): Fix error condition to match POSIX.
35559         * modules/fchdir (Depends-on): Add sys_stat.
35560         * doc/posix-functions/open.texi (open): Document the limitation.
35561         * modules/fchdir-tests: New file.
35562         * tests/test-fchdir.c: Likewise.
35563
35564         canonicalize: allow cross-testing from cygwin to mingw
35565         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
35566         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
35567         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
35568         Likewise.
35569         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
35570         target does not support symlinks.
35571         * tests/test-canonicalize-lgpl.sh: Likewise.
35572
35573         chown: avoid compilation warning on mingw
35574         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
35575         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
35576         mingw.
35577         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35578         * modules/chown (Depends-on): Add errno.
35579
35580 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
35581
35582         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
35583         command.
35584
35585 2009-08-31  Jim Meyering  <meyering@redhat.com>
35586
35587         canonicalize: remove useless initialization
35588         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
35589         initialization of local, "end".
35590
35591 2009-08-30  Bruno Haible  <bruno@clisp.org>
35592
35593         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
35594         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
35595         ENOSYS.
35596
35597 2009-08-30  Bruno Haible  <bruno@clisp.org>
35598
35599         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
35600         /usr/xpg4/bin/tr when it exists.
35601         * tests/test-pipe-filter-gi1.sh: Likewise.
35602
35603 2009-08-30  Bruno Haible  <bruno@clisp.org>
35604
35605         Work around deficient /usr/bin/id program on Solaris.
35606         * tests/test-file-has-acl.sh (ID): New variable.
35607         * tests/test-set-mode-acl.sh (ID): Likewise.
35608         * tests/test-copy-acl.sh (ID): Likewise.
35609         * tests/test-copy-file.sh (ID): Likewise.
35610
35611 2009-08-30  Bruno Haible  <bruno@clisp.org>
35612
35613         New module 'xstriconveh'.
35614         * lib/xstriconveh.h: New file.
35615         * lib/xstriconveh.c: New file.
35616         * modules/xstriconveh: New file.
35617
35618 2009-08-30  Bruno Haible  <bruno@clisp.org>
35619
35620         Make it easier to use mem_cd_iconveh.
35621         * lib/striconveh.h (iconveh_t): New type.
35622         (iconveh_open, iconveh_close): New declarations.
35623         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35624         with a single 'const iconveh_t *' argument.
35625         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
35626         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35627         with a single 'const iconveh_t *' argument.
35628         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
35629         * tests/test-striconveh.c (main): Update.
35630         * NEWS: Mention the change.
35631
35632 2009-08-30  Bruno Haible  <bruno@clisp.org>
35633
35634         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
35635         problem.
35636
35637 2009-08-30  Bruno Haible  <bruno@clisp.org>
35638
35639         Work around iconv_open problem on Solaris.
35640         * lib/iconv_open-solaris.gperf: New file.
35641         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
35642         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
35643         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
35644         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
35645         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
35646         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
35647
35648 2009-08-29  Jim Meyering  <meyering@redhat.com>
35649
35650         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
35651         * top/maint.mk (cvs-check): Remove target; it was just an alias
35652         to the better-named vc-diff-check.
35653         (maintainer-distcheck): Remove rule.  It was used only from
35654         the (alpha/beta/major) target, and all of its commands but one
35655         were coreutils-specific.
35656         (vc-dist): Remove rule.
35657         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
35658         Run vc-diff-check, not vc-dist.
35659         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
35660
35661 2009-08-27  Bruno Haible  <bruno@clisp.org>
35662
35663         * tests/test-bitrotate.c (main): Remove test that uses a shift count
35664         of 0.
35665
35666 2009-08-27  Bruno Haible  <bruno@clisp.org>
35667
35668         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
35669         compilers.
35670         * doc/func.texi: Document the SunPRO C bug.
35671
35672 2009-08-27  Bruno Haible  <bruno@clisp.org>
35673
35674         Fix link error on Solaris.
35675         * tests/test-parse-duration.c (xstrdup): Remove function.
35676
35677 2009-08-26  Pádraig Brady  <P@draigbrady.com>
35678
35679         ignore-value: handle pointer types, too
35680         * lib/ignore-value.h (__attribute__): Remove definition.
35681         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
35682         of a more concise and more-often effective "(void) i" statement.
35683         (ignore_ptr): New function to suppress warnings from functions that
35684         return pointers, and to make it explicit that one function doesn't
35685         handle all cases.
35686
35687 2009-08-25  Bruno Haible  <bruno@clisp.org>
35688
35689         dup2: work around a Linux bug.
35690         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
35691         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
35692         * doc/posix-functions/dup2.texi: Mention the Linux bug.
35693         Reported by Simon Josefsson.
35694
35695 2009-08-25  Jim Meyering  <meyering@redhat.com>
35696
35697         libguestfs uses gnulib
35698         * users.txt: Add libguestfs.
35699
35700 2009-08-24  Eric Blake  <ebb9@byu.net>
35701
35702         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
35703         * lib/pipe2.c (includes): Add binary-io.h.
35704         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
35705
35706 2009-08-24  Bruno Haible  <bruno@clisp.org>
35707
35708         Tolerate declared but missing accept4 syscall.
35709         * lib/accept4.c (accept4): Invoke original accept4 function first, if
35710         available.
35711         * lib/sys_socket.in.h (accept4): If the function is already present,
35712         override it.
35713         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
35714         * modules/accept4 (Makefile.am): Compile accept4.c always.
35715         Reported by Paolo Bonzini and Eric Blake.
35716
35717 2009-08-23  Bruno Haible  <bruno@clisp.org>
35718
35719         New module 'accept4'.
35720         * lib/sys_socket.in.h (accept4): New declaration.
35721         * lib/accept4.c: New file.
35722         * m4/accept4.m4: New file.
35723         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35724         GNULIB_ACCEPT4, HAVE_ACCEPT4.
35725         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
35726         HAVE_ACCEPT4.
35727         * modules/accept4: New file.
35728         * doc/glibc-functions/accept4.texi: Mention the new module.
35729
35730 2009-08-24  Jim Meyering  <meyering@redhat.com>
35731
35732         progname: also set global program_invocation_name, when possible
35733         Before this change, a libtool-enabled program that calls glibc's
35734         error function would report the program name as
35735         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
35736         * modules/progname (configure.ac): Check for a declaration of
35737         program_invocation_name.
35738         * lib/progname.c:  Include <errno.h>.
35739         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
35740         Set program_invocation_name.
35741
35742 2009-08-23  Bruno Haible  <bruno@clisp.org>
35743
35744         * lib/dup3.c: Include <string.h>.
35745
35746 2009-08-23  Bruno Haible  <bruno@clisp.org>
35747
35748         * lib/dup3.c (dup3): Test only once whether the system actually exists.
35749         * lib/pipe2.c (pipe2): Likewise.
35750         Suggested by Eric Blake.
35751
35752 2009-08-23  Bruno Haible  <bruno@clisp.org>
35753
35754         Tolerate declared but missing dup3 syscall.
35755         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
35756         * lib/unistd.in.h (dup3): If the function is already present,
35757         override it.
35758         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
35759         * modules/dup3 (Makefile.am): Compile dup3.c always.
35760         Reported by Paolo Bonzini.
35761
35762 2009-08-23  Bruno Haible  <bruno@clisp.org>
35763
35764         Tolerate declared but missing pipe2 syscall.
35765         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
35766         available.
35767         * lib/unistd.in.h (pipe2): If the function is already present,
35768         override it.
35769         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
35770         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
35771         Reported by Paolo Bonzini.
35772
35773 2009-08-23  Bruno Haible  <bruno@clisp.org>
35774
35775         * lib/pipe2.c (pipe2): Move #ifs inside function.
35776
35777 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35778
35779         quotearg: document limitations of quote_these_too
35780         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
35781         those limitations are created.
35782         * lib/quotearg.h (set_char_quoting): Document that digits and
35783         letters that are special after backslash are not permitted.
35784         (quotearg_char): Cross-reference set_char_quoting documentation.
35785
35786 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
35787
35788         quotearg: implement custom_quoting_style
35789         * lib/quotearg.c: (struct quoting_options): Add left_quote and
35790         right_quote fields.
35791         (set_custom_quoting): New public function.
35792         (quotearg_buffer_restyled): Add left_quote and right_quote
35793         arguments, handle them very much like locale quoting, and update
35794         all uses.
35795         (quotearg_n_custom): New public function.
35796         (quotearg_n_custom_mem): New public function.
35797         (quotearg_custom): New public function.
35798         (quotearg_custom_mem): New public function.
35799         * lib/quotearg.h: Prototype and document new public functions.
35800         (enum quoting_style): For escape_quoting_style and
35801         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
35802         ignored even though they're otherwise like c_quoting_style.
35803         Add custom_quoting_style member and document with comparison to
35804         clocale_quoting_style.
35805         * tests/test-quotearg.c (custom_quotes): New array.
35806         (custom_results): New array.
35807         (main): Extend to test custom quoting.
35808
35809 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35810
35811         quotearg: fix right quote escaping when it's in quote_these_too
35812         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
35813         quote, be sure to prepend only one backslash.
35814         * tests/test-quotearg.c (use_quote_double_quotes): New function.
35815         (main): Test it.
35816
35817 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35818
35819         quotearg-tests: test escaping of embedded locale quotes
35820         * tests/test-quotearg.c (struct result_strings): Add member for
35821         new input.
35822         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
35823         (inputs): Add new input.
35824         (results_g): Add expected results.
35825         (flag_results): Likewise.
35826         (locale_results): Likewise.
35827         (compare_strings): Check those.
35828
35829 2009-08-23  Bruno Haible  <bruno@clisp.org>
35830
35831         Tests for module 'dup3'.
35832         * modules/dup3-tests: New file.
35833         * tests/test-dup3.c: New file.
35834
35835         New module 'dup3'.
35836         * lib/unistd.in.h (dup3): New declaration.
35837         * lib/dup3.c: New file.
35838         * m4/dup3.m4: New file.
35839         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
35840         HAVE_DUP3.
35841         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
35842         * modules/dup3: New file.
35843         * doc/glibc-functions/dup3.texi: Mention the new module.
35844
35845 2009-08-23  Bruno Haible  <bruno@clisp.org>
35846
35847         Tweak the dup2 test.
35848         * tests/test-dup2.c (main): Create the test file empty. Verify that an
35849         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
35850         the test file is still empty. Fix argument order of lseek.
35851
35852 2009-08-23  Bruno Haible  <bruno@clisp.org>
35853
35854         Avoid test link errors when the modules getopt-gnu, gettext are used.
35855         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
35856         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35857
35858 2009-08-23  Bruno Haible  <bruno@clisp.org>
35859
35860         Fix getdtablesize() on mingw.
35861         * lib/getdtablesize.c (getdtablesize): Implement differently.
35862         * lib/unistd.in.h (getdtablesize): Improve comment.
35863
35864 2009-08-23  Bruno Haible  <bruno@clisp.org>
35865
35866         New module 'mkostemp'.
35867         Based on Ulrich Drepper's 2007-08-10 change in glibc.
35868         * lib/stdlib.in.h (mksotemp): New declaration.
35869         * lib/mkostemp.c: New file, from glibc with modifications.
35870         * lib/tempname.h (GT_FILE): Remove outdated comment.
35871         (gen_tempname): Add flags argument.
35872         * lib/tempname.c (__GT_BIGFILE): Remove macro.
35873         (__GT_FILE): Map to 1.
35874         (small_open, large_open): Remove macros.
35875         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
35876         * lib/mkstemp.c (mkstemp): Update.
35877         * lib/mkdtemp.c (mkdtemp): Likewise.
35878         * m4/mkostemp.m4: New file.
35879         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
35880         HAVE_MKOSTEMP.
35881         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
35882         HAVE_MKOSTEMP.
35883         * modules/mkostemp: New file, based on modules/mkstemp.
35884         * doc/glibc-functions/mkostemp.texi: Mention the new module.
35885         * NEWS: Mention the change.
35886
35887 2009-08-23  Bruno Haible  <bruno@clisp.org>
35888
35889         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
35890         Reported by Eric Blake.
35891
35892 2009-08-23  Bruno Haible  <bruno@clisp.org>
35893
35894         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
35895         Reported by Eric Blake.
35896
35897 2009-08-23  Bruno Haible  <bruno@clisp.org>
35898
35899         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
35900         * modules/pipe2 (Depends-on): Likewise.
35901
35902 2009-08-23  Eric Blake  <ebb9@byu.net>
35903
35904         fcntl-h: add O_TTY_INIT support
35905         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
35906         * tests/test-fcntl-h.c (o): Test it.
35907         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35908
35909         fcntl-h: rename from fcntl, in preparation for fcntl(2)
35910         * modules/fcntl: Move <fcntl.h> header replacement...
35911         * modules/fcntl-h: ...to new name, so as not to collide with
35912         like-named function.
35913         * tests/test-fcntl.c: Rename...
35914         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
35915         * modules/fcntl-tests: Rename...
35916         * modules/fcntl-h-tests: ...to this.  Update test file name.
35917         * modules/chdir-long (Depends-on): Update clients.
35918         * modules/chdir-safer (Depends-on): Likewise.
35919         * modules/fcntl-safer (Depends-on): Likewise.
35920         * modules/fts (Depends-on): Likewise.
35921         * modules/mkancesdirs (Depends-on): Likewise.
35922         * modules/mkdir-p (Depends-on): Likewise.
35923         * modules/open (Depends-on): Likewise.
35924         * modules/savewd (Depends-on): Likewise.
35925         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
35926         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35927
35928 2009-08-22  Bruno Haible  <bruno@clisp.org>
35929
35930         * modules/binary-io (License): Relicense under LGPL.
35931         * modules/pipe2 (License): Likewise.
35932
35933 2009-08-22  Bruno Haible  <bruno@clisp.org>
35934
35935         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
35936         return value.
35937         * lib/pipe-filter-gi.c (filter_init): Likewise.
35938         Reported by Eric Blake.
35939
35940 2009-08-22  Bruno Haible  <bruno@clisp.org>
35941
35942         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
35943         * modules/pipe (Depends-on): Add pipe2.
35944
35945 2009-08-22  Bruno Haible  <bruno@clisp.org>
35946
35947         Tests for module 'pipe2'.
35948         * modules/pipe2-tests: New file.
35949         * tests/test-pipe2.c: New file.
35950
35951         New module 'pipe2'.
35952         * lib/unistd.in.h (pipe2): New declaration.
35953         * lib/pipe2.c: New file.
35954         * m4/pipe2.m4: New file.
35955         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
35956         HAVE_PIPE2.
35957         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
35958         * modules/pipe2: New file.
35959         * doc/glibc-functions/pipe2.texi: Mention the new module.
35960
35961 2009-08-22  Bruno Haible  <bruno@clisp.org>
35962
35963         Reference some new glibc functions.
35964         * doc/glibc-functions/accept4.texi: New file.
35965         * doc/glibc-functions/dup3.texi: New file.
35966         * doc/glibc-functions/mkostemp.texi: New file.
35967         * doc/glibc-functions/pipe2.texi: New file.
35968         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
35969         (Glibc sys/socket.h): Refer to accept4.
35970         (Glibc unistd.h): Refer to dup3, pipe2.
35971         Reported by Eric Blake.
35972
35973 2009-08-22  Jim Meyering  <meyering@redhat.com>
35974             Bruno Haible  <bruno@clisp.org>
35975
35976         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
35977         This makes it so packages using automake-1.11's silent-rules option
35978         can print e.g., a single "GEN    configmake.h" line, rather than
35979         the 30+ statements that perform the job.  If you want to see the
35980         actual commands, you can still run "make V=1".
35981         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
35982         so that make output is abbreviated when those variables are defined
35983         appropriately.
35984         * modules/argz: Likewise.
35985         * modules/arpa_inet: Likewise.
35986         * modules/byteswap: Likewise.
35987         * modules/configmake: Likewise.
35988         * modules/dirent: Likewise.
35989         * modules/errno: Likewise.
35990         * modules/fcntl: Likewise.
35991         * modules/float: Likewise.
35992         * modules/fnmatch: Likewise.
35993         * modules/getopt-posix: Likewise.
35994         * modules/glob: Likewise.
35995         * modules/iconv_open: Likewise.
35996         * modules/inttypes: Likewise.
35997         * modules/localcharset: Likewise.
35998         * modules/locale: Likewise.
35999         * modules/math: Likewise.
36000         * modules/netdb: Likewise.
36001         * modules/netinet_in: Likewise.
36002         * modules/poll: Likewise.
36003         * modules/posix_spawnp-tests: Likewise.
36004         * modules/sched: Likewise.
36005         * modules/search: Likewise.
36006         * modules/selinux-h: Likewise.
36007         * modules/signal: Likewise.
36008         * modules/spawn: Likewise.
36009         * modules/stdarg: Likewise.
36010         * modules/stdbool: Likewise.
36011         * modules/stddef: Likewise.
36012         * modules/stdint: Likewise.
36013         * modules/stdio: Likewise.
36014         * modules/stdlib: Likewise.
36015         * modules/string: Likewise.
36016         * modules/strings: Likewise.
36017         * modules/sys_file: Likewise.
36018         * modules/sys_ioctl: Likewise.
36019         * modules/sys_select: Likewise.
36020         * modules/sys_socket: Likewise.
36021         * modules/sys_stat: Likewise.
36022         * modules/sys_time: Likewise.
36023         * modules/sys_times: Likewise.
36024         * modules/sys_utsname: Likewise.
36025         * modules/sys_wait: Likewise.
36026         * modules/sysexits: Likewise.
36027         * modules/time: Likewise.
36028         * modules/unistd: Likewise.
36029         * modules/wchar: Likewise.
36030         * modules/wctype: Likewise.
36031
36032 2009-08-22  Jim Meyering  <meyering@redhat.com>
36033
36034         announce-gen: detect write failure
36035         * build-aux/announce-gen: Add Coda at end.
36036         Remove equivalent-but-more-verbose block at top.
36037
36038 2009-08-19  Akim Demaille  <demaille@gostai.com>
36039
36040         bootstrap: --help to stdout.
36041         * bootstrap (usage): Don't send --help to stderr.
36042         Use a here doc instead of a long string.
36043
36044 2009-08-21  Eric Blake  <ebb9@byu.net>
36045
36046         test-popen-safer: split from test-popen
36047         * tests/test-popen.c (main): Move...
36048         * tests/test-popen.h: ...into new file.
36049         * tests/test-popen-safer2.c: New file.
36050         * modules/popen-tests (Files): Add test-popen.h.
36051         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
36052         Suggested by Bruno Haible.
36053
36054         test-fcntl-safer: split from test-open
36055         * tests/test-open.c (main): Move...
36056         * tests/test-open.h: ...into new file.
36057         * tests/test-fcntl-safer.c: New file.
36058         * modules/open-tests (Files): Add test-open.h.
36059         * modules/fcntl-safer-tests: New file.
36060         Suggested by Bruno Haible.
36061
36062         test-fopen-safer: split from test-fopen
36063         * tests/test-fopen.c (main): Move...
36064         * tests/test-fopen.h: ...into new file.
36065         * tests/test-fopen-safer.c: New file.
36066         * modules/fopen-tests (Files): Add test-fopen.h.
36067         * modules/fopen-safer-tests: New file.
36068         Suggested by Bruno Haible.
36069
36070 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36071
36072         popen-safer: test O_CLOEXEC at run-time.
36073         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
36074
36075 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36076
36077         fcntl: move more flags to the header
36078         * lib/cloexec.c: Do not define FD_CLOEXEC here.
36079         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
36080         * lib/fcntl.in.h: Do both things here.
36081
36082 2009-08-21  Jim Meyering  <meyering@redhat.com>
36083
36084         consistently remove $@-t before redirecting to it
36085         * modules/argz: Remove $@-t and $@ before redirecting to the former.
36086         * modules/alloca-opt: Likewise.
36087         * modules/byteswap: Likewise.
36088         * modules/fnmatch: Likewise.
36089         * modules/getopt-posix: Likewise.
36090         * modules/glob: Likewise.
36091         * modules/poll: Likewise.
36092         * modules/posix_spawnp-tests: Likewise.
36093         * modules/sys_socket: Likewise.
36094         * modules/sysexits: Likewise.
36095
36096 2009-08-21  Eric Blake  <ebb9@byu.net>
36097
36098         popen: simplify access to original popen
36099         * lib/popen.c (rpl_popen): No need to worry about popen being a
36100         macro.
36101         Reported by Bruno Haible.
36102
36103 2009-08-20  Eric Blake  <ebb9@byu.net>
36104
36105         build: avoid some compiler warnings
36106         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
36107         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
36108         type.
36109         (new_exclude_segment, excluded_file_pattern_p)
36110         (excluded_file_name_p): Reduce scope.
36111         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
36112         old-style declaration.
36113
36114 2009-08-20  Simon Josefsson  <simon@josefsson.org>
36115
36116         * tests/test-exclude1.sh: Handle Windows EOL.
36117         * tests/test-exclude2.sh: Likewise.
36118         * tests/test-exclude3.sh: Likewise.
36119         * tests/test-exclude4.sh: Likewise.
36120         * tests/test-exclude5.sh: Likewise.
36121         * tests/test-exclude6.sh: Likewise.
36122         * tests/test-exclude7.sh: Likewise.
36123
36124 2009-08-19  Akim Demaille  <demaille@gostai.com>
36125
36126         bootstrap: find sha1sum when named gsha1sum.
36127         * bootstrap (find_tool): New.
36128         ($SHA1SUM): New.
36129         Use it.
36130
36131 2009-08-20  Jim Meyering  <meyering@redhat.com>
36132
36133         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
36134         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
36135         expression that converts "." in a file name to "\." in the resulting
36136         regexp.  Start with a dummy statement, so that prior shell variable
36137         definitions are expanded portably.  Reported by Simon Josefsson.
36138
36139 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
36140
36141         Fix polling for writeability of a screen buffer.
36142         * lib/poll.c: Distinguish input and screen buffers for the
36143         Win32 implementation.
36144         * lib/select.c: Likewise.
36145
36146 2009-08-19  Eric Blake  <ebb9@byu.net>
36147
36148         popen-safer: prevent popen from clobbering std descriptors
36149         * modules/popen-safer: New file.
36150         * lib/popen-safer.c: Likewise.
36151         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
36152         * lib/stdio--.h (popen): Provide override.
36153         * lib/stdio-safer.h (popen_safer): Provide declaration.
36154         * tests/test-popen.c (includes): Partially test this.
36155         * modules/popen-safer-tests: New file, for more tests.
36156         * tests/test-popen-safer.c: Likewise.
36157         * MODULES.html.sh (file stream based Input/Output): Mention it.
36158
36159         tests: test some of the *-safer modules
36160         * modules/fopen-safer (Depends-on): Add fopen.
36161         * modules/fcntl-safer (Depends-on): Add fcntl.
36162         * modules/stdlib-safer (Depends-on): Add stdlib.
36163         (configure.ac): Set indicator.
36164         * modules/unistd-safer (configure.ac): Likewise.
36165         * modules/tmpfile-safer (configure.ac): Likewise.
36166         (Depends-on): Add tmpfile.
36167         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
36168         active.
36169         * tests/test-fopen.c (includes): Test safer versions when they are
36170         in use.
36171         * tests/test-open.c (includes): Likewise.
36172
36173         popen: fix cygwin 1.5 bug when stdin closed
36174         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
36175         * modules/popen: New file.
36176         * modules/popen-tests: Likewise.
36177         * tests/test-popen.c: Likewise.
36178         * m4/popen.m4: Likewise.
36179         * lib/popen.c: Likewise.
36180         * lib/stdio.in.h (popen): New declaration.
36181         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
36182         * modules/stdio (Makefile.am): Likewise.
36183         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
36184
36185 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
36186
36187         maint.mk: give full control over update-copyright exclusions
36188         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
36189         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
36190         (update-copyright): Don't force inclusion of top-level
36191         ChangeLog.  Don't force exclusion of all COPYING files, but make
36192         them the default exclusion instead.
36193
36194 2009-08-16  Bruno Haible  <bruno@clisp.org>
36195
36196         Fix test failures on Solaris 10.
36197         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
36198         tests when Solaris iconv() is used.
36199         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36200         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36201         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36202         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36203         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36204
36205 2009-08-16  Bruno Haible  <bruno@clisp.org>
36206
36207         Fix test failures on Solaris 10.
36208         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
36209         'tr' program and pass it as first argument.
36210         * tests/test-pipe-filter-gi1.sh: Likewise.
36211         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
36212         program as first argument.
36213         * tests/test-pipe-filter-gi1.c (main): Likewise.
36214
36215 2009-08-16  Eric Blake  <ebb9@byu.net>
36216
36217         fpurge: fix previous commits
36218         * modules/fpurge (Makefile.am): Make replacement conditional,
36219         partially reverting 2007-04-29 change; missed in previous
36220         attempt.
36221         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
36222         is missing.
36223
36224 2009-08-16  Bruno Haible  <bruno@clisp.org>
36225
36226         Clarify fpurge's effect on the file position.
36227         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
36228         * tests/test-fpurge.c (main): Make a second pass for checking the file
36229         position.
36230
36231 2009-08-16  Bruno Haible  <bruno@clisp.org>
36232
36233         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
36234         declaration of fpurge is missing.
36235         * tests/test-fpurge.c (main): Check that the file has not more contents
36236         than expected. Close the file before removing it.
36237
36238 2009-08-15  Eric Blake  <ebb9@byu.net>
36239
36240         fpurge: don't wrap working cygwin implementation
36241         * lib/fpurge.c (fpurge): Fix comment typo.
36242         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
36243         1.7 to avoid replacement.
36244         * tests/test-fpurge.c (main): Enhance test.
36245
36246 2009-08-15  Eric Blake  <ebb9@byu.net>
36247         and Jim Meyering  <meyering@redhat.com>
36248
36249         test-update-copyright: skip if perl is insufficient
36250         * tests/test-update-copyright.sh: Failure to run maintainer tool
36251         should not cause testsuite failure on cygwin 1.5.
36252
36253 2009-08-14  Eric Blake  <ebb9@byu.net>
36254
36255         doc: mention more functions added in cygwin 1.7.0
36256         * doc/posix-headers/limits.texi (limits.h): Update for recent
36257         cygwin additions.
36258         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
36259         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
36260         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
36261         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
36262         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
36263
36264 2009-08-14  Eric Blake  <ebb9@byu.net>
36265
36266         maint.mk: simplify update-copyright rule
36267         * top/maint.mk (update-copyright-local): Delete, and document how
36268         to do it in cfg.mk instead.
36269         (update-copyright-exclude-regexp): Delete, and document how to do
36270         it in .x-update-copyright instead.
36271         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
36272         exclude ChangeLog.
36273
36274 2009-08-14  Bruno Haible  <bruno@clisp.org>
36275
36276         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
36277
36278 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36279
36280         maint.mk: support update-copyright-env
36281         * top/maint.mk (update-copyright-env): Define place-holder.
36282         (update-copyright): Expand $(update-copyright-env) before
36283         invoking update-copyright.
36284
36285 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36286
36287         update-copyright: implement forced reformatting
36288         * build-aux/update-copyright: Implement and document
36289         UPDATE_COPYRIGHT_FORCE.
36290         * tests/test-update-copyright.sh: Test it.
36291
36292 2009-08-14  Eric Blake  <ebb9@byu.net>
36293         and Bruno Haible  <bruno@clisp.org>
36294
36295         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
36296         * tests/test-locale.c: Revert previous patch related to NULL.
36297         * tests/test-stdio.c: Likewise.
36298         * tests/test-stdlib.c: Likewise.
36299         * tests/test-string.c: Likewise.
36300         * tests/test-unistd.c: Likewise.
36301         * modules/time-tests (Depends-on): Add verify.
36302         * modules/wchar-tests (Depends-on): Likewise.
36303         * tests/test-time.c: Test for NULL compliance.
36304         * tests/test-wchar.c: Likewise.
36305         * modules/locale (Depends-on): Add stddef.
36306         * modules/stdio (Depends-on): Likewise.
36307         * modules/stdlib (Depends-on): Likewise.
36308         * modules/string (Depends-on): Likewise.
36309         * modules/time (Depends-on): Likewise.
36310         * modules/unistd (Depends-on): Likewise.
36311         * modules/wchar (Depends-on): Likewise.
36312         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
36313         * lib/stdlib.in.h (includes): Likewise.
36314         * lib/string.in.h (includes): Likewise.
36315         * lib/time.in.h (includes): Likewise.
36316         * lib/unistd.in.h (includes): Likewise.
36317         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
36318         replaced.
36319         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36320         * m4/stddef_h.m4: New file.
36321         * modules/stddef: Likewise.
36322         * lib/stddef.in.h: Likewise.
36323         * modules/stddef-tests: Likewise.
36324         * tests/test-stddef.c: Likewise.
36325         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
36326         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
36327         * doc/posix-headers/locale.texi (locale.h): Likewise.
36328         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
36329         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
36330         * doc/posix-headers/string.texi (string.h): Likewise.
36331         * doc/posix-headers/time.texi (time.h): Likewise.
36332         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
36333         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
36334
36335 2009-08-14  Eric Blake  <ebb9@byu.net>
36336
36337         doc: improve git diff of texinfo files
36338         * .gitattributes: Add rule for *.texi files, with hint on how to
36339         use it.
36340         Copied from m4, and based on a report by Bruno Haible.
36341
36342 2009-08-14  Bruno Haible  <bruno@clisp.org>
36343
36344         Disable multithread support by default on Cygwin 1.5.x for real.
36345         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
36346
36347 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36348
36349         update-copyright: much ado about intervals
36350         * build-aux/update-copyright: Implement and document
36351         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
36352         of copyright year intervals.
36353         Also, document UPDATE_COPYRIGHT_YEAR.
36354         * tests/test-update-copyright.sh: Test it.
36355
36356         update-copyright: convert 2-digit to 4-digit years
36357         * build-aux/update-copyright: Implement and document.
36358         * tests/test-update-copyright.sh: Update.
36359
36360 2009-08-14  Jim Meyering  <meyering@redhat.com>
36361
36362         test-exclude: avoid coreutils "make check" failure
36363         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
36364         just as in test-argmatch.c.
36365
36366 2009-08-13  Eric Blake  <ebb9@byu.net>
36367
36368         test-dup2: fix bad assumption
36369         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
36370         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
36371
36372         test-version-etc: fix CRLF portability issue
36373         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
36374         recognize \r.
36375         * tests/test-argp-version-etc-1.sh: Likewise.
36376
36377         getopt: update client modules
36378         * modules/argp (Depends-on): Use getopt-gnu.
36379         * modules/git-merge-changelog (Depends-on): Likewise.
36380         * modules/long-options (Depends-on): Likewise.
36381         * modules/xstrtol (Depends-on): Likewise.
36382
36383 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36384
36385         * tests/test-version-etc.sh: Don't fail on different
36386         project/version.  Don't fail on CRLF differences.  Rewrite to use
36387         multiple -e instead of multiple sed forks, suggested by Eric Blake
36388         <ebb9@byu.net>.
36389         * tests/test-argp-version-etc-1.sh: Likewise.
36390
36391 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36392
36393         * tests/test-version-etc.sh: Don't fail on different
36394         project/version.
36395
36396 2009-08-12  Bruno Haible  <bruno@clisp.org>
36397
36398         Tests for modules 'getopt-posix', 'getopt-gnu'.
36399         * modules/getopt-posix-tests: New file.
36400         * tests/test-getopt.c: New file.
36401         * tests/test-getopt.h: New file.
36402         * tests/test-getopt_long.h: New file.
36403
36404         New modules 'getopt-posix', 'getopt-gnu'.
36405         * modules/getopt-gnu: New file, renamed from modules/getopt.
36406         * modules/getopt-posix: New file.
36407         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
36408         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
36409         (gl_GETOPT): Remove macro.
36410         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
36411         Disable the test against BSD systems that declare optreset. Test
36412         against mingw bug. Test against lack of support of optional arguments
36413         on many platforms.
36414         * doc/glibc-headers/getopt.texi: Update module name and list of
36415         relevant platforms.
36416         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
36417         'getopt-gnu' and more portability problems.
36418         * NEWS: Mention the changes.
36419
36420 2009-08-12  Bruno Haible  <bruno@clisp.org>
36421
36422         Ensure that optarg etc. get declared by <unistd.h>.
36423         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
36424         AC_USE_SYSTEM_EXTENSIONS.
36425         * modules/getopt (Depends-on): Add 'extensions'.
36426
36427 2009-08-12  Bruno Haible  <bruno@clisp.org>
36428
36429         Avoid test link errors.
36430         * modules/pipe-filter-ii-tests (Makefile.am): Define
36431         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
36432         * modules/pipe-filter-gi-tests (Makefile.am): Define
36433         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
36434         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36435
36436 2009-08-12  Bruno Haible  <bruno@clisp.org>
36437
36438         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
36439         gl_GETOPT_SUBSTITUTE before.
36440         (gl_GETOPT): Use it.
36441         * m4/argp.m4 (gl_ARGP): Update.
36442         Reported by Sergey Poznyakoff.
36443
36444         * m4/getopt.m4: Reorder macros.
36445         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
36446         (gl_GETOPT_SUBSTITUTE): Remove macro.
36447
36448 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36449
36450         Minor improvement in gitlog-to-changelog
36451
36452         * build-aux/gitlog-to-changelog: New option `--format' makes
36453         output format string configurable.
36454
36455 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36456
36457         Optimize exclude: use hash tables for non-wildcard patterns.
36458
36459         * lib/exclude.c: Include hash.h and mbuiter.h
36460         (struct exclude_pattern, exclude_segment): New data types.
36461         (struct exclude): Rewrite.
36462         (fnmatch_pattern_has_wildcards): New function.
36463         (new_exclude_segment, free_exclude_segment): New functions.
36464         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36465         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36466         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36467         * modules/exclude: Depend on hash and mbuiter.
36468
36469         * modules/exclude-tests: New file.
36470         * tests/test-exclude.c: New file.
36471         * tests/test-exclude1.sh: New file.
36472         * tests/test-exclude2.sh: New file.
36473         * tests/test-exclude3.sh: New file.
36474         * tests/test-exclude4.sh: New file.
36475         * tests/test-exclude5.sh: New file.
36476         * tests/test-exclude6.sh: New file.
36477         * tests/test-exclude7.sh: New file.
36478
36479 2009-08-12  Bruno Haible  <bruno@clisp.org>
36480
36481         Ensure that getopt() gets declared by <unistd.h>.
36482         * lib/unistd.in.h: Conditionally include getopt.h.
36483         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36484         Set GNULIB_UNISTD_H_GETOPT.
36485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36486         GNULIB_UNISTD_H_GETOPT.
36487         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36488
36489 2009-08-12  Bruno Haible  <bruno@clisp.org>
36490
36491         Clarify logic.
36492         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36493         gl_replace_getopt instead of GETOPT_H.
36494
36495 2009-08-12  Bruno Haible  <bruno@clisp.org>
36496
36497         * m4/getopt.m4: Add comments.
36498
36499 2009-08-12  Bruno Haible  <bruno@clisp.org>
36500
36501         Disable multithread support by default on Cygwin 1.5.x.
36502         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36503         set gl_use_threads=no if not specified otherwise.
36504
36505 2009-08-11  Bruno Haible  <bruno@clisp.org>
36506
36507         Avoid compilation error on NetBSD 5.0.
36508         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36509         * tests/test-stdio.c: Likewise.
36510         * tests/test-stdlib.c: Likewise.
36511         * tests/test-string.c: Likewise.
36512         * tests/test-unistd.c: Likewise.
36513         Reported by Greg Troxel <gdt@ir.bbn.com>
36514         at <https://savannah.gnu.org/support/?106973>.
36515
36516 2009-08-11  Bruno Haible  <bruno@clisp.org>
36517
36518         * modules/dup2-tests (Depends-on): Remove close.
36519
36520         Undo 2009-07-19 commit.
36521         * modules/acl-tests (Depends-on): Remove close.
36522         * modules/binary-io-tests (Depends-on): Likewise.
36523         * modules/closein-tests (Depends-on): Likewise.
36524         * modules/flock-tests (Depends-on): Likewise.
36525         * modules/fsync-tests (Depends-on): Likewise.
36526         * modules/lseek-tests (Depends-on): Likewise.
36527         * modules/pipe-tests (Depends-on): Likewise.
36528         * modules/posix_spawn-tests (Depends-on): Likewise.
36529         * modules/posix_spawnp-tests (Depends-on): Likewise.
36530         * modules/stat-time-tests (Depends-on): Likewise.
36531         * modules/yesno-tests (Depends-on): Likewise.
36532
36533 2009-08-10  Bruno Haible  <bruno@clisp.org>
36534
36535         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
36536
36537 2009-08-10  Bruno Haible  <bruno@clisp.org>
36538
36539         Fix a gcc warning.
36540         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
36541
36542 2009-08-10  Bruno Haible  <bruno@clisp.org>
36543
36544         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
36545         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
36546         not only the first time.
36547         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
36548         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
36549         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
36550         is 1, not only the the first time.
36551
36552 2009-08-10  Bruno Haible  <bruno@clisp.org>
36553
36554         Make it possible to use module 'gethostname' without module 'close'.
36555         * lib/unistd.in.h (close): Evoke a link error only if
36556         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36557         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36558         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36559         * modules/unistd (Makefile.am): Substitute
36560         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36561         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
36562         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36563         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36564         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36565         * modules/sys_ioctl (Makefile.am): Substitute
36566         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36567         * modules/socket (configure.ac): On native Windows, set
36568         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
36569         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36570         Reported by Sam Steingold <sds@gnu.org>.
36571
36572 2009-08-10  Bruno Haible  <bruno@clisp.org>
36573
36574         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
36575         * modules/ioctl (configure.ac): Likewise.
36576
36577 2009-08-10  Bruno Haible  <bruno@clisp.org>
36578
36579         Avoid collision between gnulib wrapper and libintl wrapper.
36580         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
36581         already defined in intl/printf.c.
36582         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
36583         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
36584
36585 2009-08-09  Bruno Haible  <bruno@clisp.org>
36586
36587         Make <sys/select.h> really self-contained, also on Solaris 10.
36588         * lib/sys_select.in.h: Include <string.h>.
36589         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
36590         Solaris 10 problem.
36591         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
36592         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
36593         Reported by Jim Meyering.
36594
36595 2009-08-09  Bruno Haible  <bruno@clisp.org>
36596
36597         Avoid warnings from 'aclocal' that are due to a use of macro name
36598         AM_XGETTEXT_OPTION that is not defined in automake.
36599         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
36600         automake.
36601         * modules/error (configure.ac): Likewise.
36602         * modules/propername (configure.ac): Likewise.
36603         * modules/vasprintf (configure.ac): Likewise.
36604         * modules/verror (configure.ac): Likewise.
36605         * modules/xprintf (configure.ac): Likewise.
36606         * modules/xvasprintf (configure.ac): Likewise.
36607
36608 2009-08-08  Bruno Haible  <bruno@clisp.org>
36609
36610         Avoid compilation error in C++ mode.
36611         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
36612         Reported by Sam Steingold <sds@gnu.org>.
36613
36614 2009-08-08  Bruno Haible  <bruno@clisp.org>
36615
36616         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
36617         for the various Unix platforms.
36618         * doc/posix-headers/limits.texi: Update platforms list regarding
36619         HOST_NAME_MAX.
36620         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36621
36622 2009-08-07  Jim Meyering  <meyering@redhat.com>
36623
36624         selinux-at: fix typo in a comment
36625         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
36626         Spotted by Paolo Bonzini.
36627
36628         selinux-at: remove redundant m4 code, add documentation
36629         * modules/selinux-at (configure.ac): Remove redundant code.
36630         LIB_SELINUX is already set via the dependent module, selinux-h.
36631         (Include): Add quotes around selinux-at.h.
36632         * lib/selinux-at.h: Add documentation.
36633         Reported by Bruno Haible in
36634         http://marc.info/?l=gnulib-bug&m=124958988300749
36635
36636 2009-08-07  Bruno Haible  <bruno@clisp.org>
36637
36638         Avoid link error on MacOS X 10.3 and 10.4.
36639         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
36640         on non-ELF systems.
36641         * lib/argp-pv.c (argp_program_version): Likewise.
36642         Reported by Simon Josefsson.
36643
36644 2009-08-07  Simon Josefsson  <simon@josefsson.org>
36645
36646         * tests/test-version-etc.sh: Use $EXEEXT.
36647
36648 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
36649
36650         update-copyright: update documentation to point to maint.mk
36651         * build-aux/update-copyright: Here.
36652
36653 2009-08-06  Jim Meyering  <meyering@redhat.com>
36654
36655         maint.mk: support update-copyright-local
36656         * top/maint.mk (update-copyright-local): Define place-holder.
36657         (update-copyright): Depend on $(update-copyright-local).
36658
36659 2009-08-06  Jim Meyering  <meyering@redhat.com>
36660
36661         selinux-at: new module
36662         Initially written for coreutils, this module will soon be
36663         used by findutils, too.
36664         * MODULES.html.sh [Misc]: Add selinux-at.
36665         * lib/selinux-at.h: New file, from coreutils.
36666         * lib/selinux-at.c: Likewise.
36667         * modules/selinux-at: Likewise.
36668         (License): Change from LGPL to GPL, since it depends
36669         on the GPL'd openat module.
36670
36671         doc: update README
36672         * README: Remove references to cogito.
36673         Remove cvs-repo-updating instructions from 2007.
36674         Don't imply that CVS is better if you have limited disk space.
36675
36676 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36677
36678         update-copyright: support C-style comments
36679         * build-aux/update-copyright: Implement and document.
36680         * tests/test-update-copyright.sh: Test.
36681
36682 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36683
36684         update-copyright: support omitted "(C)"
36685         * build-aux/update-copyright: Implement and document.  Also,
36686         allow variable whitespace before "(C)".
36687         * tests/test-update-copyright.sh: Test.
36688
36689 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36690
36691         update-copyright: don't trip on non-FSF copyright statements
36692         * build-aux/update-copyright: Fix so that the first correctly
36693         formatted FSF copyright statement is recognized no matter what
36694         appears before it.  Update documentation.
36695         * tests/test-update-copyright.sh: Test that.
36696
36697 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36698
36699         update-copyright: clean up code a little
36700         * build-aux/update-copyright: Append "_re" to the name of any
36701         variable holding a regular expression.
36702         Replace "old" and "new" with "stmt" in variable names.
36703         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
36704         handled correctly.
36705         Format code more consistently.
36706
36707 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36708
36709         update-copyright-tests: improve portability
36710         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
36711         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
36712
36713 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36714
36715         update-copyright: support @copyright{} and &copy;
36716         * build-aux/update-copyright: Implement and document.
36717         * tests/test-update-copyright.sh: Test.
36718
36719 2009-08-04  Jim Meyering  <meyering@redhat.com>
36720
36721         update-copyright-tests: correctly test EOL=\r\n handling
36722         * tests/test-update-copyright.sh: Put \r at the end of some lines
36723         for the dos-eol tests.  Based on a patch by Joel E. Denny.
36724
36725         maint.mk: make update-copyright exclusion list more configurable
36726         * top/maint.mk (update-copyright): Default to excluding COPYING,
36727         but allow an override, in case someone does want to update that file.
36728
36729         maint.mk: don't update copyright date in COPYING
36730         * top/maint.mk (update-copyright): Exclude COPYING.
36731
36732         maint.mk: add a copyright-updating rule
36733         * top/maint.mk (update-copyright): New rule.
36734         Derived from coreutils/Makefile.am.
36735
36736         update-copyright: rename some variables
36737         * build-aux/update-copyright: Rename a few variables for clarity.
36738         Tweak syntax.  List Joel E. Denny as coauthor.
36739
36740 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36741
36742         update-copyright: fix bug for 2-digit last year and add tests
36743         * build-aux/update-copyright: Fix bug.
36744         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
36745         specified.
36746         * modules/update-copyright-tests: New
36747         * tests/test-update-copyright.sh: New.
36748
36749 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36750
36751         update-copyright: handle leading tabs in line prefix
36752         * build-aux/update-copyright: Count leading tabs as 8 spaces
36753         when computing margin.  This helps with the formatting of
36754         ChangeLogs, for example.
36755         Fix documentation a little.
36756
36757 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36758
36759         update-copyright: support EOL=\r\n
36760         * build-aux/update-copyright: Implement that.
36761
36762 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36763
36764         update-copyright: automatically format copyright statements
36765         * build-aux/update-copyright: Implement that.
36766         Also, be a little more predictable and safer by always failing
36767         when the full copyright format is not perfectly recognized as an
36768         unbroken whole.  Discussed at
36769         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
36770         Rewrite documentation.
36771
36772 2009-08-03  Bruno Haible  <bruno@clisp.org>
36773
36774         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
36775
36776 2009-08-02  Bruno Haible  <bruno@clisp.org>
36777
36778         Tests for module 'uname'.
36779         * modules/uname-tests: New file.
36780         * tests/test-uname.c: New file.
36781
36782         New module 'uname'.
36783         * lib/uname.c: New file.
36784         * m4/uname.m4: New file.
36785         * modules/uname: New file.
36786         * doc/posix-functions/uname.texi: Mention the new module.
36787
36788 2009-08-02  Bruno Haible  <bruno@clisp.org>
36789
36790         Tests for module 'sys_utsname'.
36791         * modules/sys_utsname-tests: New file.
36792         * tests/test-sys_utsname.c: New file.
36793
36794         New module 'sys_utsname'.
36795         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
36796         * m4/sys_utsname_h.m4: New file.
36797         * modules/sys_utsname: New file.
36798         * doc/posix-headers/sys_utsname.texi: Mention the new module.
36799
36800 2009-08-02  Bruno Haible  <bruno@clisp.org>
36801
36802         Implicitly initialize the sockets library.
36803         * lib/gethostname.c: Include sockets.h.
36804         (rpl_gethostname): Invoke gl_sockets_startup.
36805         * lib/socket.c: Include sockets.h.
36806         (rpl_socket): Invoke gl_sockets_startup.
36807         * modules/gethostname (Depends-on): Add sockets.
36808         * modules/socket (Depends-on): Likewise.
36809         * tests/test-poll.c: Don't include sockets.h.
36810         (main): Don't invoke gl_sockets_startup.
36811         * tests/test-select.c: Don't include sockets.h.
36812         (main): Don't invoke gl_sockets_startup.
36813
36814 2009-08-02  Bruno Haible  <bruno@clisp.org>
36815
36816         Allow multiple calls to gl_sockets_startup.
36817         * lib/sockets.c (initialized_sockets_version): New variable.
36818         (gl_sockets_startup): Do nothing if already called for this or a higher
36819         version.
36820         (gl_sockets_cleanup): Reset initialized_sockets_version.
36821
36822 2009-08-03  Simon Josefsson  <simon@josefsson.org>
36823
36824         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
36825         different project/version.
36826
36827 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
36828             Bruno Haible  <bruno@clisp.org>
36829
36830         Tests for module 'pipe-filter-gi'.
36831         * modules/pipe-filter-gi-tests: New file.
36832         * tests/test-pipe-filter-gi1.sh: New file.
36833         * tests/test-pipe-filter-gi1.c: New file.
36834         * tests/test-pipe-filter-gi2.sh: New file.
36835         * tests/test-pipe-filter-gi2-main.c: New file.
36836         * tests/test-pipe-filter-gi2-child.c: New file.
36837
36838         New module 'pipe-filter-gi'.
36839         * lib/pipe-filter-gi.c: New file.
36840         * modules/pipe-filter-gi: New file.
36841
36842 2009-08-02  Bruno Haible  <bruno@clisp.org>
36843             Paolo Bonzini  <bonzini@gnu.org>
36844
36845         Tests for module 'pipe-filter-ii'.
36846         * modules/pipe-filter-ii-tests: New file.
36847         * tests/test-pipe-filter-ii1.sh: New file.
36848         * tests/test-pipe-filter-ii1.c: New file.
36849         * tests/test-pipe-filter-ii2.sh: New file.
36850         * tests/test-pipe-filter-ii2-main.c: New file.
36851         * tests/test-pipe-filter-ii2-child.c: New file.
36852
36853         New module 'pipe-filter-ii'.
36854         * lib/pipe-filter.h: New file.
36855         * lib/pipe-filter-ii.c: New file.
36856         * lib/pipe-filter-aux.h: New file.
36857         * modules/pipe-filter-ii: New file.
36858
36859 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36860
36861         * lib/gc-libgcrypt.c: Change copyright to FSF.
36862         * lib/gc-gnulib.c: Likewise.
36863
36864 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
36865
36866         * lib/gethostname.c: Include limits.h.
36867
36868 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36869             Bruno Haible  <bruno@clisp.org>
36870
36871         Ensure HOST_NAME_MAX as part of the gethostname module.
36872         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
36873         define also HOST_NAME_MAX.
36874         * tests/test-gethostname.c: Include <limits.h>.
36875         (main): Check also HOST_NAME_MAX.
36876         * doc/posix-headers/limits.texi: Document the mingw problem.
36877
36878 2009-08-02  Bruno Haible  <bruno@clisp.org>
36879
36880         * lib/gethostname.c (gethostname): Fix handling of large len argument.
36881         Add comments.
36882
36883 2009-03-31  Simon Josefsson  <simon@josefsson.org>
36884
36885         * lib/gethostname.c: Add Windows wrapper.
36886         * m4/gethostname.m4: Look for gethostname in -lws2_32.
36887         * modules/gethostname: Depend on sys_socket & errno, for also
36888         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
36889         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
36890
36891 2009-07-31  Jim Meyering  <meyering@redhat.com>
36892
36893         getloadavg: fix symbol name in comment
36894         * lib/getloadavg.c: Correct a typo I introduced when adding
36895         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
36896         Matt Kraai spotted the problem.
36897
36898 2009-07-29  Matt Kraai  <mkraai@beckman.com>
36899
36900         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
36901         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
36902         code also if ! defined N_NAME_POINTER.
36903         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
36904         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
36905         but the n_name member is a 12-byte array.
36906
36907 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
36908
36909         update-copyright: generalize comment handling
36910         * build-aux/update-copyright: Handle copyright statements
36911         within more comment styles.
36912         Document usage.
36913         Report any file with an external copyright holder or parse failure.
36914
36915 2009-07-29  Jim Meyering  <meyering@redhat.com>
36916
36917         mktime: correct setting of REPLACE_MKTIME
36918         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
36919
36920         update-copyright: new module
36921         * modules/update-copyright: New file.
36922         * build-aux/update-copyright: New file.
36923         * MODULES.html.sh (maint+release support): Add update-copyright.
36924
36925 2009-07-27  Bruno Haible  <bruno@clisp.org>
36926
36927         Fix compilation error when <ctime> is used and mktime is replaced.
36928         * lib/time.in.h (mktime): New declaration.
36929         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
36930         REPLACE_MKTIME instead of defining mktime in config.h.
36931         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
36932         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
36933         Reported by Ross McFarland <rwmcfa1@neces.com>.
36934
36935 2009-07-27  Bruno Haible  <bruno@clisp.org>
36936
36937         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
36938         Reported by Matt Kraai <mkraai@beckman.com>.
36939
36940 2009-07-25  Jim Meyering  <meyering@redhat.com>
36941
36942         maint.mk: avoid warnings about missing files
36943         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
36944         diagnostic when .prev-version does not exist.
36945         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
36946         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
36947         nonexistent cfg.mk.
36948         Suggestions from Simon Josefsson.
36949
36950 2009-07-25  Bruno Haible  <bruno@clisp.org>
36951
36952         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
36953         defined as macros. Needed on QNX 6.4.1.
36954         Reported by Matt Kraai <mkraai@beckman.com>.
36955
36956 2009-07-23  Jim Meyering  <meyering@redhat.com>
36957
36958         maint.mk: invoke "make dist" with a working value of XZ_OPT
36959         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
36960
36961 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
36962
36963         Make fseeko.c compile on QNX.
36964         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
36965
36966 2009-07-22  Peter Simons  <simons@cryp.to>
36967
36968         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
36969         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
36970         * lib/md4.h: Likewise.
36971         * lib/md5.h: Likewise.
36972         * lib/sha1.h: Likewise.
36973         * lib/sha256.h: Likewise.
36974         * lib/sha512.h: Likewise.
36975
36976         tests-sha1: don't assign literal string to 'char *' variable
36977         * tests/test-sha1.c (main): Declare locals with "const" to match
36978         attributes of the right hand side.
36979
36980 2009-07-21  Eric Blake  <ebb9@byu.net>
36981
36982         dup2: fix more mingw problems
36983         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
36984         fd to itself.
36985         * doc/posix-functions/dup2.texi (dup2): Document the bug.
36986         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
36987         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
36988         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
36989         care of mingw bugs.
36990
36991 2009-07-21  Jim Meyering  <meyering@redhat.com>
36992
36993         vc-list-files: avoid failure when /bin/sh is dash
36994         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
36995         On some Debian based systems, /bin/sh is a symlink to dash, and running
36996         this command would omit the "/" following each 'tests' prefix:
36997           dash -x build-aux/vc-list-files -C . tests
36998         That is because bash and dash work differently:
36999           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
37000           bash ok
37001           dash odd
37002
37003 2009-07-21  Eric Blake  <ebb9@byu.net>
37004
37005         dup2-tests: test previous patch
37006         * modules/dup2-tests: New file.
37007         * tests/test-dup2.c: Likewise.
37008         * tests/test-open.c (main): Avoid unspecified behavior.
37009         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
37010         test.
37011
37012         dup2: work around mingw and cygwin 1.5 bug
37013         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
37014         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37015         * modules/unistd (Makefile.am): Substitute it.
37016         * lib/unistd.in.h (dup2): Declare the replacement.
37017         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
37018         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
37019         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
37020         * modules/execute (Depends-on): Add dup2.
37021         * modules/fseterr (Depends-on): Likewise.
37022         * modules/pipe (Depends-on): Likewise.
37023         * modules/posix_spawn-internal (Depends-on): Likewise.
37024
37025 2009-07-21  Bruno Haible  <bruno@clisp.org>
37026
37027         * modules/.gitattributes: New file.
37028
37029 2009-07-20  Bruno Haible  <bruno@clisp.org>
37030
37031         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
37032         (main): Use it.
37033
37034 2009-07-20  Eric Blake  <ebb9@byu.net>
37035
37036         test-pipe: make a bit more robust.
37037         * tests/test-pipe.c (myerr): Allow error messages regardless of
37038         what we do to stderr.
37039         (test_pipe): Rearrange to avoid deadlock.
37040         (child_main): Try a larger read, to ensure we avoided deadlock.
37041         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
37042         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
37043         if misused.
37044
37045 2009-07-19  Jim Meyering  <meyering@redhat.com>
37046
37047         fts: avoid false-positive cycle-detection
37048         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
37049         for each new command line argument.
37050
37051 2009-07-19  Bruno Haible  <bruno@clisp.org>
37052
37053         Fix build error on mingw with the modules sys_select and unistd.
37054         * modules/acl-tests (Depends-on): Add close.
37055         * modules/binary-io-tests (Depends-on): Likewise.
37056         * modules/closein-tests (Depends-on): Likewise.
37057         * modules/flock-tests (Depends-on): Likewise.
37058         * modules/fsync-tests (Depends-on): Likewise.
37059         * modules/lseek-tests (Depends-on): Likewise.
37060         * modules/pipe-tests (Depends-on): Likewise.
37061         * modules/posix_spawn-tests (Depends-on): Likewise.
37062         * modules/posix_spawnp-tests (Depends-on): Likewise.
37063         * modules/stat-time-tests (Depends-on): Likewise.
37064         * modules/yesno-tests (Depends-on): Likewise.
37065
37066 2009-07-19  Bruno Haible  <bruno@clisp.org>
37067
37068         Unify conditionals.
37069         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
37070         macros, not at the compiler macros.
37071         * lib/pipe.c: Likewise.
37072         * lib/execute.c: Likewise.
37073         * lib/spawni.c: Likewise.
37074
37075 2009-07-19  Bruno Haible  <bruno@clisp.org>
37076
37077         Fix handling of closed stdin/stdout/stderr on mingw.
37078         * lib/w32spawn.h: Include unistd.h.
37079         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
37080         file descriptor with O_NOINHERIT flag.
37081         (fd_safer_noinherit): New function, based on fd-safer.c.
37082         (dup_safer_noinherit): New function, based on dup-safer.c.
37083         (undup_safer_noinherit): New function.
37084         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
37085         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
37086         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
37087         instead of fd_safer.
37088         * tests/test-pipe.c: Include <windows.h>.
37089         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
37090         result.
37091
37092         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
37093         from main.
37094         (test_pipe): Pass an extra argument for disambiguation.
37095         (main): Invoke parent_main or child_main.
37096
37097         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
37098         consistently.
37099
37100 2009-07-18  Eric Blake  <ebb9@byu.net>
37101
37102         test-pipe: fix mingw build
37103         * tests/test-pipe.c (main): Avoid fcntl on mingw.
37104
37105 2009-07-18  Bruno Haible  <bruno@clisp.org>
37106
37107         * modules/pipe-tests (Makefile.am): Fix typo.
37108
37109 2009-07-18  Eric Blake  <ebb9@byu.net>
37110
37111         error: fix mingw build
37112         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
37113         Reported by Bruno Haible.
37114
37115         error: avoid undefined use of stdout
37116         * lib/error.c (error, error_at_line): Check that fd 1 is open
37117         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
37118         is handling faults and the close_stdout module wants to report the
37119         detection of closed stdout as an error.
37120
37121 2009-07-17  Eric Blake  <ebb9@byu.net>
37122
37123         pipe: be robust in face of closed fds
37124         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
37125         should cause child to misbehave.
37126         * modules/pipe-tests: New module.
37127         * tests/test-pipe.c: New file.
37128         * tests/test-pipe.sh: New file.
37129         Reported by Akim Demaille.
37130
37131 2009-07-14  Bruno Haible  <bruno@clisp.org>
37132
37133         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
37134         Reported by anonymous kc.
37135
37136 2009-07-07  Jim Meyering  <meyering@redhat.com>
37137
37138         maint.mk: don't look for translatable strings in *.m4 or *.mk
37139         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
37140         when searching for translatable strings.
37141
37142 2009-07-05  Jim Meyering  <meyering@redhat.com>
37143
37144         remove superfluous parentheses in STREQ definition
37145         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
37146         * lib/getugroups.c (STREQ): Likewise.
37147         * lib/fnmatch.c (STREQ): Likewise.
37148         Spotted by Bruno Haible.
37149
37150 2009-07-04  Jim Meyering  <meyering@redhat.com>
37151
37152         argv-iter: new module
37153         * MODULES.html.sh: Add argv-iter.
37154         * lib/argv-iter.c, lib/argv-iter.h: New files.
37155         * modules/argv-iter: New file.
37156         * modules/argv-iter-tests: New file.
37157         * tests/test-argv-iter.c: Test it.
37158
37159 2009-07-04  Bruno Haible  <bruno@clisp.org>
37160
37161         Fix assertion.
37162         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
37163         contains more exact copies of a given entry than file2, leave the extra
37164         copies unpaired rather than aborting.
37165         Reported by Eric Blake.
37166
37167 2009-07-02  Bruno Haible  <bruno@clisp.org>
37168
37169         Speedup git-merge-changelog for git cherry-pick.
37170         * lib/git-merge-changelog.c (struct entries_mapping): New type.
37171         (entries_mapping_get): New function, extracted from compute_mapping.
37172         (entries_mapping_reverse_get): New function.
37173         (compute_mapping): Add a 'full' argument. Return the result in a
37174         'struct entries_mapping'.
37175         (main): Update. Access the mappings through entries_mapping_get.
37176         Reported by Eric Blake.
37177
37178 2009-07-02  Bruno Haible  <bruno@clisp.org>
37179
37180         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
37181         best_i.
37182
37183 2009-07-02  Bruno Haible  <bruno@clisp.org>
37184
37185         Speed up approximate search for matching ChangeLog entries.
37186         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
37187         argument. Call fstrcmp_bounded instead of fstrcmp.
37188         (compute_mapping, try_split_merged_entry, main): Update callers.
37189
37190 2009-07-02  Bruno Haible  <bruno@clisp.org>
37191
37192         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
37193
37194 2009-06-30  Bruno Haible  <bruno@clisp.org>
37195
37196         Reduce the number of uc_is_cased calls.
37197         * lib/unicase.h (casing_suffix_context_t): Add
37198         'first_char_except_ignorable' field.
37199         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
37200         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
37201         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
37202         Update initializer.
37203         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
37204         case-ignorable characters.
37205         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
37206         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
37207         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
37208         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
37209         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
37210
37211 2009-06-30  Bruno Haible  <bruno@clisp.org>
37212
37213         Tests for module 'unicase/ignorable'.
37214         * modules/unicase/ignorable-tests: New file.
37215         * tests/unicase/test-ignorable.c: New file, generated by
37216         gen-uni-tables.
37217
37218         Tests for module 'unicase/cased'.
37219         * modules/unicase/cased-tests: New file.
37220         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
37221         * tests/unicase/test-predicate-part1.h: New file, derived from
37222         tests/unictype/test-predicate-part1.h.
37223         * tests/unicase/test-predicate-part2.h: New file, same as
37224         tests/unictype/test-predicate-part2.h.
37225
37226         Fix evaluation of "Before C" condition of FINAL_SIGMA.
37227         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
37228         (output_casing_properties): New function.
37229         (main): Call it.
37230         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
37231         * lib/unicase/cased.c: Include unictype/bitmap.h.
37232         (uc_is_cased): Define through a bitmap lookup.
37233         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
37234         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
37235         (uc_is_case_ignorable): Define through a bitmap lookup.
37236         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
37237         lib/unictype/bitmap.h.
37238         (Depends-on): Add inline. Clean up.
37239         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
37240         lib/unictype/bitmap.h.
37241         (Depends-on): Add inline. Clean up.
37242         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
37243         recognition.
37244         * tests/unicase/test-u16-tolower.c (main): Likewise.
37245         * tests/unicase/test-u32-tolower.c (main): Likewise.
37246
37247 2009-06-30  Bruno Haible  <bruno@clisp.org>
37248
37249         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
37250         * lib/unicase/u16-casemap.c: Likewise.
37251         * lib/unicase/u32-casemap.c: Likewise.
37252
37253 2009-06-29  Bruno Haible  <bruno@clisp.org>
37254
37255         Define u32_casefold as a wrapper around u32_ct_casefold.
37256         * lib/unicase/u32-casefold.c: Update.
37257         * modules/unicase/u32-casefold (Depends-on): Add
37258         unicase/u32-ct-casefold, unicase/empty-prefix-context,
37259         unicase/empty-suffix-context. Clean up.
37260
37261         Define u16_casefold as a wrapper around u16_ct_casefold.
37262         * lib/unicase/u16-casefold.c: Update.
37263         * modules/unicase/u16-casefold (Depends-on): Add
37264         unicase/u16-ct-casefold, unicase/empty-prefix-context,
37265         unicase/empty-suffix-context. Clean up.
37266
37267         Define u8_casefold as a wrapper around u8_ct_casefold.
37268         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
37269         * lib/unicase/u8-casefold.c: Update.
37270         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
37271         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37272
37273         Define u32_totitle as a wrapper around u32_ct_totitle.
37274         * lib/unicase/u32-totitle.c: Update.
37275         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
37276         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37277
37278         Define u16_totitle as a wrapper around u16_ct_totitle.
37279         * lib/unicase/u16-totitle.c: Update.
37280         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
37281         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37282
37283         Define u8_totitle as a wrapper around u8_ct_totitle.
37284         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
37285         functions.
37286         (FUNC): Delegate to U_CT_TOTITLE.
37287         * lib/unicase/u8-totitle.c: Update.
37288         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
37289         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37290
37291         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
37292         invocation.
37293         * modules/unicase/u32-tolower (Depends-on): Add
37294         unicase/empty-prefix-context, unicase/empty-suffix-context.
37295
37296         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
37297         invocation.
37298         * modules/unicase/u16-tolower (Depends-on): Add
37299         unicase/empty-prefix-context, unicase/empty-suffix-context.
37300
37301         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
37302         * modules/unicase/u8-tolower (Depends-on): Add
37303         unicase/empty-prefix-context, unicase/empty-suffix-context.
37304
37305         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
37306         invocation.
37307         * modules/unicase/u32-toupper (Depends-on): Add
37308         unicase/empty-prefix-context, unicase/empty-suffix-context.
37309
37310         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
37311         invocation.
37312         * modules/unicase/u16-toupper (Depends-on): Add
37313         unicase/empty-prefix-context, unicase/empty-suffix-context.
37314
37315         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
37316         * modules/unicase/u8-toupper (Depends-on): Add
37317         unicase/empty-prefix-context, unicase/empty-suffix-context.
37318
37319         New module 'unicase/u32-ct-casefold'.
37320         * lib/unicase/u32-ct-casefold.c: New file.
37321         * modules/unicase/u32-ct-casefold: New file.
37322
37323         New module 'unicase/u16-ct-casefold'.
37324         * lib/unicase/u16-ct-casefold.c: New file.
37325         * modules/unicase/u16-ct-casefold: New file.
37326
37327         New module 'unicase/u8-ct-casefold'.
37328         * lib/unicase/u8-ct-casefold.c: New file.
37329         * lib/unicase/u-ct-casefold.h: New file, derived from
37330         lib/unicase/u-casefold.h.
37331         * modules/unicase/u8-ct-casefold: New file.
37332
37333         New module 'unicase/u32-ct-totitle'.
37334         * lib/unicase/u32-ct-totitle.c: New file.
37335         * modules/unicase/u32-ct-totitle: New file.
37336
37337         New module 'unicase/u16-ct-totitle'.
37338         * lib/unicase/u16-ct-totitle.c: New file.
37339         * modules/unicase/u16-ct-totitle: New file.
37340
37341         New module 'unicase/u8-ct-totitle'.
37342         * lib/unicase/u8-ct-totitle.c: New file.
37343         * lib/unicase/u-ct-totitle.h: New file, derived from
37344         lib/unicase/u-totitle.h.
37345         * modules/unicase/u8-ct-totitle: New file.
37346
37347         New module 'unicase/u32-ct-tolower'.
37348         * lib/unicase/u32-ct-tolower.c: New file.
37349         * modules/unicase/u32-ct-tolower: New file.
37350
37351         New module 'unicase/u16-ct-tolower'.
37352         * lib/unicase/u16-ct-tolower.c: New file.
37353         * modules/unicase/u16-ct-tolower: New file.
37354
37355         New module 'unicase/u8-ct-tolower'.
37356         * lib/unicase/u8-ct-tolower.c: New file.
37357         * modules/unicase/u8-ct-tolower: New file.
37358
37359         New module 'unicase/u32-ct-toupper'.
37360         * lib/unicase/u32-ct-toupper.c: New file.
37361         * modules/unicase/u32-ct-toupper: New file.
37362
37363         New module 'unicase/u16-ct-toupper'.
37364         * lib/unicase/u16-ct-toupper.c: New file.
37365         * modules/unicase/u16-ct-toupper: New file.
37366
37367         New module 'unicase/u8-ct-toupper'.
37368         * lib/unicase/u8-ct-toupper.c: New file.
37369         * modules/unicase/u8-ct-toupper: New file.
37370
37371         Add context arguments to u*_casemap functions.
37372         * lib/unicase/unicasemap.h: Include unicase.h.
37373         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
37374         suffix_context arguments.
37375         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
37376         functions.
37377         (FUNC): Add prefix_context and suffix_context arguments. Use
37378         uc_is_cased and uc_is_case_ignorable.
37379         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
37380         * lib/unicase/u16-casemap.c: Likewise.
37381         * lib/unicase/u32-casemap.c: Likewise.
37382         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
37383         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37384         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
37385         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37386         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
37387         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37388
37389         New module 'unicase/u32-suffix-context'.
37390         * lib/unicase/u32-suffix-context.c: New file.
37391         * modules/unicase/u32-suffix-context: New file.
37392
37393         New module 'unicase/u16-suffix-context'.
37394         * lib/unicase/u16-suffix-context.c: New file.
37395         * modules/unicase/u16-suffix-context: New file.
37396
37397         New module 'unicase/u8-suffix-context'.
37398         * lib/unicase/u8-suffix-context.c: New file.
37399         * lib/unicase/u-suffix-context.h: New file.
37400         * modules/unicase/u8-suffix-context: New file.
37401
37402         New module 'unicase/empty-suffix-context'.
37403         * lib/unicase/empty-suffix-context.c: New file.
37404         * modules/unicase/empty-suffix-context: New file.
37405
37406         New module 'unicase/u32-prefix-context'.
37407         * lib/unicase/u32-prefix-context.c: New file.
37408         * modules/unicase/u32-prefix-context: New file.
37409
37410         New module 'unicase/u16-prefix-context'.
37411         * lib/unicase/u16-prefix-context.c: New file.
37412         * modules/unicase/u16-prefix-context: New file.
37413
37414         New module 'unicase/u8-prefix-context'.
37415         * lib/unicase/u8-prefix-context.c: New file.
37416         * lib/unicase/u-prefix-context.h: New file.
37417         * lib/unicase/context.h: New file.
37418         * modules/unicase/u8-prefix-context: New file.
37419
37420         New module 'unicase/empty-prefix-context'.
37421         * lib/unicase/empty-prefix-context.c: New file.
37422         * modules/unicase/empty-prefix-context: New file.
37423
37424         New module 'unicase/ignorable'.
37425         * lib/unicase/ignorable.c: New file.
37426         * modules/unicase/ignorable: New file.
37427
37428         New module 'unicase/cased'.
37429         * lib/unicase/caseprop.h: New file.
37430         * lib/unicase/cased.c: New file.
37431         * modules/unicase/cased: New file.
37432
37433         New functions for case mapping of substrings.
37434         * lib/unicase.h (casing_prefix_context_t): New type.
37435         (unicase_empty_prefix_context): New variable.
37436         (u8_casing_prefix_context, u16_casing_prefix_context,
37437         u32_casing_prefix_context, u8_casing_prefixes_context,
37438         u16_casing_prefixes_context, u32_casing_prefixes_context): New
37439         declarations.
37440         (casing_suffix_context_t): New type.
37441         (unicase_empty_suffix_context): New variable.
37442         (u8_casing_suffix_context, u16_casing_suffix_context,
37443         u32_casing_suffix_context, u8_casing_suffixes_context,
37444         u16_casing_suffixes_context, u32_casing_suffixes_context,
37445         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
37446         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
37447         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
37448         declarations.
37449
37450 2009-06-28  Jim Meyering  <meyering@redhat.com>
37451
37452         boostrap: indent only with spaces
37453         * build-aux/bootstrap: Indent only with spaces, never TABs.
37454
37455         bootstrap: split long lines
37456         * build-aux/bootstrap: Keep line length < 80.
37457
37458         bootstrap: sync from coreutils
37459         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
37460         just as autoreconf does.  Verify a list of prerequisite
37461         package-name,version-number pairs if defined in bootstrap.conf.
37462         Refer to README-prereq, if prerequisites are not satisfied.
37463
37464 2009-06-27  Eric Blake  <ebb9@byu.net>
37465
37466         tests: add test for bogus NULL definition
37467         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37468         * tests/test-stdlib.c: Likewise.
37469         * tests/test-string.c: Likewise.
37470         * tests/test-locale.c: Likewise.
37471         * tests/test-unistd.c: Likewise.
37472         * modules/stdio-tests (Depends-on): Add verify.
37473         * modules/stdlib-tests (Depends-on): Likewise.
37474         * modules/string-tests (Depends-on): Likewise.
37475         * modules/locale-tests (Depends-on): Likewise.
37476         * modules/unistd-tests (Depends-on): Likewise.
37477
37478 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37479
37480         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37481         self-explaining comment.
37482         * m4/selinux-selinux-h: Update serial.
37483         (gl_LIBSELINUX): New macro, adding a warning for missing development
37484         packages to code extracted from...
37485         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37486         Add warning for missing development packages here, too.
37487
37488 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37489
37490         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37491
37492 2009-06-25  Eric Blake  <ebb9@byu.net>
37493
37494         version-etc: fix regression
37495         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37496         gcc.
37497         (version_etc): Use it, to catch bugs with trailing NULL.
37498         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37499         (version_etc_va): Fix logic bug.
37500         * modules/version-etc-tests: Add test.
37501         * tests/test-version-etc.c: New file.
37502         * tests/test-version-etc.sh: Likewise.
37503
37504 2009-06-25  Sam Steingold  <sds@gnu.org>
37505
37506         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37507         mbtowc declaration.
37508
37509 2009-06-25  Eric Blake  <ebb9@byu.net>
37510
37511         fpurge: migrate into <stdio.h>
37512         * lib/fpurge.h: Delete...
37513         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37514         * lib/fpurge.c (fpurge): Change declaring header.
37515         * modules/fpurge (Files): Drop deleted file.
37516         (Depends-on): Add stdio.
37517         (configure.ac): Set witness.
37518         * modules/stdio (Makefile.am): Support fpurge macros.
37519         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37520         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37521         * lib/fflush.c: Update client.
37522         * tests/test-fpurge.c: Likewise.
37523         * NEWS: Mention the change.
37524
37525 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37526
37527         * lib/argp-version-etc.c (program_authors): Add const
37528         qualifier.
37529         * lib/version-etc.c: Fix typos in the comments.
37530         * modules/argp-version-etc: Depends on version-etc.
37531
37532 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37533
37534         argp-version-etc: new module.
37535
37536         * lib/argp-version-etc.c: New file.
37537         * lib/argp-version-etc.h: New file.
37538         * modules/argp-version-etc: New file.
37539         * modules/argp-version-etc-tests: New file.
37540         * tests/test-argp-version-etc.c: New test.
37541         * tests/test-argp-version-etc-1.sh: New test.
37542
37543 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37544
37545         Provide additional interfaces and documentation for version-etc
37546         module.
37547
37548         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
37549         interfaces.
37550         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
37551         prototypes.
37552
37553 2009-06-24  Bruno Haible  <bruno@clisp.org>
37554
37555         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
37556         HAVE_LIB${NAME} macro.
37557         Reported by Sam Steingold <sds@gnu.org>.
37558
37559 2009-06-23  Simon Josefsson  <simon@josefsson.org>
37560
37561         * modules/hash-tests (test_hash_LDADD): Link to libintl when
37562         needed.
37563
37564 2009-06-21  Bruno Haible  <bruno@clisp.org>
37565
37566         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
37567         work.
37568         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
37569         together with LIB${NAME}, LTLIB${NAME}.
37570         Reported by Sam Steingold <sds@gnu.org>.
37571
37572 2009-06-20  Jim Meyering  <meyering@redhat.com>
37573
37574         tests: make sc_require_test_exit_idiom more generic
37575         * top/maint.mk (Exit_witness_file): New overridable variable.
37576         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
37577         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
37578
37579 2009-06-19  Jim Meyering  <meyering@redhat.com>
37580
37581         hash: reverse order of src/dst parameters in an internal interface
37582         * lib/hash.c (transfer_entries): Reverse order of parameters to
37583         put DST before SRC.  Adjust callers.
37584
37585         tests: test-hash: avoid wholesale duplication
37586         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
37587         Instead, use a loop and add a single conditional.
37588
37589         tests: test-hash: allow seed selection via a command line argument
37590         * tests/test-hash.c (get_seed): New function.
37591         (main): Use it.
37592
37593 2009-06-19  Eric Blake  <ebb9@byu.net>
37594
37595         hash: avoid memory leak on allocation failure
37596         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
37597         failure.  Factor repeated algorithm...
37598         (transfer_entries): ...into new helper routine.
37599         (hash_delete): React to hash_rehash return value.
37600
37601         hash: reduce memory pressure in hash_rehash no-op case
37602         * lib/hash.c (next_prime): Avoid overflow.
37603         (hash_initialize): Factor bucket size computation...
37604         (compute_bucket_size): ...into new helper function.
37605         (hash_rehash): Use new function and open coding to reduce memory
37606         pressure, and avoid a memory leak in USE_OBSTACK code.
37607         Reported by Jim Meyering.
37608
37609 2009-06-18  Eric Blake  <ebb9@byu.net>
37610
37611         hash: make rotation more obvious
37612         * modules/hash (Depends-on): Add bitrotate and stdint.
37613         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
37614         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
37615         (SIZE_MAX): Rely on headers for definition.
37616         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
37617         (raw_hasher): Use rotr_sz.
37618         Suggested by Jim Meyering.
37619
37620         hash: fix memory leak in last patch
37621         * lib/hash.c (hash_rehash): Avoid memory leak.
37622
37623         hash: avoid no-op rehashing
37624         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
37625
37626         hash: provide default callback functions
37627         * lib/hash.c (raw_hasher, raw_comparator): New functions.
37628         (hash_initialize): Use them as defaults.
37629         * tests/test-hash.c (main): Test this.
37630
37631         hash: minor optimization
37632         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
37633         when possible.
37634         (hash_initialize): Document this promise.
37635         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
37636         * tests/test-hash.c (hash_compare_strings): Test this.
37637
37638 2009-06-18  Bruno Haible  <bruno@clisp.org>
37639
37640         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
37641         going to be replaced anyway.
37642
37643 2009-06-18  Bruno Haible  <bruno@clisp.org>
37644
37645         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
37646         in one place.
37647         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
37648         be replaced anyway.
37649
37650 2009-06-18  Eric Blake  <ebb9@byu.net>
37651
37652         hash: check for resize before insertion
37653         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
37654         threshold before insertion, so that a pathological hash_rehash
37655         that fills every bucket can still trigger another rehash.
37656
37657 2009-06-18  Jim Meyering  <meyering@redhat.com>
37658
37659         hash-tests: add a loop around the small tests
37660         * tests/test-hash.c (main): Repeat small tests with selected
37661         small initial table sizes.
37662
37663 2009-06-17  Eric Blake  <ebb9@byu.net>
37664
37665         hash: minor cleanups
37666         * lib/hash.h (hash_entry): Make opaque, by moving...
37667         * lib/hash.c (hash_entry): ...here.
37668         (hash_insert): Clarify restrictions on what can be inserted.
37669         (hash_get_next): Clarify when it is safe to remove an element
37670         during traversal.
37671         (check_tuning): Skip verification when tuning is known safe.
37672         (hash_initialize): Clarify restrictions on tuning.
37673
37674 2009-06-17  Jim Meyering  <jim@meyering.net>
37675         and Eric Blake  <ebb9@byu.net>
37676
37677         hash-tests: new module
37678         * modules/hash-tests: New file.
37679         * tests/test-hash.c: New file.
37680
37681 2009-06-17  Eric Blake  <ebb9@byu.net>
37682
37683         strstr-simple: document new module
37684         * MODULES.html.sh: Document new module.
37685
37686         strstr, strcasestr: replace on platforms with broken memchr
37687         * modules/strstr: Split into...
37688         * modules/strstr-simple: ...new module that does not care about
37689         performance, but does care about glibc bug.
37690         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
37691         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
37692         if platform memchr is broken, per Debian bug 521737.
37693         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
37694         memchr.
37695         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
37696         * doc/posix-functions/strstr.texi (strstr): Document the fix.
37697         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37698         * modules/mountlist (Depends-on): Add strstr-simple.
37699         * modules/gen-uni-tables (Depends-on): Likewise.
37700         * modules/argz (Depends-on): Add strstr.
37701
37702 2009-06-17  Bruno Haible  <bruno@clisp.org>
37703
37704         * modules/posix_spawn-internal (Depends-on): Add errno.
37705
37706 2009-06-17  Bruno Haible  <bruno@clisp.org>
37707
37708         Define missing ESTALE on Interix 3.5.
37709         * lib/errno.in.h (ESTALE): Assign a value if missing.
37710         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
37711         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
37712         missing.
37713         * doc/posix-headers/errno.texi: Mention the Interix bug.
37714         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
37715
37716 2009-06-15  Eric Blake  <ebb9@byu.net>
37717
37718         memchr, memchr2: add valgrind exception
37719         * lib/memchr.valgrind: New file.
37720         * lib/memchr2.valgrind: New file.
37721         * modules/memchr (Files): Distribute valgrind file.
37722         * modules/memchr2 (Files): Likewise.
37723
37724         docs: memchr is no longer obsolete
37725         * MODULES.html.sh: Move memchr from obsolete to string.h section.
37726         * lib/string.in.h (memchr): Simplify logic.
37727
37728 2009-06-14  Jim Meyering  <meyering@redhat.com>
37729
37730         link-follow: fix the "checking..." message to not mention trailing slash
37731         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
37732         never considered trailing slashes.
37733
37734 2009-06-14  Bruno Haible  <bruno@clisp.org>
37735
37736         * m4/memchr.m4: Mention also the bug on IA-64.
37737         * doc/posix-functions/memchr.texi: Likewise.
37738
37739 2009-06-12  Eric Blake  <ebb9@byu.net>
37740
37741         memchr: detect broken x86_64 and alpha implementations
37742         * modules/memchr-tests (Depends-on): Move mmap detection...
37743         * modules/memchr (Depends-on): ...here.
37744         (configure.ac): Set indicator.
37745         * lib/string.in.h (memchr): Declare replacement.
37746         * modules/string (Makefile.am): Trigger replacement.
37747         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
37748         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
37749         bugs.
37750         * doc/posix-functions/memchr.texi (memchr): Document the bug.
37751         * modules/getpagesize (License): Relax license.
37752
37753 2009-06-11  Bruno Haible  <bruno@clisp.org>
37754
37755         * lib/idpriv.h: Add more references.
37756
37757 2009-06-08  Bruno Haible  <bruno@clisp.org>
37758
37759         Tests for module 'idpriv-droptemp'.
37760         * modules/idpriv-droptemp-tests: New file.
37761         * tests/test-idpriv-droptemp.sh: New file.
37762         * tests/test-idpriv-droptemp.su.sh: New file.
37763         * tests/test-idpriv-droptemp.c: New file.
37764
37765         New module 'idpriv-droptemp'.
37766         * lib/idpriv-droptemp.c: New file.
37767         * modules/idpriv-droptemp: New file.
37768
37769 2009-06-08  Bruno Haible  <bruno@clisp.org>
37770
37771         Tests for module 'idpriv-drop'.
37772         * modules/idpriv-drop-tests: New file.
37773         * tests/test-idpriv-drop.sh: New file.
37774         * tests/test-idpriv-drop.su.sh: New file.
37775         * tests/test-idpriv-drop.c: New file.
37776
37777         New module 'idpriv-drop'.
37778         * lib/idpriv.h: New file.
37779         * lib-idpriv-drop.c: New file.
37780         * m4/idpriv.m4: New file.
37781         * modules/idpriv-drop: New file.
37782
37783 2009-06-08  Bruno Haible  <bruno@clisp.org>
37784
37785         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
37786         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37787         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37788         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37789         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37790         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37791         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37792
37793 2009-06-08  Eric Blake  <ebb9@byu.net>
37794
37795         test-strstr: use memory fence, when possible
37796         * tests/test-strstr.c (main): Use memory fence, in order to be
37797         more likely to trigger Debian bug 521737.
37798         * modules/strstr-tests (Files): Pull in additional files.
37799
37800         memchr: no longer obsolete, for wider field testing
37801         * modules/memchr (Status, Notice): Delete, this module is no
37802         longer obsolete.
37803         * modules/vasnprintf (Depends-on): Add memchr.
37804
37805 2009-06-07  Jim Meyering  <meyering@redhat.com>
37806
37807         hash: declare some functions with the warn_unused_result attribute
37808         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
37809
37810 2009-06-07  Bruno Haible  <bruno@clisp.org>
37811
37812         * tests/test-alignof.c: Don't test int64_t if it does not exist.
37813         Reported by Eric Blake.
37814
37815 2009-06-06  Eric Blake  <ebb9@byu.net>
37816
37817         test-alignof: fix typo with long double
37818         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
37819         compiler error.
37820
37821 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
37822
37823         Escape non-texinfo { and }s.
37824         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
37825         markup error.
37826
37827 2009-06-04  Jim Meyering  <meyering@redhat.com>
37828
37829         gitlog-to-changelog: don't infloop on an empty commit log
37830         * build-aux/gitlog-to-changelog: Warn about an empty log message.
37831         Reported by Boris Petersen <transacid@centerim.org>.
37832
37833 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
37834
37835         version-etc: extend for packagers
37836         Add three new configure options, intended for packagers:
37837           --with-packager="packager name"
37838           --with-packager-version="packager-specific version"
37839           --with-packager-bug-reports="packager bug reporting"
37840         An example with coreutils:
37841           $ ./configure \
37842             --with-packager=Gentoo \
37843             --with-packager-bug-report=http://bugs.gentoo.org/ \
37844             --with-packager-version="patchset 1.6"
37845           $ ./src/ls --version | head -n2
37846           ls (GNU coreutils) 7.1-dirty
37847           Packaged by Gentoo (patchset 1.6)
37848         Note that the bug reporting info via --help doesn't show up because
37849         coreutils uses its own custom emit_bug_reporting_address() implementation
37850         in src/system.h.  If it didn't, it'd look like:
37851           $ ./src/ls --help | tail -n4
37852           Report bugs to <bug-coreutils@gnu.org>.
37853           Report Gentoo bugs to <http://bugs.gentoo.org/>.
37854           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
37855           General help using GNU software: <http://www.gnu.org/gethelp/>.
37856         * lib/version-etc.c: Print new information, if provided.
37857         * m4/version-etc.m4: New file.
37858         * modules/version-etc (Files): Add m4/version-etc.m4.
37859         (configure.ac): Add gl_VERSION_ETC.
37860
37861 2009-05-31  Bruno Haible  <bruno@clisp.org>
37862
37863         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
37864         and 'int64_t'.
37865         * modules/alignof-tests (Dependencies): Add stdint.
37866         Reported by Eric Blake.
37867
37868 2009-05-31  Bruno Haible  <bruno@clisp.org>
37869
37870         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
37871         restriction due to compiler bugs.
37872         Reported by Eric Blake.
37873
37874 2009-05-31  Simon Josefsson  <simon@josefsson.org>
37875             Bruno Haible  <bruno@clisp.org>
37876
37877         Fix test-alignof failure.
37878         * lib/alignof.h (alignof_slot): New macro.
37879         (alignof_type): New macro, with the same semantics as the previous
37880         'alignof'.
37881         (alignof): Alias to alignof_slot.
37882         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
37883         check that the results are usable as constant expressions.
37884
37885 2009-05-31  Bruno Haible  <bruno@clisp.org>
37886
37887         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
37888         * tests/test-memchr.c (main): Check that memchr does not read past the
37889         first occurrence of the byte.
37890         * tests/test-strstr.c (main): Update comment.
37891         Suggested by Eric Blake.
37892
37893 2009-05-30  Bruno Haible  <bruno@clisp.org>
37894
37895         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
37896         detail how to use dumpbin.
37897         Reported by David Byron <dbyron@dbyron.com>.
37898
37899 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37900
37901         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
37902
37903 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37904
37905         * m4/manywarnings.m4: Add GCC 4.4 warnings.
37906
37907 2009-05-28  Bruno Haible  <bruno@clisp.org>
37908
37909         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
37910         build-aux/ files.
37911
37912 2009-05-28  Simon Josefsson  <simon@josefsson.org>
37913
37914         * gnulib-tool (func_import): Transform license on build-aux/ files too.
37915
37916 2009-05-27  Simon Josefsson  <simon@josefsson.org>
37917
37918         * gnulib-tool (sed_transform_main_lib_file)
37919         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
37920         regexps.
37921
37922 2009-05-26  Simon Josefsson  <simon@josefsson.org>
37923
37924         * tests/test-strstr.c: Add another self-test.
37925         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
37926         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
37927
37928 2009-05-23  Bruno Haible  <bruno@clisp.org>
37929
37930         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
37931         change.
37932
37933 2009-05-21  Bruno Haible  <bruno@clisp.org>
37934
37935         Simplify use of mode_t varargs.
37936         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
37937         uses 'mode_t' or 'int'.
37938         * lib/openat.c (openat): Likewise.
37939         * lib/open-safer.c (open_safer): Likewise.
37940         * m4/mode_t.m4: New file.
37941         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
37942         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
37943         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
37944         * modules/open (Files): Add m4/mode_t.m4.
37945         * modules/openat (Files): Likewise.
37946         * modules/fcntl-safer (Files): Likewise.
37947         Suggested by Eric Blake.
37948
37949 2009-05-21  Pádraig Brady  <P@draigbrady.com>
37950
37951         * doc/glibc-functions/fallocate.texi: New file.
37952         * doc/gnulib.texi: Include it.
37953
37954 2009-05-21  Eric Blake  <ebb9@byu.net>
37955             Bruno Haible  <bruno@clisp.org>
37956
37957         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
37958         invocations.
37959         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
37960
37961 2009-05-21  Eric Blake  <ebb9@byu.net>
37962             Bruno Haible  <bruno@clisp.org>
37963
37964         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
37965         include_next. Fix of 2008-11-20 commit.
37966         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
37967         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
37968         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
37969         NEXT_MATH_H.
37970         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
37971         instead of NEXT_MATH_H.
37972
37973 2009-05-21  Bruno Haible  <bruno@clisp.org>
37974
37975         Avoid redefinition warnings for SIZE_MAX.
37976         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
37977         Reported by Simon Josefsson.
37978
37979 2009-05-21  Bruno Haible  <bruno@clisp.org>
37980
37981         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
37982         AC_CACHE_VAL.
37983
37984 2009-05-20  Bruno Haible  <bruno@clisp.org>
37985
37986         Make zeroptr.h work on mingw.
37987         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
37988         mprotect.
37989         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
37990         * modules/memchr2-tests (configure.ac): Likewise.
37991         * modules/memcmp-tests (configure.ac): Likewise.
37992         * modules/memmem-tests (configure.ac): Likewise.
37993         * modules/memrchr-tests (configure.ac): Likewise.
37994         Reported by Simon Josefsson.
37995
37996 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37997
37998         * tests/test-glob.c: Include string.h for strcmp prototype.
37999
38000 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38001
38002         * modules/getdelim (Depends-on): Add explicit stdint, although it
38003         was implicitly already pulled in via realloc-posix.
38004         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
38005
38006 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38007
38008         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
38009         G. Christensen" <tgc@jupiterrise.com>.
38010         * m4/sys_socket_h.m4: Check for sa_family_t.
38011         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
38012         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
38013         * tests/test-sys_socket.c: Check that sa_family_t works.
38014
38015 2009-05-18  Eric Blake  <ebb9@byu.net>
38016
38017         maint.mk: allow gnulib_dir in VPATH build
38018         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
38019
38020 2009-05-15  Jim Meyering  <meyering@redhat.com>
38021
38022         maint.mk: Give gnulib_dir a default definition.
38023         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
38024         Thus, most packages no longer need to specify this variable in cfg.mk
38025
38026 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
38027
38028         rename.m4: fix typos that would make non-mingw cross-configure fail
38029         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
38030
38031 2009-05-13  Eric Blake  <ebb9@byu.net>
38032
38033         mmap-anon: avoid out-of-order autoconf expansion
38034         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
38035         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
38036         * modules/memchr-tests (Depends-on): Add extensions.
38037         * modules/memchr2-tests (Depends-on): Add extensions.
38038         * modules/memcmp-tests (Depends-on): Add extensions.
38039         * modules/memmem-tests (Depends-on): Add extensions.
38040         * modules/memrchr-tests (Depends-on): Add extensions.
38041
38042 2009-05-13  Bruno Haible  <bruno@clisp.org>
38043
38044         Make some tests ISO C 99 compliant.
38045         * tests/zerosize-ptr.h: New file.
38046         * tests/test-memchr.c: Include zerosize-ptr.h.
38047         (main): Use a zero-size object pointer instead of NULL.
38048         * tests/test-memchr2.c: Include zerosize-ptr.h.
38049         (main): Use a zero-size object pointer instead of NULL.
38050         * tests/test-memcmp.c: Include zerosize-ptr.h.
38051         (main): Use a zero-size object pointer instead of NULL.
38052         * tests/test-memmem.c: Include zerosize-ptr.h.
38053         (main): Use a zero-size object pointer instead of NULL.
38054         * tests/test-memrchr.c: Include zerosize-ptr.h.
38055         (main): Use a zero-size object pointer instead of NULL.
38056         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
38057         m4/mmap-anon.m4.
38058         (Depends-on): Add getpagesize.
38059         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38060         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
38061         m4/mmap-anon.m4.
38062         (Depends-on): Add getpagesize.
38063         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38064         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
38065         m4/mmap-anon.m4.
38066         (Depends-on): Add getpagesize.
38067         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38068         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
38069         m4/mmap-anon.m4.
38070         (Depends-on): Add getpagesize.
38071         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38072         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
38073         m4/mmap-anon.m4.
38074         (Depends-on): Add getpagesize.
38075         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38076
38077 2009-05-12  Bruno Haible  <bruno@clisp.org>
38078
38079         Tests for module 'alignof'.
38080         * modules/alignof-tests: New file.
38081         * tests/test-alignof.c: New file.
38082
38083 2009-05-12  Bruno Haible  <bruno@clisp.org>
38084
38085         Fix alignof macro.
38086         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
38087         vendor compilers that are always correct.
38088
38089 2009-05-12  Bruno Haible  <bruno@clisp.org>
38090
38091         Make the MAP_ANONYMOUS detection work on HP-UX 11.
38092         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
38093         not whether its fully works.
38094
38095 2009-05-12  Bruno Haible  <bruno@clisp.org>
38096
38097         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
38098
38099 2009-05-12  Jim Meyering  <meyering@redhat.com>
38100
38101         * top/maint.mk: Adjust backslash alignment.
38102
38103 2009-05-11  Simon Josefsson  <simon@josefsson.org>
38104
38105         * top/maint.mk: Make $(srcdir)/build-aux configurable.
38106
38107 2009-05-11  Eric Blake  <ebb9@byu.net>
38108
38109         argp: avoid undefined behavior
38110         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
38111         macros.
38112
38113 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38114
38115         * tests/test-vc-list-files-git.sh: Do git config of user.email and
38116         user.name to prevent git commit from complaining.
38117
38118 2009-05-10  Bruno Haible  <bruno@clisp.org>
38119
38120         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
38121         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
38122         it rewrites every file name only once.
38123         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
38124
38125 2009-05-08  Bruno Haible  <bruno@clisp.org>
38126
38127         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
38128         instead of 'max'.
38129
38130 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38131
38132         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
38133         sockaddr_storage test.
38134
38135 2009-05-07  Simon Josefsson  <simon@josefsson.org>
38136
38137         * modules/sys_socket (Makefile.am): Substitute
38138         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
38139         * m4/sys_socket_h.m4: Check for sockaddr_storage.
38140         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
38141         * tests/test-sys_socket.c: Check sockaddr_storage.
38142
38143 2009-05-08  Bruno Haible  <bruno@clisp.org>
38144
38145         New module 'alignof'.
38146         * lib/alignof.h: New file.
38147         * modules/alignof: New file.
38148
38149 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38150             Bruno Haible  <bruno@clisp.org>
38151
38152         Fix test-file-has-acl on FreeBSD.
38153         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
38154         mask is implicitly added.
38155         * tests/test-file-has-acl.c: Include <signal.h>.
38156         (main): Terminate the test after 5 seconds.
38157         * modules/acl-tests (configure.ac): Check for alarm function.
38158
38159 2009-05-04  Bruno Haible  <bruno@clisp.org>
38160
38161         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
38162         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
38163         * modules/errno (configure.ac): Drop AC_REQUIRE.
38164         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
38165         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
38166
38167 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38168
38169         * modules/glob-tests: New module.
38170         * tests/test-glob.c: Add.
38171
38172 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38173
38174         * modules/fnmatch-tests: New module.
38175         * tests/test-fnmatch.c: Add.
38176
38177 2009-05-04  Eric Blake  <ebb9@byu.net>
38178
38179         maint: make the new no-submodule-changes rule VPATH-safe
38180         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
38181
38182 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38183             Bruno Haible  <bruno@clisp.org>
38184
38185         acl: Fix infinite loop on FreeBSD.
38186         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
38187         of return value from acl_get_entry.
38188         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
38189         Likewise.
38190
38191 2009-05-03  Bruno Haible  <bruno@clisp.org>
38192
38193         * lib/acl-internal.h (acl_entries): Clarify return value.
38194         * lib/acl_entries.c (acl_entries): Likewise.
38195
38196 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38197
38198         Bug fix in acl module.
38199         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
38200
38201 2009-05-03  Bruno Haible  <bruno@clisp.org>
38202
38203         Create gperf-generated file in the source dir, not in the build dir.
38204         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
38205         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
38206         * modules/unicase/locale-language (unicase/locale-languages.h):
38207         Likewise.
38208         * modules/unicase/special-casing (unicase/special-casing-table.h):
38209         Likewise.
38210         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
38211         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
38212         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
38213         Reported by Ralf Wildenhues.
38214
38215 2009-05-03  Bruno Haible  <bruno@clisp.org>
38216
38217         * modules/fnmatch (Description, configure.ac): Taken from
38218         fnmatch-posix.
38219         * modules/fnmatch-posix: Turn into a symbolic reference to the
38220         'fnmatch' module, and deprecate.
38221         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
38222
38223 2009-05-03  Bruno Haible  <bruno@clisp.org>
38224
38225         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
38226         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
38227         Reported by Ralf Wildenhues.
38228
38229 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38230
38231         * m4/fnmatch.m4: Fix fnmatch re-define.
38232
38233 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38234
38235         priv-set: new module and tests; adapt write-any-file
38236         * lib/priv-set.c: New file.
38237         * lib/priv-set.h: New file.
38238         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
38239         * lib/write-any-file.c: Simplify by using priv-set module.
38240         * m4/priv-set.m4: New file.
38241         * modules/priv-set: New file.
38242         * modules/unlinkdir: Add dependency on priv-set module.
38243         * modules/write-any-file: Likewise.
38244
38245         Tests for module 'priv-set'.
38246         * modules/priv-set-tests: New file.
38247         * tests/test-priv-set.c: New file.
38248
38249 2009-05-03  Jim Meyering  <meyering@redhat.com>
38250             Bruno Haible  <bruno@clisp.org>
38251
38252         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
38253         use the converted UTF-8 variant of the name instead.
38254
38255 2009-05-03  Jim Meyering  <meyering@redhat.com>
38256
38257         tests: tighten some getdate tests
38258         * tests/test-getdate.c (main): Tighten tests: require equality,
38259         not just greater than.  Set TZ envvar to UTC0.
38260
38261 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
38262
38263         getdate: correctly interpret "next monday" when run on a Monday
38264         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
38265         that e.g., "next tues" (when run on a tuesday) results in a date
38266         that is one week in the future, and not today's date.
38267         I.e., add a week when the wday is the same as the current one.
38268         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
38269         and earlier by Martin Bernreuther and Jan Minář.
38270         * tests/test-getdate.c (main): Check that "next DAY" is always in
38271         the future and that "last DAY" is always in the past.
38272
38273 2009-05-02  Jim Meyering  <meyering@redhat.com>
38274
38275         build: ensure that a release build fails when a submodule is unclean
38276         * top/maint.mk (no-submodule-changes): New rule.
38277         (alpha beta major): Depend on it.
38278
38279 2009-05-02  Bruno Haible  <bruno@clisp.org>
38280
38281         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
38282         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
38283         shell variable gl_fnmatch_required to detect which variant is
38284         requested.
38285         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
38286         gl_FUNC_FNMATCH_POSIX.
38287         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
38288         exclude fnmatch-posix.
38289
38290 2009-05-02  Bruno Haible  <bruno@clisp.org>
38291
38292         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
38293         * modules/mbsrtowcs (License): Change to LGPLv2+.
38294         * modules/strnlen1 (License): Likewise.
38295         Reported by Simon Josefsson.
38296
38297 2009-05-02  Bruno Haible  <bruno@clisp.org>
38298
38299         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
38300         "cross".
38301         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
38302         gnulib-tool was called with option --source-base=lib.
38303
38304 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38305
38306         Use automake *-local hooks without commands, for extensibility.
38307         * modules/localcharset (Makefile.am): Rename install-exec-local
38308         rule to install-exec-localcharset, and make it a prerequisite of
38309         install-exec-local.  Likewise, rename the uninstall-local rule to
38310         uninstall-localcharset, and make it a prerequisite of the former.
38311
38312 2009-05-01  Bruno Haible  <bruno@clisp.org>
38313
38314         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
38315         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38316         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
38317         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
38318         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
38319         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38320         m4/locale-zh.m4, m4/codeset.m4.
38321
38322         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38323         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
38324         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38325         m4/locale-zh.m4.
38326
38327         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
38328         REPLACE_WCRTOMB if mbstate_t must be replaced.
38329         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
38330         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
38331
38332 2009-05-01  Bruno Haible  <bruno@clisp.org>
38333
38334         Avoid compiler warnings when redefining macros defined by <libintl.h>.
38335         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
38336         dngettext, dcngettext, textdomain, bindtextdomain,
38337         bind_textdomain_codeset): Undefine before redefining.
38338
38339 2009-04-30  Bruno Haible  <bruno@clisp.org>
38340
38341         Fix bug introduced on 2009-04-25.
38342         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
38343         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
38344         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
38345         is defined.
38346         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
38347         is defined.
38348         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
38349         is defined.
38350         Reported by Elbert_Pol <elbert.pol@gmail.com>.
38351
38352 2009-04-28  Bruno Haible  <bruno@clisp.org>
38353
38354         Comment tweaks.
38355         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
38356         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
38357         * lib/unicase.h (u*_casexfrm): Likewise.
38358         Reported by Paolo Bonzini.
38359
38360 2009-04-28  Bruno Haible  <bruno@clisp.org>
38361
38362         Fix a compilation error.
38363         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
38364         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38365         Reported by Jim Meyering.
38366
38367 2009-04-27  Bruno Haible  <bruno@clisp.org>
38368
38369         New module 'libunistring'.
38370         * modules/libunistring: New file.
38371         * m4/libunistring.m4: New file.
38372         * MODULES.html.sh (Unicode string functions): Add it.
38373
38374 2009-04-27  Eric Blake  <ebb9@byu.net>
38375
38376         maint.mk: allow package-specific header to provide <config.h>
38377         * top/maint.mk (sc_require_config_h): New variable.
38378         (sc_require_config_h, sc_require_config_h_first): Use it.
38379
38380 2009-04-27  Simon Josefsson  <simon@josefsson.org>
38381
38382         * top/maint.mk (sc_avoid_if_before_free): Except
38383         useless-if-before-free script.
38384
38385 2009-04-27  Eric Blake  <ebb9@byu.net>
38386
38387         maintainer-makefile: depend on all required helper scripts
38388         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
38389         useless-if-before-free.
38390         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
38391         version, rather than assuming gnulib checkout is available.
38392         Reported by Simen Josefsson.
38393
38394 2009-04-26  Bruno Haible  <bruno@clisp.org>
38395
38396         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
38397         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
38398         "../" or "..".
38399
38400 2009-04-26  Bruno Haible  <bruno@clisp.org>
38401
38402         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
38403         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
38404         AC_LIB_HAVE_LINKFLAGS.
38405
38406 2009-04-26  Bruno Haible  <bruno@clisp.org>
38407
38408         Simplify calling convention of u*_conv_from_encoding.
38409         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
38410         u32_conv_from_encoding): Expect a resultbuf argument and return the
38411         result directly as a pointer.
38412         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
38413         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
38414         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
38415         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
38416         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
38417         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38418         Update.
38419         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
38420         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
38421         * lib/vasnprintf.c (VASNPRINTF): Update.
38422         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
38423         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
38424         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
38425         * NEWS: Mention the change.
38426
38427 2009-04-26  Bruno Haible  <bruno@clisp.org>
38428
38429         Simplify calling convention of u*_conv_to_encoding.
38430         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38431         u32_conv_to_encoding): Expect a resultbuf argument and return the
38432         result directly as a pointer.
38433         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38434         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
38435         freeing scaled_offsets if mem_iconveha failed.
38436         * lib/unicase/u-casexfrm.h (FUNC): Update.
38437         * lib/uninorm/u-normxfrm.h (FUNC): Update.
38438         * lib/vasnprintf.c (VASNPRINTF): Update.
38439         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
38440         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
38441         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
38442         * NEWS: Mention the change.
38443
38444 2009-04-26  Bruno Haible  <bruno@clisp.org>
38445
38446         Avoid test failures on AIX and OSF/1.
38447         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
38448         malloc(0).
38449         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38450         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38451         Likewise.
38452         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
38453         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
38454         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
38455         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
38456         * doc/posix-functions/malloc.texi: Document the portability problem
38457         related to malloc(0).
38458
38459 2009-04-26  Bruno Haible  <bruno@clisp.org>
38460
38461         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38462         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38463         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38464
38465 2009-04-25  Bruno Haible  <bruno@clisp.org>
38466
38467         Avoid link error when creating a namespace clean library.
38468         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38469         as macro with arguments if already defined as an alias.
38470         * lib/signbitf.c (gl_signbitf): Don't undefine.
38471         * lib/signbitd.c (gl_signbitd): Don't undefine.
38472         * lib/signbitl.c (gl_signbitl): Don't undefine.
38473
38474 2009-04-25  Jim Meyering  <meyering@redhat.com>
38475
38476         vc-list-files: fix another quoting bug
38477         * build-aux/vc-list-files: Avoid sed backslash expansion
38478         of pathological directory names.
38479
38480 2009-04-25  Eric Blake  <ebb9@byu.net>
38481
38482         vc-list-files: fix shell quoting error
38483         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38484         timestamp.
38485
38486 2009-04-25  Jim Meyering  <meyering@redhat.com>
38487
38488         vc-list-files: restore lost functionality with subdir argument
38489         * build-aux/vc-list-files: When given a non-"." sub-directory
38490         argument, substitute the $dir/ prefix back onto each resulting name.
38491         Otherwise, coreutils' root_tests check would fail.
38492
38493 2009-04-24  Eric Blake  <ebb9@byu.net>
38494
38495         vc-list-files: ignore git symlinks
38496         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38497         than ls-files, to ignore git symlinks.
38498
38499         maint.mk: import improvements from m4
38500         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38501         (move_if_change): Delete unused macro.
38502         (news-date-check, vc-diff-check): Support VPATH builds.
38503         (announcement): Likewise.  Split --bootstrap-tools list...
38504         (boostrap-tools): ...into separate list, which can be overridden
38505         in cfg.mk.
38506         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38507         requiring dependency on useless-if-before-free module.
38508         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38509         Support VPATH builds.
38510
38511 2009-04-24  Jim Meyering  <meyering@redhat.com>
38512
38513         maint.mk: remove coreutils-specific rules and variables
38514         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38515         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38516         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38517
38518         maint.mk: remove obsolete rule
38519         * top/maint.mk (rel-check): Remove rule.
38520         (WGET, WGETFLAGS): Remove now-unused variables.
38521
38522 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38523
38524         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
38525         consistency.
38526
38527         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
38528         '$(PATH_SEPARATOR)' instead of ':'.
38529
38530 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38531
38532         * lib/getopt1.c (main): Use 'const' for static array.
38533
38534 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38535
38536         * top/maint.mk: Sync with coreutils.
38537         * NEWS: Explain incompatibilities.
38538
38539 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38540             Bruno Haible  <bruno@clisp.org>
38541
38542         Fix cross-compilation results.
38543         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
38544         statement, as third argument of AC_TRY_RUN.
38545         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38546         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38547         Likewise.
38548         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38549         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
38550         Likewise.
38551         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38552         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
38553         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
38554
38555 2009-04-20  Bruno Haible  <bruno@clisp.org>
38556
38557         Avoid test failure on mingw.
38558         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
38559
38560 2009-04-20  Bruno Haible  <bruno@clisp.org>
38561
38562         Avoid compilation error on mingw.
38563         * modules/localename-tests (Depends-on): Add locale.
38564
38565 2009-04-19  Bruno Haible  <bruno@clisp.org>
38566
38567         Support for building a shared library on Windows platforms.
38568         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
38569         (main): Test the presence of UNINORM_NFC here.
38570         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
38571         (main): Test the presence of UNINORM_NFD here.
38572         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
38573         (main): Test the presence of UNINORM_NFKC here.
38574         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
38575         (main): Test the presence of UNINORM_NFKD here.
38576
38577 2009-04-19  Bruno Haible  <bruno@clisp.org>
38578
38579         Avoid a compiler warning.
38580         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
38581         Change type of variable 'sequence'.
38582
38583 2009-04-19  Bruno Haible  <bruno@clisp.org>
38584
38585         * modules/configmake (Makefile.am): When the contents of configmake.h
38586         does not change, arrange to preserve its modification time.
38587
38588 2009-04-17  Simon Josefsson  <simon@josefsson.org>
38589
38590         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
38591         gettext domain.
38592
38593 2009-04-16  Jim Meyering  <meyering@redhat.com>
38594
38595         useless-if-before-free: improve conversion code
38596         * build-aux/useless-if-before-free: Adjust code-in-comment to match
38597         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
38598
38599 2009-04-14  Bruno Haible  <bruno@clisp.org>
38600
38601         * modules/fcntl (Depends-on): Add extensions.
38602         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
38603
38604 2009-04-12  Ben Pfaff  <blp@gnu.org>
38605
38606         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
38607         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
38608
38609 2009-03-20  Ben Pfaff  <blp@gnu.org>
38610
38611         Make rename replace existing destinations on Windows.
38612         * m4/rename.m4: Add test for Mingw.
38613         * lib/rename.c: Add rename replacement that uses MoveFileEx with
38614         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
38615         * doc/posix-functions/rename.texi: Document.
38616
38617 2009-04-10  Bruno Haible  <bruno@clisp.org>
38618
38619         New include file "iconveh.h".
38620         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
38621         * lib/striconveh.h: Include it.
38622         (enum iconv_ilseq_handler): Remove definition.
38623         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
38624         striconveh.h.
38625         * lib/striconveha.c: Include striconveh.h.
38626         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
38627         * modules/striconveh (Files): Add lib/iconveh.h.
38628         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
38629         lib/striconveh.h.
38630
38631 2009-04-10  Bruno Haible  <bruno@clisp.org>
38632
38633         * lib/uniconv.h: Update comment.
38634
38635 2009-04-10  Bruno Haible  <bruno@clisp.org>
38636
38637         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
38638         always.
38639         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38640         * lib/unistr/u16-mbtouc-aux.c: Likewise.
38641         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
38642         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
38643         "unistring-notinline.h", so that the function gets defined always.
38644         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38645         * lib/unistr/u8-uctomb.c: Likewise.
38646         * lib/unistr/u16-mbtouc.c: Likewise.
38647         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
38648         * lib/unistr/u16-uctomb.c: Likewise.
38649         * lib/unistr/u32-mbtouc.c: Likewise.
38650         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38651         * lib/unistr/u32-uctomb.c: Likewise.
38652
38653 2009-04-10  Bruno Haible  <bruno@clisp.org>
38654
38655         Mark 'utime' obsolete.
38656         * modules/utime (Status, Notice): New sections.
38657         Suggested by Jim Meyering.
38658
38659         Fix cross-compile guess for utime test.
38660         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
38661         autoconf.
38662         * doc/posix-functions/utime.texi: Give more precisions.
38663         Reported by Jan <ipif@ymail.com>.
38664
38665 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
38666
38667         filevercmp: correct today's change
38668         * lib/filevercmp.c: Also handle coreutils' test inputs.
38669         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
38670
38671         Fix regression in 'filevercmp' module. Thanks Sven Joachim
38672         for reporting it.
38673         * lib/filevercmp.c: Special handle for "", "." and "..".
38674         * tests/test-filevercmp.c: Enlarge the set suite.
38675
38676 2009-04-07  Jim Meyering  <meyering@redhat.com>
38677
38678         useless-if-before-free: show how to remove braced useless free, too
38679         * build-aux/useless-if-before-free: still only in a comment, though.
38680
38681 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
38682
38683         maint.mk: import changes to syntax-check macros from coreutils
38684         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
38685         Use them in the relevant macros.
38686
38687 2009-04-06  Bruno Haible  <bruno@clisp.org>
38688
38689         Fix unportable use of bit-fields.
38690         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
38691         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
38692         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
38693
38694 2009-04-06  Bruno Haible  <bruno@clisp.org>
38695
38696         Avoid test failures on AIX and OSF/1.
38697         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
38698         that malloc(0) = NULL.
38699         * tests/unicase/test-u8-tolower.c (check): Likewise.
38700         * tests/unicase/test-u8-totitle.c (check): Likewise.
38701         * tests/unicase/test-u8-toupper.c (check): Likewise.
38702         * tests/unicase/test-u16-casefold.c (check): Likewise.
38703         * tests/unicase/test-u16-tolower.c (check): Likewise.
38704         * tests/unicase/test-u16-totitle.c (check): Likewise.
38705         * tests/unicase/test-u16-toupper.c (check): Likewise.
38706         * tests/unicase/test-u32-casefold.c (check): Likewise.
38707         * tests/unicase/test-u32-tolower.c (check): Likewise.
38708         * tests/unicase/test-u32-totitle.c (check): Likewise.
38709         * tests/unicase/test-u32-toupper.c (check): Likewise.
38710         * tests/uninorm/test-u8-nfc.c (check): Likewise.
38711         * tests/uninorm/test-u8-nfd.c (check): Likewise.
38712         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
38713         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
38714         * tests/uninorm/test-u16-nfc.c (check): Likewise.
38715         * tests/uninorm/test-u16-nfd.c (check): Likewise.
38716         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
38717         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
38718         * tests/uninorm/test-u32-nfc.c (check): Likewise.
38719         * tests/uninorm/test-u32-nfd.c (check): Likewise.
38720         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
38721         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
38722
38723 2009-04-05  Bruno Haible  <bruno@clisp.org>
38724
38725         Work around an autoconf limitation.
38726         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
38727         comment line if it would be longer than 3 KB.
38728
38729 2009-04-05  Bruno Haible  <bruno@clisp.org>
38730
38731         Avoid test failure with libiconv-1.13.
38732         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
38733         of the expected test results.
38734
38735 2009-04-05  Bruno Haible  <bruno@clisp.org>
38736
38737         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
38738         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
38739         that it should be installed.
38740
38741 2009-04-05  Bruno Haible  <bruno@clisp.org>
38742
38743         * gnulib-tool: New option --copy-file.
38744         (func_usage): Document it.
38745         (func_dest_tmpfilename): Moved out of func_import.
38746         (func_add_file, func_update_file): New functions, extracted from
38747         func_import.
38748         (func_import): Update.
38749
38750 2009-04-05  Karl Berry  <karl@gnu.org>
38751
38752         * README: prominently mention gnulib-tool.
38753         Rearrange sections so getting the code is near the top.
38754
38755 2009-04-05  Bruno Haible  <bruno@clisp.org>
38756
38757         * lib/unicase.h: Mention u*_cmp2.
38758         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38759         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
38760         * lib/unicase/ulc-casecmp.c: Likewise.
38761         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
38762         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
38763         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
38764         unistr/u8-cmp.
38765         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
38766         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
38767         unistr/u16-cmp.
38768         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
38769         unistr/u32-cmp.
38770
38771         * lib/uninorm.h: Mention u*_cmp2.
38772         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38773         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
38774         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
38775         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
38776         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
38777         unistr/u8-cmp.
38778         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
38779         unistr/u16-cmp.
38780         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
38781         unistr/u32-cmp.
38782
38783         New module 'unistr/u32-cmp2'.
38784         * lib/unistr/u32-cmp2.c: New file.
38785         * modules/unistr/u32-cmp2: New file.
38786
38787         New module 'unistr/u16-cmp2'.
38788         * lib/unistr/u16-cmp2.c: New file.
38789         * modules/unistr/u16-cmp2: New file.
38790
38791         New module 'unistr/u8-cmp2'.
38792         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
38793         * lib/unistr/u8-cmp2.c: New file.
38794         * lib/unistr/u-cmp2.h: New file.
38795         * modules/unistr/u8-cmp2: New file.
38796
38797 2009-04-05  Bruno Haible  <bruno@clisp.org>
38798
38799         * lib/unictype.h (uc_property_is_valid): New macro.
38800         * tests/unictype/test-pr_byname.c (main): Use it.
38801
38802         * lib/unistr.h: Doc fixes.
38803         * lib/uniconv.h: Doc fixes.
38804         * lib/unictype.h: Doc fixes.
38805
38806 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
38807
38808         Port coreutils 7.2 to Solaris 8.
38809
38810         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
38811         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
38812         for Solaris 8.  This is a bit of a hack, as it means it's the
38813         caller's responsibility to add -lnsl if needed, but most likely it
38814         won't be needed since only getaddrinfo uses this and getaddrinfo
38815         isn't needed on Solaris 8.
38816
38817         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
38818         problem to Solaris 8 encountered with coreutils 7.2, which
38819         resulted in a message "fnmatch.c:292: warning: passing argument 4
38820         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
38821         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
38822
38823 2009-04-03  Simon Josefsson  <simon@josefsson.org>
38824
38825         * m4/ld-version-script.m4: Add FIXME comment.
38826
38827 2009-04-02  Simon Josefsson  <simon@josefsson.org>
38828
38829         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
38830         SOVERSION variable.
38831
38832 2009-04-02  Bruno Haible  <bruno@clisp.org>
38833
38834         * Makefile (info, html, dvi, pdf): Combine the rules.
38835         Suggested by Jim Meyering.
38836
38837 2009-04-01  Bruno Haible  <bruno@clisp.org>
38838
38839         * Makefile (info, html, dvi, pdf): New targets.
38840         Reported by Reuben Thomas <rrt@sc3d.org>.
38841
38842 2009-04-01  Bruno Haible  <bruno@clisp.org>
38843
38844         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
38845         can be put into PATH.
38846         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
38847
38848 2009-04-01  Bruno Haible  <bruno@clisp.org>
38849
38850         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
38851
38852 2009-04-01  Bruno Haible  <bruno@clisp.org>
38853
38854         Rename module 'visibility'.
38855         * modules/lib-symbol-visibility: Renamed from modules/visibility.
38856         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
38857         * doc/gnulib.texi: Update.
38858         * MODULES.html.sh (Misc): Update.
38859         * NEWS: Mention the change.
38860
38861 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38862
38863         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
38864         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
38865         Eric Blake <ebb9@byu.net> for review.
38866         * MODULES.html.sh: Add lib-msvc-compat.
38867         * doc/gnulib.texi: Link to new section.
38868         * m4/ld-output-def.m4: New file.
38869         * doc/ld-output-def.texi: New file.
38870
38871 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38872
38873         Rename ld-version-script to lib-symbol-versions.  Suggested by
38874         Bruno Haible <bruno@clisp.org>.
38875         * modules/ld-version-script: Renamed to lib-symbol-versions.
38876         * doc/ld-version-script.texi: Fix module name.
38877         * MODULES.html.sh: Add lib-symbol-versions.
38878
38879 2009-03-31  Simon Josefsson  <simon@josefsson.org>
38880
38881         * modules/u64-tests: New file.
38882         * tests/test-u64.c: New file.
38883
38884 2009-03-04  Simon Josefsson  <simon@josefsson.org>
38885
38886         * MODULES.html.sh: Mention u64.
38887         * modules/u64: New module.
38888         * modules/crypto/sha512: Depend on u64 module instead of providing
38889         u64.h.
38890
38891 2009-03-27  Eric Blake  <ebb9@byu.net>
38892
38893         test-strerror: make debugging EAI_SYSTEM easier
38894         * modules/getaddrinfo-tests (Depends-on): Add strerror.
38895         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
38896         failure was EAI_SYSTEM.
38897
38898 2009-03-25  Bruno Haible  <bruno@clisp.org>
38899
38900         Fix a problem with --enable-relocatable on Solaris 7.
38901         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
38902         since 2008-02-24.
38903
38904 2009-03-25  Eric Blake  <ebb9@byu.net>
38905
38906         test-sockets: avoid gcc warning
38907         * tests/test-sockets.c (main): Silence compiler warning.
38908
38909 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
38910
38911         New modules nproc, pthread, contributed by Glen Lenker.
38912
38913         * MODULES.html.sh: Add pthread, nproc.
38914         * lib/nproc.c: New file.
38915         * lib/nproc.h: New file.
38916         * lib/pthread.in.h: New file.
38917         * m4/pthread.m4: New file.
38918         * modules/nproc: New file.
38919         * modules/pthread: New file.
38920
38921 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38922
38923         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
38924         New variable.
38925
38926 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
38927
38928         filevercmp: handle simple~ and numbered.~3~ backup suffixes
38929         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
38930         * tests/test-filevercmp.c: Add tests for backup suffixes.
38931
38932 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38933
38934         * modules/stdlib (Depends-on): Add stdint, needed when defining
38935         struct random_data on, for example, HP-UX 10.20.  Reported by
38936         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38937
38938 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38939
38940         * lib/readline.c (readline): Call fflush on stdout after printing
38941         prompt.
38942
38943 2009-03-20  Bruno Haible  <bruno@clisp.org>
38944
38945         Remove dependency from 'close' module to -lws2_32 on native Windows.
38946         * lib/close-hook.h: New file.
38947         * lib/close-hook.c: New file.
38948         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
38949         w32sock.h.
38950         (_gl_close_fd_maybe_socket): Remove function.
38951         (rpl_close): Invoke execute_all_close_hooks instead of
38952         _gl_close_fd_maybe_socket.
38953         * lib/sockets.c: Include close-hook.h, w32sock.h.
38954         (close_fd_maybe_socket): New function, essentially from lib/close.c.
38955         (close_sockets_hook): New variable.
38956         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
38957         (gl_sockets_cleanup): Unregister it.
38958         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
38959         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
38960         * modules/close-hook: New file.
38961         * modules/close (Files): Remove lib/w32sock.h.
38962         (Depends-on): Add close-hook.
38963         (Link): Remove section.
38964         * modules/sockets (Files): Add lib/w32sock.h.
38965         (Depends-on): Add close-hook.
38966         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
38967         invocation.
38968         * NEWS: Mention that LIB_CLOSE is gone.
38969
38970 2009-03-23  Eric Blake  <ebb9@byu.net>
38971
38972         signal-tests: test previous patch
38973         * tests/test-signal.c: New file.
38974         * modules/signal-tests: Likewise.
38975
38976         signal.h: always support 'volatile sig_atomic_t'
38977         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
38978         (gl_SIGNAL_H_DEFAULTS): Add a default.
38979         * modules/signal (Makefile.am): Substitute if needed.
38980         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
38981         users can blindly add volatile.
38982         * doc/posix-headers/signal.texi (signal.h): Document it.
38983         Reported by Matthew Woehlke.
38984
38985 2009-03-23  Jim Meyering  <meyering@redhat.com>
38986
38987         pathmax: PATH_MAX: use pathconf only when available
38988         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
38989         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
38990         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
38991         This avoids a link failure in a PSP cross-compilation environment
38992         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
38993
38994         * lib/vasnprintf.c (divide): Fix typo in comment.
38995
38996 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38997
38998         * gnulib-tool (func_filter_filelist): Fix comment.
38999
39000 2009-03-20  Bruno Haible  <bruno@clisp.org>
39001
39002         Make sockets.h self-contained.
39003         * lib/sockets.c: Include sockets.h first.
39004         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
39005
39006 2009-03-19  Eric Blake  <ebb9@byu.net>
39007
39008         doc: mention more functions added in cygwin 1.7.0
39009         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
39010         addition.
39011         * doc/posix-functions/log2f.texi: Likewise.
39012
39013 2009-03-19  Jim Meyering  <meyering@redhat.com>
39014
39015         fsusage: avoid syntax error due to statement-before-declaration
39016         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
39017         after all declarations.  Reported by Matthew Woehlke in
39018         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
39019
39020 2009-03-18  Eric Blake  <ebb9@byu.net>
39021
39022         build-aux/compile: sync from automake
39023         * build-aux/compile: New file, from automake.
39024         * config/srclist.txt: Mention build-aux/compile.
39025
39026 2009-03-17  Bruno Haible  <bruno@clisp.org>
39027
39028         * lib/git-merge-changelog.c: Fix typo in comment.
39029         Reported by Reuben Thomas <rrt@sc3d.org>.
39030
39031 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
39032
39033         * m4/regex.m4: update and improve help for
39034         --without-included-regex.
39035
39036 2009-03-17  Simon Josefsson  <simon@josefsson.org>
39037
39038         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
39039         failure on missing include files.
39040
39041 2009-03-17  Eric Blake  <ebb9@byu.net>
39042
39043         doc: mention more functions added in cygwin 1.7.0
39044         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
39045         addition.
39046         * doc/posix-functions/fwscanf.texi: Likewise.
39047         * doc/posix-functions/swprintf.texi: Likewise.
39048         * doc/posix-functions/swscanf.texi: Likewise.
39049         * doc/posix-functions/vfwprintf.texi: Likewise.
39050         * doc/posix-functions/vfwscanf.texi: Likewise.
39051         * doc/posix-functions/vswprintf.texi: Likewise.
39052         * doc/posix-functions/vswscanf.texi: Likewise.
39053         * doc/posix-functions/vwprintf.texi: Likewise.
39054         * doc/posix-functions/vwscanf.texi: Likewise.
39055         * doc/posix-functions/wcscasecmp.texi: Likewise.
39056         * doc/posix-functions/wcsdup.texi: Likewise.
39057         * doc/posix-functions/wcsftime.texi: Likewise.
39058         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39059         * doc/posix-functions/wprintf.texi: Likewise.
39060         * doc/posix-functions/wscanf.texi: Likewise.
39061         * doc/glibc-functions/gethostbyname2.texi: Likewise.
39062
39063 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39064
39065         maint.mk: really add $(AM_MAKEFLAGS)
39066         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
39067         was inadvertently omitted in the last commit.
39068         Spotted by Bruno Haible.
39069
39070         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
39071         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
39072         $(AM_MAKEFLAGS)' rather than plain `make'.
39073
39074         gnulib-tool: execute $MAKE not make
39075         * gnulib-tool: Default $MAKE to 'make'.
39076         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
39077         than make.  Initialize $MAKE in the do-autobuild script.
39078
39079         gnulib-tool: use $MAKE not make in generated files
39080         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
39081         make, in generated files.  Initialize $MAKE in the do-autobuild
39082         script.
39083
39084         * top/GNUmakefile (_have-git-version-gen): Fix typo.
39085
39086         GNUmakefile: disable parallelism only for multiple, recursive targets
39087         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
39088         additions in the Makefile.
39089         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
39090         by Automake.
39091         (.NOTPARALLEL): Only disable parallel builds if multiple targets
39092         are listed on the command line and at least one of them is
39093         listed in $(ALL_RECURSIVE_TARGETS).
39094
39095 2009-03-14  Bruno Haible  <bruno@clisp.org>
39096
39097         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
39098         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
39099         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
39100         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
39101         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
39102         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
39103         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
39104         unistr/u8-uctomb.
39105         * modules/unistr/u8-strchr (Depends-on): Likewise.
39106         * modules/unistr/u8-strrchr (Depends-on): Likewise.
39107         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
39108         unistr/u16-uctomb.
39109         * modules/unistr/u16-strchr (Depends-on): Likewise.
39110         * modules/unistr/u16-strrchr (Depends-on): Likewise.
39111
39112 2009-03-12  Bruno Haible  <bruno@clisp.org>
39113
39114         Work around select() bug on Interix 3.5.
39115         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
39116         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
39117         * m4/select.m4: New file.
39118         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
39119         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
39120         * modules/select (Files): Add m4/select.m4.
39121         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
39122         * modules/nanosleep (Depends-on): Add select.
39123         * modules/poll (Depends-on): Likewise.
39124         * doc/posix-functions/select.texi: Mention the Interix bug.
39125         Reported by Markus Duft <mduft@gentoo.org>.
39126
39127         * lib/select.c: Renamed from lib/winsock-select.c.
39128         * modules/select (Files): Add lib/select.c, remove
39129         lib/winsock-select.c.
39130         (configure.ac): Update.
39131
39132 2009-03-12  Jim Meyering  <meyering@redhat.com>
39133
39134         avoid gcc warnings about unused macro definitions
39135         * lib/readtokens.c (STREQ): Remove unused definition.
39136         * lib/xmalloc.c (SIZE_MAX): Likewise.
39137         * lib/openat-die.c (N_): Likewise.
39138         * lib/mountlist.c (SIZE_MAX): Remove definition.
39139         Instead, include <stdint.h>.
39140         * lib/readutmp.c: Likewise.
39141         * modules/readutmp (Depends-on): Add stdint.
39142         * modules/mountlist (Depends-on): Add stdint.
39143         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
39144
39145 2009-03-10  Bruno Haible  <bruno@clisp.org>
39146
39147         Tests for module 'mbmemcasecoll'.
39148         * modules/mbmemcasecoll-tests: New file.
39149         * tests/test-mbmemcasecoll1.sh: New file.
39150         * tests/test-mbmemcasecoll2.sh: New file.
39151         * tests/test-mbmemcasecoll3.sh: New file.
39152         * tests/test-mbmemcasecoll.c: New file.
39153
39154         New module 'mbmemcasecoll'.
39155         * lib/mbmemcasecoll.h: New file.
39156         * lib/mbmemcasecoll.c: New file.
39157         * modules/mbmemcasecoll: New file.
39158
39159         * tests/test-mbmemcasecmp.h: New file, extracted from
39160         tests/test-mbmemcasecmp.c.
39161         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
39162         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
39163         (main): Update.
39164         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
39165
39166 2009-03-09  Bruno Haible  <bruno@clisp.org>
39167
39168         Tests for module 'mbmemcasecmp'.
39169         * modules/mbmemcasecmp-tests: New file.
39170         * tests/test-mbmemcasecmp1.sh: New file.
39171         * tests/test-mbmemcasecmp2.sh: New file.
39172         * tests/test-mbmemcasecmp3.sh: New file.
39173         * tests/test-mbmemcasecmp.c: New file.
39174
39175         New module 'mbmemcasecmp'.
39176         * lib/mbmemcasecmp.h: New file.
39177         * lib/mbmemcasecmp.c: New file.
39178         * modules/mbmemcasecmp: New file.
39179
39180 2009-03-09  Bruno Haible  <bruno@clisp.org>
39181
39182         Tests for module 'unicase/ulc-casecoll'.
39183         * modules/unicase/ulc-casecoll-tests: New file.
39184         * tests/unicase/test-ulc-casecoll1.sh: New file.
39185         * tests/unicase/test-ulc-casecoll2.sh: New file.
39186         * tests/unicase/test-ulc-casecoll.c: New file.
39187
39188         New module 'unicase/ulc-casecoll'.
39189         * lib/unicase.h (ulc_casecoll): New declaration.
39190         * lib/unicase/ulc-casecoll.c: New file.
39191         * modules/unicase/ulc-casecoll: New file.
39192
39193         New module 'unicase/ulc-casexfrm'.
39194         * lib/unicase.h (ulc_casexfrm): New declaration.
39195         * lib/unicase/ulc-casexfrm.c: New file.
39196         * modules/unicase/ulc-casexfrm: New file.
39197
39198 2009-03-09  Bruno Haible  <bruno@clisp.org>
39199
39200         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
39201         invocations.
39202
39203         * m4/mbscasecmp.m4: Remove file.
39204         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
39205         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
39206
39207         * m4/mbscasestr.m4: Remove file.
39208         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
39209         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
39210
39211         * m4/mbschr.m4: Remove file.
39212         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
39213         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
39214
39215         * m4/mbscspn.m4: Remove file.
39216         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
39217         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
39218
39219         * m4/mbslen.m4: Remove file.
39220         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
39221         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
39222
39223         * m4/mbsncasecmp.m4: Remove file.
39224         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
39225         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
39226
39227         * m4/mbsnlen.m4: Remove file.
39228         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
39229         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
39230
39231         * m4/mbspbrk.m4: Remove file.
39232         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
39233         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
39234
39235         * m4/mbspcasecmp.m4: Remove file.
39236         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
39237         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
39238
39239         * m4/mbsrchr.m4: Remove file.
39240         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
39241         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
39242
39243         * m4/mbssep.m4: Remove file.
39244         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
39245         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
39246
39247         * m4/mbsspn.m4: Remove file.
39248         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
39249         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
39250
39251         * m4/mbsstr.m4: Remove file.
39252         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
39253         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
39254
39255         * m4/mbstok_r.m4: Remove file.
39256         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
39257         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
39258
39259         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
39260
39261         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
39262         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
39263
39264         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
39265
39266 2009-03-08  Bruno Haible  <bruno@clisp.org>
39267
39268         Tests for module 'unicase/ulc-casecmp'.
39269         * modules/unicase/ulc-casecmp-tests: New file.
39270         * tests/unicase/test-ulc-casecmp1.sh: New file.
39271         * tests/unicase/test-ulc-casecmp2.sh: New file.
39272         * tests/unicase/test-ulc-casecmp.c: New file.
39273
39274         New module 'unicase/ulc-casecmp'.
39275         * lib/unicase.h (ulc_casecmp): New declaration.
39276         * lib/unicase/ulc-casecmp.c: New file.
39277         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
39278         'const SRC_UNIT *'.
39279         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
39280         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
39281         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
39282         * modules/unicase/ulc-casecmp: New file.
39283
39284         Tests for module 'unicase/u32-is-cased'.
39285         * modules/unicase/u32-is-cased-tests: New file.
39286         * tests/unicase/test-u32-is-cased.c: New file.
39287
39288         Tests for module 'unicase/u16-is-cased'.
39289         * modules/unicase/u16-is-cased-tests: New file.
39290         * tests/unicase/test-u16-is-cased.c: New file.
39291
39292         Tests for module 'unicase/u8-is-cased'.
39293         * modules/unicase/u8-is-cased-tests: New file.
39294         * tests/unicase/test-u8-is-cased.c: New file.
39295         * tests/unicase/test-is-cased.h: New file.
39296
39297         New module 'unicase/u32-is-cased'.
39298         * lib/unicase/u32-is-cased.c: New file.
39299         * modules/unicase/u32-is-cased: New file.
39300
39301         New module 'unicase/u16-is-cased'.
39302         * lib/unicase/u16-is-cased.c: New file.
39303         * modules/unicase/u16-is-cased: New file.
39304
39305         New module 'unicase/u8-is-cased'.
39306         * lib/unicase/u8-is-cased.c: New file.
39307         * lib/unicase/u-is-cased.h: New file.
39308         * modules/unicase/u8-is-cased: New file.
39309
39310         Tests for module 'unicase/u32-is-casefolded'.
39311         * modules/unicase/u32-is-casefolded-tests: New file.
39312         * tests/unicase/test-u32-is-casefolded.c: New file.
39313
39314         Tests for module 'unicase/u16-is-casefolded'.
39315         * modules/unicase/u16-is-casefolded-tests: New file.
39316         * tests/unicase/test-u16-is-casefolded.c: New file.
39317
39318         Tests for module 'unicase/u8-is-casefolded'.
39319         * modules/unicase/u8-is-casefolded-tests: New file.
39320         * tests/unicase/test-u8-is-casefolded.c: New file.
39321         * tests/unicase/test-is-casefolded.h: New file.
39322
39323         New module 'unicase/u32-is-casefolded'.
39324         * lib/unicase/u32-is-casefolded.c: New file.
39325         * modules/unicase/u32-is-casefolded: New file.
39326
39327         New module 'unicase/u16-is-casefolded'.
39328         * lib/unicase/u16-is-casefolded.c: New file.
39329         * modules/unicase/u16-is-casefolded: New file.
39330
39331         New module 'unicase/u8-is-casefolded'.
39332         * lib/unicase/u8-is-casefolded.c: New file.
39333         * modules/unicase/u8-is-casefolded: New file.
39334
39335         Tests for module 'unicase/u32-is-titlecase'.
39336         * modules/unicase/u32-is-titlecase-tests: New file.
39337         * tests/unicase/test-u32-is-titlecase.c: New file.
39338
39339         Tests for module 'unicase/u16-is-titlecase'.
39340         * modules/unicase/u16-is-titlecase-tests: New file.
39341         * tests/unicase/test-u16-is-titlecase.c: New file.
39342
39343         Tests for module 'unicase/u8-is-titlecase'.
39344         * modules/unicase/u8-is-titlecase-tests: New file.
39345         * tests/unicase/test-u8-is-titlecase.c: New file.
39346         * tests/unicase/test-is-titlecase.h: New file.
39347
39348         New module 'unicase/u32-is-titlecase'.
39349         * lib/unicase/u32-is-titlecase.c: New file.
39350         * modules/unicase/u32-is-titlecase: New file.
39351
39352         New module 'unicase/u16-is-titlecase'.
39353         * lib/unicase/u16-is-titlecase.c: New file.
39354         * modules/unicase/u16-is-titlecase: New file.
39355
39356         New module 'unicase/u8-is-titlecase'.
39357         * lib/unicase/u8-is-titlecase.c: New file.
39358         * modules/unicase/u8-is-titlecase: New file.
39359
39360         Tests for module 'unicase/u32-is-lowercase'.
39361         * modules/unicase/u32-is-lowercase-tests: New file.
39362         * tests/unicase/test-u32-is-lowercase.c: New file.
39363
39364         Tests for module 'unicase/u16-is-lowercase'.
39365         * modules/unicase/u16-is-lowercase-tests: New file.
39366         * tests/unicase/test-u16-is-lowercase.c: New file.
39367
39368         Tests for module 'unicase/u8-is-lowercase'.
39369         * modules/unicase/u8-is-lowercase-tests: New file.
39370         * tests/unicase/test-u8-is-lowercase.c: New file.
39371         * tests/unicase/test-is-lowercase.h: New file.
39372
39373         New module 'unicase/u32-is-lowercase'.
39374         * lib/unicase/u32-is-lowercase.c: New file.
39375         * modules/unicase/u32-is-lowercase: New file.
39376
39377         New module 'unicase/u16-is-lowercase'.
39378         * lib/unicase/u16-is-lowercase.c: New file.
39379         * modules/unicase/u16-is-lowercase: New file.
39380
39381         New module 'unicase/u8-is-lowercase'.
39382         * lib/unicase/u8-is-lowercase.c: New file.
39383         * modules/unicase/u8-is-lowercase: New file.
39384
39385         Tests for module 'unicase/u32-is-uppercase'.
39386         * modules/unicase/u32-is-uppercase-tests: New file.
39387         * tests/unicase/test-u32-is-uppercase.c: New file.
39388
39389         Tests for module 'unicase/u16-is-uppercase'.
39390         * modules/unicase/u16-is-uppercase-tests: New file.
39391         * tests/unicase/test-u16-is-uppercase.c: New file.
39392
39393         Tests for module 'unicase/u8-is-uppercase'.
39394         * modules/unicase/u8-is-uppercase-tests: New file.
39395         * tests/unicase/test-u8-is-uppercase.c: New file.
39396         * tests/unicase/test-is-uppercase.h: New file.
39397
39398         New module 'unicase/u32-is-uppercase'.
39399         * lib/unicase/u32-is-uppercase.c: New file.
39400         * modules/unicase/u32-is-uppercase: New file.
39401
39402         New module 'unicase/u16-is-uppercase'.
39403         * lib/unicase/u16-is-uppercase.c: New file.
39404         * modules/unicase/u16-is-uppercase: New file.
39405
39406         New module 'unicase/u8-is-uppercase'.
39407         * lib/unicase/u8-is-uppercase.c: New file.
39408         * modules/unicase/u8-is-uppercase: New file.
39409
39410         New module 'unicase/u32-is-invariant'.
39411         * lib/unicase/u32-is-invariant.c: New file.
39412         * modules/unicase/u32-is-invariant: New file.
39413
39414         New module 'unicase/u16-is-invariant'.
39415         * lib/unicase/u16-is-invariant.c: New file.
39416         * modules/unicase/u16-is-invariant: New file.
39417
39418         New module 'unicase/u8-is-invariant'.
39419         * lib/unicase/u8-is-invariant.c: New file.
39420         * lib/unicase/invariant.h: New file.
39421         * lib/unicase/u-is-invariant.h: New file.
39422         * modules/unicase/u8-is-invariant: New file.
39423
39424         Tests for module 'unicase/u32-casecoll'.
39425         * modules/unicase/u32-casecoll-tests: New file.
39426         * tests/unicase/test-u32-casecoll.c: New file.
39427
39428         Tests for module 'unicase/u16-casecoll'.
39429         * modules/unicase/u16-casecoll-tests: New file.
39430         * tests/unicase/test-u16-casecoll.c: New file.
39431
39432         Tests for module 'unicase/u8-casecoll'.
39433         * modules/unicase/u8-casecoll-tests: New file.
39434         * tests/unicase/test-u8-casecoll.c: New file.
39435
39436         New module 'unicase/u32-casecoll'.
39437         * lib/unicase/u32-casecoll.c: New file.
39438         * modules/unicase/u32-casecoll: New file.
39439
39440         New module 'unicase/u16-casecoll'.
39441         * lib/unicase/u16-casecoll.c: New file.
39442         * modules/unicase/u16-casecoll: New file.
39443
39444         New module 'unicase/u8-casecoll'.
39445         * lib/unicase/u8-casecoll.c: New file.
39446         * lib/unicase/u-casecoll.h: New file.
39447         * modules/unicase/u8-casecoll: New file.
39448
39449         New module 'unicase/u32-casexfrm'.
39450         * lib/unicase/u32-casexfrm.c: New file.
39451         * modules/unicase/u32-casexfrm: New file.
39452
39453         New module 'unicase/u16-casexfrm'.
39454         * lib/unicase/u16-casexfrm.c: New file.
39455         * modules/unicase/u16-casexfrm: New file.
39456
39457         New module 'unicase/u8-casexfrm'.
39458         * lib/unicase/u8-casexfrm.c: New file.
39459         * lib/unicase/u-casexfrm.h: New file.
39460         * modules/unicase/u8-casexfrm: New file.
39461
39462         Tests for module 'unicase/u32-casecmp'.
39463         * modules/unicase/u32-casecmp-tests: New file.
39464         * tests/unicase/test-u32-casecmp.c: New file.
39465
39466         Tests for module 'unicase/u16-casecmp'.
39467         * modules/unicase/u16-casecmp-tests: New file.
39468         * tests/unicase/test-u16-casecmp.c: New file.
39469
39470         Tests for module 'unicase/u8-casecmp'.
39471         * modules/unicase/u8-casecmp-tests: New file.
39472         * tests/unicase/test-u8-casecmp.c: New file.
39473         * tests/unicase/test-casecmp.h: New file.
39474
39475         New module 'unicase/u32-casecmp'.
39476         * lib/unicase/u32-casecmp.c: New file.
39477         * modules/unicase/u32-casecmp: New file.
39478
39479         New module 'unicase/u16-casecmp'.
39480         * lib/unicase/u16-casecmp.c: New file.
39481         * modules/unicase/u16-casecmp: New file.
39482
39483         New module 'unicase/u8-casecmp'.
39484         * lib/unicase/u8-casecmp.c: New file.
39485         * lib/unicase/u-casecmp.h: New file.
39486         * modules/unicase/u8-casecmp: New file.
39487
39488         Tests for module 'unicase/u32-casefold'.
39489         * modules/unicase/u32-casefold-tests: New file.
39490         * tests/unicase/test-u32-casefold.c: New file.
39491
39492         Tests for module 'unicase/u16-casefold'.
39493         * modules/unicase/u16-casefold-tests: New file.
39494         * tests/unicase/test-u16-casefold.c: New file.
39495
39496         Tests for module 'unicase/u8-casefold'.
39497         * modules/unicase/u8-casefold-tests: New file.
39498         * tests/unicase/test-u8-casefold.c: New file.
39499
39500         New module 'unicase/u32-casefold'.
39501         * lib/unicase/u32-casefold.c: New file.
39502         * modules/unicase/u32-casefold: New file.
39503
39504         New module 'unicase/u16-casefold'.
39505         * lib/unicase/u16-casefold.c: New file.
39506         * modules/unicase/u16-casefold: New file.
39507
39508         New module 'unicase/u8-casefold'.
39509         * lib/unicase/u8-casefold.c: New file.
39510         * lib/unicase/u-casefold.h: New file.
39511         * modules/unicase/u8-casefold: New file.
39512
39513         New module 'unicase/tocasefold'.
39514         * lib/unicase/casefold.h: New file.
39515         * lib/unicase/tocasefold.c: New file.
39516         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39517         * modules/unicase/tocasefold: New file.
39518
39519         Tests for module 'unicase/u32-totitle'.
39520         * modules/unicase/u32-totitle-tests: New file.
39521         * tests/unicase/test-u32-totitle.c: New file.
39522
39523         Tests for module 'unicase/u16-totitle'.
39524         * modules/unicase/u16-totitle-tests: New file.
39525         * tests/unicase/test-u16-totitle.c: New file.
39526
39527         Tests for module 'unicase/u8-totitle'.
39528         * modules/unicase/u8-totitle-tests: New file.
39529         * tests/unicase/test-u8-totitle.c: New file.
39530
39531         New module 'unicase/u32-totitle'.
39532         * lib/unicase/u32-totitle.c: New file.
39533         * modules/unicase/u32-totitle: New file.
39534
39535         New module 'unicase/u16-totitle'.
39536         * lib/unicase/u16-totitle.c: New file.
39537         * modules/unicase/u16-totitle: New file.
39538
39539         New module 'unicase/u8-totitle'.
39540         * lib/unicase/u8-totitle.c: New file.
39541         * lib/unicase/u-totitle.h: New file.
39542         * modules/unicase/u8-totitle: New file.
39543
39544         Tests for module 'unicase/u32-tolower'.
39545         * modules/unicase/u32-tolower-tests: New file.
39546         * tests/unicase/test-u32-tolower.c: New file.
39547
39548         Tests for module 'unicase/u16-tolower'.
39549         * modules/unicase/u16-tolower-tests: New file.
39550         * tests/unicase/test-u16-tolower.c: New file.
39551
39552         Tests for module 'unicase/u8-tolower'.
39553         * modules/unicase/u8-tolower-tests: New file.
39554         * tests/unicase/test-u8-tolower.c: New file.
39555
39556         New module 'unicase/u32-tolower'.
39557         * lib/unicase/u32-tolower.c: New file.
39558         * modules/unicase/u32-tolower: New file.
39559
39560         New module 'unicase/u16-tolower'.
39561         * lib/unicase/u16-tolower.c: New file.
39562         * modules/unicase/u16-tolower: New file.
39563
39564         New module 'unicase/u8-tolower'.
39565         * lib/unicase/u8-tolower.c: New file.
39566         * modules/unicase/u8-tolower: New file.
39567
39568         Tests for module 'unicase/u32-toupper'.
39569         * modules/unicase/u32-toupper-tests: New file.
39570         * tests/unicase/test-u32-toupper.c: New file.
39571
39572         Tests for module 'unicase/u16-toupper'.
39573         * modules/unicase/u16-toupper-tests: New file.
39574         * tests/unicase/test-u16-toupper.c: New file.
39575
39576         Tests for module 'unicase/u8-toupper'.
39577         * modules/unicase/u8-toupper-tests: New file.
39578         * tests/unicase/test-u8-toupper.c: New file.
39579
39580         New module 'unicase/u32-toupper'.
39581         * lib/unicase/u32-toupper.c: New file.
39582         * modules/unicase/u32-toupper: New file.
39583
39584         New module 'unicase/u16-toupper'.
39585         * lib/unicase/u16-toupper.c: New file.
39586         * modules/unicase/u16-toupper: New file.
39587
39588         New module 'unicase/u8-toupper'.
39589         * lib/unicase/u8-toupper.c: New file.
39590         * modules/unicase/u8-toupper: New file.
39591
39592         New module 'unicase/u32-casemap'.
39593         * lib/unicase/u32-casemap.c: New file.
39594         * modules/unicase/u32-casemap: New file.
39595
39596         New module 'unicase/u16-casemap'.
39597         * lib/unicase/u16-casemap.c: New file.
39598         * modules/unicase/u16-casemap: New file.
39599
39600         New module 'unicase/u8-casemap'.
39601         * lib/unicase/unicasemap.h: New file.
39602         * lib/unicase/u8-casemap.c: New file.
39603         * lib/unicase/u-casemap.h: New file.
39604         * modules/unicase/u8-casemap: New file.
39605
39606         New module 'unicase/special-casing'.
39607         * lib/unicase/special-casing.h: New file.
39608         * lib/unicase/special-casing.c: New file.
39609         * lib/unicase/special-casing-table.gperf: New file, generated by
39610         gen-uni-tables.c.
39611         * modules/unicase/special-casing: New file.
39612
39613         Tests for module 'unicase/locale-language'.
39614         * modules/unicase/locale-language-tests: New file.
39615         * tests/unicase/test-locale-language.sh: New file.
39616         * tests/unicase/test-locale-language.c: New file.
39617
39618         New module 'unicase/locale-language'.
39619         * lib/unicase/locale-language.c: New file.
39620         * lib/unicase/locale-languages.gperf: New file.
39621         * modules/unicase/locale-language: New file.
39622
39623         Generate more tables for case conversion and case folding.
39624         * lib/gen-uni-tables.c (SCC_*): New enum items.
39625         (struct special_casing_rule): New type.
39626         (casing_rules, num_casing_rules, allocated_casing_rules): New
39627         variables.
39628         (add_casing_rule, fill_casing_rules): New functions.
39629         (struct casefold_rule): New type.
39630         (casefolding_rules, num_casefolding_rules,
39631         allocated_casefolding_rules): New variables.
39632         (fill_casefolding_rules): New function.
39633         (unicode_casefold): New variable.
39634         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
39635         sort_casing_rules, output_casing_rules): New functions.
39636         (main): Accept to more arguments: SpecialCasing.txt and
39637         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
39638         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
39639         Output mapping for casefolding.
39640
39641         * lib/unicase.h: Include stdbool.h, uninorm.h.
39642         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
39643         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
39644         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
39645         arguments.
39646         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
39647         resultp arguments.
39648         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
39649         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
39650         resultp arguments.
39651         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
39652         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
39653         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
39654         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
39655         declarations.
39656         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
39657
39658 2009-03-08  Bruno Haible  <bruno@clisp.org>
39659
39660         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39661         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
39662         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
39663         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39664
39665 2009-03-07  Bruno Haible  <bruno@clisp.org>
39666
39667         Adjust u*_normcmp, u*_normcoll API.
39668         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39669         u16_normcoll, u32_normcoll): Change failure conventions.
39670         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
39671         errno and return -1.
39672         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39673
39674 2009-03-07  Bruno Haible  <bruno@clisp.org>
39675
39676         Tests for module 'uninorm/u32-normcoll'.
39677         * modules/uninorm/u32-normcoll-tests: New file.
39678         * tests/uninorm/test-u32-normcoll.c: New file.
39679
39680         Tests for module 'uninorm/u16-normcoll'.
39681         * modules/uninorm/u16-normcoll-tests: New file.
39682         * tests/uninorm/test-u16-normcoll.c: New file.
39683
39684         Tests for module 'uninorm/u8-normcoll'.
39685         * modules/uninorm/u8-normcoll-tests: New file.
39686         * tests/uninorm/test-u8-normcoll.c: New file.
39687
39688 2009-03-07  Bruno Haible  <bruno@clisp.org>
39689
39690         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
39691         tests/uninorm/test-u32-normcmp.c.
39692         * tests/uninorm/test-u32-normcmp.c: Include it.
39693         (test_nonascii): New function, extracted from main. Add some more
39694         tests.
39695         (main): Invoke test_ascii and test_nonascii.
39696         * modules/uninorm/u32-normcmp-tests (Files): Add
39697         tests/uninorm/test-u32-normcmp.h.
39698         (Depends-on): Remove uninorm/u32-normcmp.
39699
39700         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
39701         tests/uninorm/test-u16-normcmp.c.
39702         * tests/uninorm/test-u16-normcmp.c: Include it.
39703         (test_nonascii): New function, extracted from main. Add some more
39704         tests.
39705         (main): Invoke test_ascii and test_nonascii.
39706         * modules/uninorm/u16-normcmp-tests (Files): Add
39707         tests/uninorm/test-u16-normcmp.h.
39708         (Depends-on): Remove uninorm/u16-normcmp.
39709
39710         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
39711         tests/uninorm/test-u8-normcmp.c.
39712         * tests/uninorm/test-u8-normcmp.c: Include it.
39713         (test_nonascii): New function, extracted from main. Add some more
39714         tests.
39715         (main): Invoke test_ascii and test_nonascii.
39716         * modules/uninorm/u8-normcmp-tests (Files): Add
39717         tests/uninorm/test-u8-normcmp.h.
39718         (Depends-on): Remove uninorm/u8-normcmp.
39719
39720 2009-03-07  Bruno Haible  <bruno@clisp.org>
39721
39722         New module 'uninorm/u32-normcoll'.
39723         * lib/uninorm/u32-normcoll.c: New file.
39724         * modules/uninorm/u32-normcoll: New file.
39725
39726         New module 'uninorm/u16-normcoll'.
39727         * lib/uninorm/u16-normcoll.c: New file.
39728         * modules/uninorm/u16-normcoll: New file.
39729
39730         New module 'uninorm/u8-normcoll'.
39731         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
39732         declarations.
39733         * lib/uninorm/u8-normcoll.c: New file.
39734         * lib/uninorm/u-normcoll.h: New file.
39735         * modules/uninorm/u8-normcoll: New file.
39736
39737         New module 'uninorm/u32-normxfrm'.
39738         * lib/uninorm/u32-normxfrm.c: New file.
39739         * modules/uninorm/u32-normxfrm: New file.
39740
39741         New module 'uninorm/u16-normxfrm'.
39742         * lib/uninorm/u16-normxfrm.c: New file.
39743         * modules/uninorm/u16-normxfrm: New file.
39744
39745         New module 'uninorm/u8-normxfrm'.
39746         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
39747         declarations.
39748         * lib/uninorm/u8-normxfrm.c: New file.
39749         * lib/uninorm/u-normxfrm.h: New file.
39750         * modules/uninorm/u8-normxfrm: New file.
39751
39752 2009-03-07  Bruno Haible  <bruno@clisp.org>
39753
39754         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
39755         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
39756         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
39757
39758 2009-03-07  Bruno Haible  <bruno@clisp.org>
39759
39760         New module 'memxfrm'.
39761         * lib/memxfrm.h: New file.
39762         * lib/memxfrm.c: New file.
39763         * modules/memxfrm: New file.
39764
39765 2009-03-07  Bruno Haible  <bruno@clisp.org>
39766
39767         New module 'memcmp2'.
39768         * lib/memcmp2.h: New file.
39769         * lib/memcmp2.c: New file.
39770         * modules/memcmp2: New file.
39771
39772 2009-03-07  Bruno Haible  <bruno@clisp.org>
39773
39774         Tests for module 'uninorm/decomposing-form'.
39775         * modules/uninorm/decomposing-form-tests: New file.
39776         * tests/uninorm/test-decomposing-form.c: New file.
39777
39778         New module 'uninorm/decomposing-form'.
39779         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
39780         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
39781         Add 'decomposing_variant' field.
39782         * lib/uninorm/decomposing-form.c: New file.
39783         * lib/uninorm/nfc.c (uninorm_nfc): Update.
39784         * lib/uninorm/nfd.c (uninorm_nfd): Update.
39785         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
39786         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
39787         * modules/uninorm/decomposing-form: New file.
39788         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
39789         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
39790
39791 2009-03-07  Bruno Haible  <bruno@clisp.org>
39792
39793         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
39794         strings.
39795
39796 2009-03-06  Bruno Haible  <bruno@clisp.org>
39797
39798         Tests for module 'uninorm/u32-normcmp'.
39799         * tests/uninorm/test-u32-normcmp.c: New file.
39800         * modules/uninorm/u32-normcmp-tests: New file.
39801
39802         Tests for module 'uninorm/u16-normcmp'.
39803         * tests/uninorm/test-u16-normcmp.c: New file.
39804         * modules/uninorm/u16-normcmp-tests: New file.
39805
39806         Tests for module 'uninorm/u8-normcmp'.
39807         * tests/uninorm/test-u8-normcmp.c: New file.
39808         * modules/uninorm/u8-normcmp-tests: New file.
39809
39810         New module 'uninorm/u32-normcmp'.
39811         * lib/uninorm/u32-normcmp.c: New file.
39812         * modules/uninorm/u32-normcmp: New file.
39813
39814         New module 'uninorm/u16-normcmp'.
39815         * lib/uninorm/u16-normcmp.c: New file.
39816         * modules/uninorm/u16-normcmp: New file.
39817
39818         New module 'uninorm/u8-normcmp'.
39819         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
39820         declarations.
39821         * lib/uninorm/u8-normcmp.c: New file.
39822         * lib/uninorm/u-normcmp.h: New file.
39823         * modules/uninorm/u8-normcmp: New file.
39824
39825 2009-03-06  Bruno Haible  <bruno@clisp.org>
39826
39827         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
39828         Reported by Eric Blake.
39829
39830 2009-03-06  Eric Blake  <ebb9@byu.net>
39831             Bruno Haible  <bruno@clisp.org>
39832
39833         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
39834         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
39835         condition.
39836         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39837         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
39838         condition.
39839         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39840
39841 2009-03-06  Eric Blake  <ebb9@byu.net>
39842
39843         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
39844         to avoid compiler warnings.
39845         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
39846
39847 2009-03-05  Bruno Haible  <bruno@clisp.org>
39848
39849         * tests/test-ftell.c (main): Disable test beyond end of file on
39850         FreeMiNT.
39851         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39852
39853 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
39854
39855         * lib/filevercmp.c: Move hidden files up in ordering.
39856         * tests/test-filevercmp.c: Add tests for hidden files.
39857
39858 2009-03-04  Bruno Haible  <bruno@clisp.org>
39859
39860         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
39861         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
39862         AM_CFLAGS.
39863         Reported by Simon Josefsson.
39864
39865 2009-03-03  Bruno Haible  <bruno@clisp.org>
39866
39867         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
39868         Reported by Simon Josefsson.
39869
39870         * doc/ld-version-script.texi: Update node reference.
39871
39872 2009-03-03  Bruno Haible  <bruno@clisp.org>
39873
39874         * modules/visibility (License): Change to 'unlimited'.
39875         Suggested by Simon Josefsson.
39876
39877 2009-03-03  Jim Meyering  <meyering@redhat.com>
39878
39879         unlinkdir: cannot_unlink_dir may modify process state
39880         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
39881         it's neither thread-safe nor appropriate for use in a library.
39882
39883 2009-03-03  Eric Blake  <ebb9@byu.net>
39884
39885         test-closein: silence test under Darwin
39886         * tests/test-closein.sh: Ignore stderr from cat, since we don't
39887         care if it dies from EPIPE or EBADF.
39888
39889 2009-03-03  Bruno Haible  <bruno@clisp.org>
39890
39891         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
39892         earlier.
39893         * doc/visibility.texi: Fix @node and @section.
39894
39895 2009-03-03  Simon Josefsson  <simon@josefsson.org>
39896
39897         * doc/gnulib.texi: Link to sections for ld version script and
39898         visibility.
39899         * doc/visibility.texi: Add @node and @section.
39900         * modules/ld-version-script: New module.
39901         * m4/ld-version-script.m4: New file.
39902         * doc/ld-version-script.texi: New file.
39903
39904 2009-03-02  David Lutterkort  <lutter@redhat.com>
39905
39906         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
39907         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39908
39909 2009-03-02  Bruno Haible  <bruno@clisp.org>
39910
39911         * doc/visibility.texi: Mention libtool's -export-symbols option.
39912
39913 2009-03-02  Jim Meyering  <meyering@redhat.com>
39914
39915         announce-gen: new option: --no-print-checksums
39916         * build-aux/announce-gen (usage): Describe it.
39917         (print_checksums): Print a newline here, not in the [*] footnote.
39918         (main): Honor it.
39919
39920 2009-03-01  Bruno Haible  <bruno@clisp.org>
39921
39922         Use socklen_t in the native Windows replacements prototypes.
39923         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
39924         instead of 'int'.
39925         * lib/getsockopt.c (rpl_getsockopt): Likewise.
39926         * lib/setsockopt.c (rpl_setsockopt): Likewise.
39927         * modules/getsockopt (Depends-on): Add socklen.
39928         * modules/setsockopt (Depends-on): Add socklen.
39929
39930 2009-03-01  Bruno Haible  <bruno@clisp.org>
39931
39932         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
39933         least 4.2.
39934
39935 2009-03-01  Eric Blake  <ebb9@byu.net>
39936             Bruno Haible  <bruno@clisp.org>
39937
39938         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
39939         error messages.
39940         * lib/wait-process.c (wait_subprocess): Omit error message about
39941         deadly signal sent to the child of termsigp != NULL.
39942
39943 2009-03-01  Eric Blake  <ebb9@byu.net>
39944
39945         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
39946
39947 2009-03-01  Bruno Haible  <bruno@clisp.org>
39948
39949         Avoid a gcc warning.
39950         * tests/test-sched.c (b): Make global.
39951         Reported by Eric Blake.
39952
39953 2009-01-19  Martin Lambers  <marlam@marlam.de>
39954
39955         Provide POSIX semantics for socket timeout options on W32.
39956         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
39957         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
39958         * modules/setsockopt: Depend on sys_time module for struct timeval.
39959         * modules/getsockopt: Depend on sys_time module for struct timeval.
39960
39961 2009-03-01  Simon Josefsson  <simon@josefsson.org>
39962
39963         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
39964         __USE_GNU, for consistency with netdb.in.h.
39965         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39966
39967 2009-03-01  Bruno Haible  <bruno@clisp.org>
39968
39969         More support for FreeMiNT.
39970         * lib/fseeko.c (rpl_fseeko): Complete last commit.
39971         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39972
39973 2009-03-01  Bruno Haible  <bruno@clisp.org>
39974
39975         More support for FreeMiNT.
39976         * lib/fpurge.c (fpurge): Correct last commit.
39977         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39978
39979 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39980
39981         Fix unportable awk script in vc-list-files.
39982         * build-aux/vc-list-files: In the replacement awk script, use
39983         substr with a second argument of 1, not zero.
39984         Report by Simon Josefsson.
39985
39986 2009-02-28  Bruno Haible  <bruno@clisp.org>
39987
39988         More support for FreeMiNT.
39989         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
39990         to FreeMiNT today.
39991         * lib/fwriting.c (fwriting): Likewise.
39992         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
39993
39994 2009-02-28  Bruno Haible  <bruno@clisp.org>
39995
39996         * tests/test-freadseek.c (main): Disable test beyond end of file on
39997         FreeMiNT.
39998         * tests/test-ftello.c (main): Likewise.
39999         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40000
40001 2009-02-28  Bruno Haible  <bruno@clisp.org>
40002
40003         Add tentative support for FreeMiNT.
40004         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
40005         * lib/fpurge.c (fpurge): Likewise.
40006         * lib/freadable.c (freadable): Likewise.
40007         * lib/freading.c (freading): Likewise.
40008         * lib/freadptr.c (freadptr): Likewise.
40009         * lib/freadseek.c (freadptrinc): Likewise.
40010         * lib/fseeko.c (rpl_fseeko): Likewise.
40011         * lib/fseterr.c (fseterr): Likewise.
40012         * lib/fwritable.c (fwritable): Likewise.
40013         * lib/fwriting.c (fwriting): Likewise.
40014         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
40015         Hourihane.
40016         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40017
40018 2009-02-28  Bruno Haible  <bruno@clisp.org>
40019
40020         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
40021         SIGCHLD.
40022         Reported by Jim Meyering.
40023
40024 2009-02-28  Bruno Haible  <bruno@clisp.org>
40025
40026         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
40027         Mention the results of these tests on various platforms.
40028         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
40029         order.
40030         * doc/posix-functions/printf.texi: Likewise.
40031         * doc/posix-functions/snprintf.texi: Likewise.
40032         * doc/posix-functions/sprintf.texi: Likewise.
40033         * doc/posix-functions/vfprintf.texi: Likewise.
40034         * doc/posix-functions/vprintf.texi: Likewise.
40035         * doc/posix-functions/vsnprintf.texi: Likewise.
40036         * doc/posix-functions/vsprintf.texi: Likewise.
40037         * doc/glibc-functions/obstack_printf.texi: Likewise.
40038         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
40039
40040 2009-02-28  Bruno Haible  <bruno@clisp.org>
40041
40042         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
40043         Reported by Loïc Minier <lool@dooz.org>.
40044
40045 2009-02-27  Bruno Haible  <bruno@clisp.org>
40046
40047         * gnulib-tool (func_import): Make the sed expression used to create the
40048         sed script for updating the .gitignore file POSIX compliant.
40049         Reported by Eric Blake.
40050
40051 2009-02-27  Bruno Haible  <bruno@clisp.org>
40052
40053         * gnulib-tool (sed): Don't alias as "sed --posix".
40054         Reported by Eric Blake.
40055
40056 2009-02-27  Bruno Haible  <bruno@clisp.org>
40057
40058         Avoid test link errors.
40059         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
40060         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
40061         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
40062         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
40063         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40064
40065 2009-02-27  Bruno Haible  <bruno@clisp.org>
40066
40067         Avoid spurious "(cached)" in configure output.
40068         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
40069         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
40070         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40071         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40072         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40073         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
40074         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40075         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
40076         Reported by Eric Blake.
40077
40078 2009-02-27  Eric Blake  <ebb9@byu.net>
40079
40080         printf: fix regression in previous patch
40081         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
40082
40083 2009-02-27  Bruno Haible  <bruno@clisp.org>
40084
40085         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
40086         value.
40087         * lib/stdint.in.h: Likewise.
40088         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
40089
40090 2009-02-27  Eric Blake  <ebb9@byu.net>
40091
40092         doc: mention more functions added in cygwin 1.7.0
40093         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
40094         addition.
40095         * doc/posix-functions/open_wmemstream.texi: Likewise.
40096         * doc/posix-functions/wcsnlen.texi: Likewise.
40097         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40098         * doc/posix-functions/wcstod.texi: Likewise.
40099         * doc/posix-functions/wcstof.texi: Likewise.
40100         * doc/posix-functions/wcstoimax.texi: Likewise.
40101         * doc/posix-functions/wcstok.texi: Likewise.
40102         * doc/posix-functions/wcstoumax.texi: Likewise.
40103
40104         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
40105         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
40106         * doc/posix-functions/fprintf.texi: Update.
40107         * doc/posix-functions/printf.texi: Update.
40108         * doc/posix-functions/snprintf.texi: Update.
40109         * doc/posix-functions/sprintf.texi: Update.
40110         * doc/posix-functions/vfprintf.texi: Update.
40111         * doc/posix-functions/vprintf.texi: Update.
40112         * doc/posix-functions/vsnprintf.texi: Update.
40113         * doc/posix-functions/vsprintf.texi: Update.
40114         * doc/glibc-functions/obstack_printf.texi: Update.
40115         * doc/glibc-functions/obstack_vprintf.texi: Update.
40116
40117 2009-02-26  Eric Blake  <ebb9@byu.net>
40118
40119         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
40120         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
40121         compilation bug by using runtime conversion.
40122         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
40123         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
40124         * modules/ceill-tests (Files): Use nan.h.
40125         * modules/floorl-tests (Files): Likewise.
40126         * modules/frexpl-tests (Files): Likewise.
40127         * modules/isnanl-tests (Files): Likewise.
40128         * modules/ldexpl-tests (Files): Likewise.
40129         * modules/roundl-tests (Files): Likewise.
40130         * modules/truncl-tests (Files): Likewise.
40131         * tests/test-ceill.c (main): Use a working NaN.
40132         * tests/test-floorl.c (main): Likewise.
40133         * tests/test-frexpl.c (main): Likewise.
40134         * tests/test-isnan.c (test_long_double): Likewise.
40135         * tests/test-isnanl.h (main): Likewise.
40136         * tests/test-ldexpl.h (main): Likewise.
40137         * tests/test-roundl.h (main): Likewise.
40138         * tests/test-truncl.h (main): Likewise.
40139         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
40140
40141 2009-02-26  Eric Blake  <ebb9@byu.net>
40142             Bruno Haible  <bruno@clisp.org>
40143
40144         Work around a *printf bug with %ls on Solaris.
40145         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
40146         precision is specified, sprintf stops converting the wide string
40147         argument when the number of bytes that have been produced by this
40148         conversion equals or exceeds the precision.
40149         * doc/posix-functions/fprintf.texi: Update.
40150         * doc/posix-functions/printf.texi: Update.
40151         * doc/posix-functions/snprintf.texi: Update.
40152         * doc/posix-functions/sprintf.texi: Update.
40153         * doc/posix-functions/vfprintf.texi: Update.
40154         * doc/posix-functions/vprintf.texi: Update.
40155         * doc/posix-functions/vsnprintf.texi: Update.
40156         * doc/posix-functions/vsprintf.texi: Update.
40157         * doc/glibc-functions/obstack_printf.texi: Update.
40158         * doc/glibc-functions/obstack_vprintf.texi: Update.
40159
40160 2009-02-26  Eric Blake  <ebb9@byu.net>
40161
40162         stdlib: favor compiler check of random.h
40163         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
40164         to avoid an ObjC random.h installed by Swarm.
40165
40166 2009-02-26  Bruno Haible  <bruno@clisp.org>
40167
40168         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
40169         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
40170         Reported by Gary V. Vaughan <gary@gnu.org>.
40171
40172 2009-02-26  Bruno Haible  <bruno@clisp.org>
40173
40174         Fix *printf behaviour regarding the %ls directive.
40175         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
40176         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
40177         NEED_PRINTF_DIRECTIVE_LS.
40178         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
40179         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40180         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40181         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
40182         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
40183         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
40184         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40185         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40186         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40187         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40188         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40189         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
40190         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40191         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40192         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40193         * doc/posix-functions/fprintf.texi: Update.
40194         * doc/posix-functions/printf.texi: Update.
40195         * doc/posix-functions/snprintf.texi: Update.
40196         * doc/posix-functions/sprintf.texi: Update.
40197         * doc/posix-functions/vfprintf.texi: Update.
40198         * doc/posix-functions/vprintf.texi: Update.
40199         * doc/posix-functions/vsnprintf.texi: Update.
40200         * doc/posix-functions/vsprintf.texi: Update.
40201         * doc/glibc-functions/obstack_printf.texi: Update.
40202         * doc/glibc-functions/obstack_vprintf.texi: Update.
40203         Reported by Eric Blake.
40204
40205 2009-02-25  Bruno Haible  <bruno@clisp.org>
40206
40207         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
40208         with known value.
40209         Reported by Gary V. Vaughan <gary@gnu.org>.
40210
40211 2009-02-25  Bruno Haible  <bruno@clisp.org>
40212
40213         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
40214         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
40215         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
40216         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
40217         Reported by Gary V. Vaughan <gary@gnu.org>.
40218
40219 2009-02-25  Bruno Haible  <bruno@clisp.org>
40220
40221         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
40222         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
40223         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
40224         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
40225         Reported by Gary V. Vaughan <gary@gnu.org>.
40226
40227 2009-02-25  Eric Blake  <ebb9@byu.net>
40228
40229         tests: skip fseek/ftell tests if ungetc is broken
40230         * m4/ungetc.m4: New file.
40231         * modules/fseek-tests: Split test, so ungetc dependency is
40232         separate from rest of test.
40233         * modules/fseeko-tests: Likewise.
40234         * modules/ftell-tests: Likewise.
40235         * modules/ftello-tests: Likewise.
40236         * tests/test-fseek.c (main): Isolate ungetc dependency.
40237         * tests/test-fseeko.c (main): Likewise.
40238         * tests/test-ftell.c (main): Likewise.
40239         * tests/test-ftello.c (main): Likewise.
40240         * tests/test-fseek2.sh: New file.
40241         * tests/test-fseeko2.sh: Likewise.
40242         * tests/test-ftell2.sh: Likewise.
40243         * tests/test-ftello2.sh: Likewise.
40244
40245 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
40246
40247         test-getaddrinfo: fix usage of skip return code 77
40248         * tests/test-gettaddrinfo.c: Return skip code 77 only
40249         for first occurance of skip (4x77 is not 77)
40250
40251 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
40252
40253         strtod: avoid C99 decl-after-statement
40254         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
40255
40256 2009-02-24  Eric Blake  <ebb9@byu.net>
40257
40258         strtod: detect HP-UX 11.31 bug
40259         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
40260         Reported by Gary V. Vaughan.
40261
40262 2009-02-23  Bruno Haible  <bruno@clisp.org>
40263
40264         Fix invalid read past end of memory block.
40265         * lib/vasnprintf.c (DCHAR_SET): Define.
40266         (local_wcslen): Define only when needed.
40267         (local_strnlen, local_wcsnlen): New functions.
40268         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
40269         directives that involve a conversion ourselves.
40270         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
40271         wcsnlen, mbrtowc, wcrtomb.
40272         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
40273         * tests/test-vasprintf-posix.c (test_function): Likewise.
40274         * tests/test-snprintf-posix.h (test_function): Likewise.
40275         * tests/test-sprintf-posix.h (test_function): Likewise.
40276         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40277
40278 2009-02-22  Bruno Haible  <bruno@clisp.org>
40279
40280         Implement new clarified decomposition of Hangul syllables.
40281         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
40282         of type LTV, return only a pairwise decomposition.
40283         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
40284         Likewise.
40285         * tests/uninorm/test-decomposition.c (main): Updated expected result.
40286         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
40287         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
40288
40289 2009-02-22  Bruno Haible  <bruno@clisp.org>
40290
40291         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
40292         zero-length results and shrink excess allocated memory.
40293         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
40294         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
40295         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
40296         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
40297         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
40298         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
40299         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
40300         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
40301         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
40302         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
40303         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
40304         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
40305
40306 2009-02-21  Bruno Haible  <bruno@clisp.org>
40307
40308         * doc/gnulib.texi: Include safe-alloc.texi earlier.
40309         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
40310         spaces after a period. Put a space between a macro name and its
40311         argument list. Trivial rewordings.
40312         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
40313         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
40314         (main): Return 0 explicitly.
40315
40316 2009-02-21  Bruno Haible  <bruno@clisp.org>
40317
40318         Tests for module 'uninorm/filter'.
40319         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
40320         * modules/uninorm/filter-tests: New file.
40321
40322         New module 'uninorm/filter'.
40323         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
40324         uninorm_filter_flush, uninorm_filter_free): New declarations.
40325         * lib/uninorm/uninorm-filter.c: New file.
40326         * modules/uninorm/filter: New file.
40327
40328 2009-02-21  Bruno Haible  <bruno@clisp.org>
40329
40330         Tests for module 'uninorm/nfkc'.
40331         * tests/uninorm/test-nfkc.c: New file.
40332         * tests/uninorm/test-u8-nfkc.c: New file.
40333         * tests/uninorm/test-u16-nfkc.c: New file.
40334         * tests/uninorm/test-u32-nfkc.c: New file.
40335         * tests/uninorm/test-u32-nfkc-big.sh: New file.
40336         * tests/uninorm/test-u32-nfkc-big.c: New file.
40337         * modules/uninorm/nfkc-tests: New file.
40338
40339         New module 'uninorm/nfkc'.
40340         * lib/uninorm/nfkc.c: New file.
40341         * modules/uninorm/nfkc: New file.
40342
40343         Tests for module 'uninorm/nfkd'.
40344         * tests/uninorm/test-nfkd.c: New file.
40345         * tests/uninorm/test-u8-nfkd.c: New file.
40346         * tests/uninorm/test-u16-nfkd.c: New file.
40347         * tests/uninorm/test-u32-nfkd.c: New file.
40348         * tests/uninorm/test-u32-nfkd-big.sh: New file.
40349         * tests/uninorm/test-u32-nfkd-big.c: New file.
40350         * modules/uninorm/nfkd-tests: New file.
40351
40352         New module 'uninorm/nfkd'.
40353         * lib/uninorm/nfkd.c: New file.
40354         * modules/uninorm/nfkd: New file.
40355
40356         Tests for module 'uninorm/nfc'.
40357         * tests/uninorm/test-nfc.c: New file.
40358         * tests/uninorm/test-u8-nfc.c: New file.
40359         * tests/uninorm/test-u16-nfc.c: New file.
40360         * tests/uninorm/test-u32-nfc.c: New file.
40361         * tests/uninorm/test-u32-nfc-big.sh: New file.
40362         * tests/uninorm/test-u32-nfc-big.c: New file.
40363         * modules/uninorm/nfc-tests: New file.
40364
40365         New module 'uninorm/nfc'.
40366         * lib/uninorm/nfc.c: New file.
40367         * modules/uninorm/nfc: New file.
40368
40369         Tests for module 'uninorm/nfd'.
40370         * tests/uninorm/test-nfd.c: New file.
40371         * tests/uninorm/test-u8-nfd.c: New file.
40372         * tests/uninorm/test-u16-nfd.c: New file.
40373         * tests/uninorm/test-u32-nfd.c: New file.
40374         * tests/uninorm/test-u32-nfd-big.sh: New file.
40375         * tests/uninorm/test-u32-nfd-big.c: New file.
40376         * tests/uninorm/test-u32-normalize-big.h: New file.
40377         * tests/uninorm/test-u32-normalize-big.c: New file.
40378         * tests/uninorm/NormalizationTest.txt: New file, created from
40379         Unicode 5.1.0 NormalizationTest.txt.
40380         * modules/uninorm/nfd-tests: New file.
40381
40382         New module 'uninorm/nfd'.
40383         * lib/uninorm/nfd.c: New file.
40384         * modules/uninorm/nfd: New file.
40385
40386         New module 'uninorm/u32-normalize'.
40387         * lib/uninorm/u32-normalize.c: New file.
40388         * modules/uninorm/u32-normalize: New file.
40389
40390         New module 'uninorm/u16-normalize'.
40391         * lib/uninorm/u16-normalize.c: New file.
40392         * modules/uninorm/u16-normalize: New file.
40393
40394         New module 'uninorm/u8-normalize'.
40395         * lib/uninorm/u8-normalize.c: New file.
40396         * lib/uninorm/normalize-internal.h: New file.
40397         * lib/uninorm/u-normalize-internal.h: New file.
40398         * modules/uninorm/u8-normalize: New file.
40399
40400         New module 'uninorm/decompose-internal'.
40401         * lib/uninorm/decompose-internal.c: New file.
40402         * modules/uninorm/decompose-internal: New file.
40403
40404         Tests for module 'uninorm/composition'.
40405         * tests/uninorm/test-composition.c: New file.
40406         * modules/uninorm/composition-tests: New file.
40407
40408         New module 'uninorm/composition'.
40409         * lib/uninorm/composition.c: New file.
40410         * lib/uninorm/composition-table.gperf: New file, generated by
40411         gen-uni-tables.
40412         * modules/uninorm/composition: New file.
40413
40414         Tests for module 'uninorm/compat-decomposition'.
40415         * tests/uninorm/test-compat-decomposition.c: New file.
40416         * modules/uninorm/compat-decomposition-tests: New file.
40417
40418         New module 'uninorm/compat-decomposition'.
40419         * lib/uninorm/decompose-internal.h: New file.
40420         * lib/uninorm/compat-decomposition.c: New file.
40421         * modules/uninorm/compat-decomposition: New file.
40422
40423         Tests for module 'uninorm/canonical-decomposition'.
40424         * tests/uninorm/test-canonical-decomposition.c: New file.
40425         * modules/uninorm/canonical-decomposition-tests: New file.
40426
40427         New module 'uninorm/canonical-decomposition'.
40428         * lib/uninorm/canonical-decomposition.c: New file.
40429         * modules/uninorm/canonical-decomposition: New file.
40430
40431         Tests for module 'uninorm/decomposition'.
40432         * tests/uninorm/test-decomposition.c: New file.
40433         * modules/uninorm/decomposition-tests: New file.
40434
40435         New module 'uninorm/decomposition'.
40436         * lib/uninorm/decomposition.c: New file.
40437         * modules/uninorm/decomposition: New file.
40438
40439         New module 'uninorm/decomposition-table'.
40440         * lib/uninorm/decomposition-table.h: New file.
40441         * lib/uninorm/decomposition-table.c: New file.
40442         * lib/uninorm/decomposition-table1.h: New file, generated by
40443         gen-uni-tables.
40444         * lib/uninorm/decomposition-table2.h: New file, generated by
40445         gen-uni-tables.
40446         * modules/uninorm/decomposition-table: New file.
40447
40448         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
40449         (UC_DECOMP_*): New enumeration items.
40450         (get_decomposition): New function.
40451         (struct decomp_table): New type.
40452         (output_decomposition, output_decomposition_tables): New functions.
40453         (unicode_composition_exclusions): New variable.
40454         (fill_composition_exclusions, debug_output_composition_tables): New
40455         functions.
40456         (main): Accept one more argument. Invoke fill_composition_exclusions.
40457         Output decomposition and composition tables.
40458
40459         New module 'uninorm/base'.
40460         * lib/uninorm.h: New file.
40461         * lib/unictype.h: Update comment.
40462         * modules/uninorm/base: New file.
40463
40464 2009-02-21  David Lutterkort  <lutter@redhat.com>
40465
40466         Tests for module 'safe-alloc'.
40467         * tests/test-safe-alloc.c: New file.
40468         * modules/safe-alloc-tests: New file.
40469
40470         New module 'safe-alloc'.
40471         * lib/safe-alloc.h: New file.
40472         * lib/safe-alloc.c: New file.
40473         * m4/safe-alloc.m4: New file.
40474         * modules/safe-alloc: New file.
40475         * doc/safe-alloc.texi: New file.
40476         * doc/gnulib.texi: Include it.
40477         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40478         safe-alloc.
40479
40480 2009-02-18  Bruno Haible  <bruno@clisp.org>
40481
40482         Fix link error on non-glibc systems.
40483         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40484         variable.
40485         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40486
40487 2009-02-18  Jim Meyering  <meyering@redhat.com>
40488
40489         fts: avoid used-uninitialized error due to recent change
40490         * lib/fts.c (fts_read): Guard uses of the new member,
40491         parent->fts_n_dirs_remaining, since it's not relevant for
40492         the parent of a directory specified on the command-line.
40493
40494 2009-02-17  James Youngman  <jay@gnu.org>
40495             Bruno Haible  <bruno@clisp.org>
40496
40497         * m4/include_next.m4: Reformulate comment.
40498
40499 2009-02-16  Jim Meyering  <meyering@redhat.com>
40500
40501         fts: add #if guards so that the fts_lgpl module still builds
40502         * lib/fts.c: Guard just-added hash-table-using parts with
40503         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40504         Reported by Simon Josefsson.
40505
40506 2009-02-15  Bruno Haible  <bruno@clisp.org>
40507
40508         * modules/array-mergesort-tests: New file.
40509         * tests/test-array-mergesort.c: New file.
40510
40511         New module 'array-mergesort'.
40512         * modules/array-mergesort: New file.
40513         * lib/array-mergesort.h: New file.
40514
40515 2009-02-15  Bruno Haible  <bruno@clisp.org>
40516
40517         Fix 2009-02-07 commit.
40518         * lib/gen-uni-tables.c (output_predicate, output_category,
40519         output_combclass, output_bidi_category, output_decimal_digit,
40520         output_digit, output_numeric, output_mirror, output_scripts,
40521         output_ident_category, output_simple_mapping): Fix format directives.
40522         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40523
40524 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
40525
40526         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
40527         fixes are available from IBM.
40528
40529 2009-02-13  Jim Meyering  <meyering@redhat.com>
40530
40531         fts: arrange not to stat non-directories in more cases
40532         This makes GNU find (when it doesn't need to stat each file)
40533         *much* more efficient at traversing reiserfs file systems.
40534         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
40535         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
40536         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
40537         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
40538         (leaf_optimization_applies): New function.
40539         (LCO_hash, LCO_compare): New helper functions.
40540         (link_count_optimize_ok): New function.
40541         (fts_stat): Initialize new member (if dir).
40542         (fts_read): Decrement parent's fts_n_dirs_remaining count if
40543         we've just stat'ed a directory.  Skip the stat call when possible.
40544         ---
40545         Note this AFS-related exchange:
40546         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
40547         and note find's pioctl call in find/fstype.c.
40548         But that is necessary only if you want to enable the
40549         optimization for AFS, and for now, I don't.
40550
40551         fts: move a function definition "up" (no semantic change)
40552         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
40553         "up" to precede upcoming use of a related function.
40554
40555 2009-02-11  Jim Meyering  <meyering@redhat.com>
40556
40557         fts: correct internal computation of nlinks (optimization-related)
40558         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
40559         whether the current entry is a directory, so don't test it.
40560
40561 2009-02-10  Bruno Haible  <bruno@clisp.org>
40562
40563         Tests for module 'uniwbrk/ulc-wordbreaks'.
40564         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
40565         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
40566         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
40567
40568         Tests for module 'uniwbrk/u32-wordbreaks'.
40569         * modules/uniwbrk/u32-wordbreaks-tests: New file.
40570         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
40571
40572         Tests for module 'uniwbrk/u16-wordbreaks'.
40573         * modules/uniwbrk/u16-wordbreaks-tests: New file.
40574         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
40575
40576         Tests for module 'uniwbrk/u8-wordbreaks'.
40577         * modules/uniwbrk/u8-wordbreaks-tests: New file.
40578         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
40579
40580 2009-02-10  Bruno Haible  <bruno@clisp.org>
40581
40582         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
40583         property.
40584         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
40585         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
40586         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
40587
40588 2009-02-10  Simon Josefsson  <simon@josefsson.org>
40589
40590         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
40591         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
40592
40593 2009-02-10  Bruno Haible  <bruno@clisp.org>
40594
40595         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
40596         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
40597         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
40598         * lib/unilbrk/u8-possible-linebreaks.c: Update.
40599         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
40600         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
40601
40602 2009-02-09  Simon Josefsson  <simon@josefsson.org>
40603
40604         * lib/sockets.h (gl_fd_to_handle): New function.
40605
40606         * tests/test-sockets.c: Call gl_fd_to_handle.
40607
40608 2009-02-09  Bruno Haible  <bruno@clisp.org>
40609
40610         * doc/havelib.texi: Document the conventions on bi-arch systems.
40611
40612 2009-02-08  Bruno Haible  <bruno@clisp.org>
40613
40614         Document the AC_LIB_LINKFLAGS macro.
40615         * doc/havelib.texi: New file, mostly written on 2005-05-24.
40616         * doc/gnulib.texi: Include it.
40617
40618 2009-02-08  Bruno Haible  <bruno@clisp.org>
40619
40620         Fix wrong order of sections, compared to TOC.
40621         * doc/gnulib.texi: Include relocatable-maint.texi after the
40622         "Regular expressions" node, not before.
40623
40624 2009-02-08  Bruno Haible  <bruno@clisp.org>
40625
40626         Tests for module 'unicase/totitle'.
40627         * modules/unicase/totitle-tests: New file.
40628
40629         Tests for module 'unicase/tolower'.
40630         * modules/unicase/tolower-tests: New file.
40631
40632         Tests for module 'unicase/toupper'.
40633         * modules/unicase/toupper-tests: New file.
40634         * tests/unicase/test-mapping-part1.h: New file.
40635         * tests/unicase/test-mapping-part2.h: New file.
40636
40637         New module 'unicase/totitle'.
40638         * modules/unicase/totitle: New file.
40639         * lib/unicase/totitle.c: New file.
40640
40641         New module 'unicase/tolower'.
40642         * modules/unicase/tolower: New file.
40643         * lib/unicase/tolower.c: New file.
40644
40645         New module 'unicase/toupper'.
40646         * modules/unicase/toupper: New file.
40647         * lib/unicase/toupper.c: New file.
40648         * lib/unicase/simple-mapping.h: New file.
40649
40650         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
40651         (mapping_table): New structure.
40652         (output_simple_mapping): New function.
40653         (main): Invoke output_simple_mapping_test and output_simple_mapping.
40654         * modules/gen-uni-tables (Description): Update.
40655         * lib/unicase/toupper.h: New file, automatically generated by
40656         gen-uni-tables.
40657         * lib/unicase/tolower.h: New file, automatically generated by
40658         gen-uni-tables.
40659         * lib/unicase/totitle.h: New file, automatically generated by
40660         gen-uni-tables.
40661         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
40662         gen-uni-tables.
40663         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
40664         gen-uni-tables.
40665         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
40666         gen-uni-tables.
40667
40668         New module 'unicase/base'.
40669         * modules/unicase/base: New file.
40670         * lib/unicase.h: New file.
40671
40672 2009-02-08  Bruno Haible  <bruno@clisp.org>
40673
40674         New module 'uniwbrk/ulc-wordbreaks'.
40675         * modules/uniwbrk/ulc-wordbreaks: New file.
40676         * lib/uniwbrk/ulc-wordbreaks.c: New file.
40677
40678         New module 'uniwbrk/u32-wordbreaks'.
40679         * modules/uniwbrk/u32-wordbreaks: New file.
40680         * lib/uniwbrk/u32-wordbreaks.c: New file.
40681
40682         New module 'uniwbrk/u16-wordbreaks'.
40683         * modules/uniwbrk/u16-wordbreaks: New file.
40684         * lib/uniwbrk/u16-wordbreaks.c: New file.
40685
40686         New module 'uniwbrk/u8-wordbreaks'.
40687         * modules/uniwbrk/u8-wordbreaks: New file.
40688         * lib/uniwbrk/u8-wordbreaks.c: New file.
40689         * lib/uniwbrk/u-wordbreaks.h: New file.
40690
40691         New module 'uniwbrk/table'.
40692         * modules/uniwbrk/table: New file.
40693         * lib/uniwbrk/wbrktable.h: New file.
40694         * lib/uniwbrk/wbrktable.c: New file.
40695
40696         New module 'uniwbrk/wordbreak-property'.
40697         * modules/uniwbrk/wordbreak-property: New file.
40698         * lib/uniwbrk/wordbreak-property.c: New file.
40699
40700         * lib/gen-uni-tables.c (WBP_*): New enum items.
40701         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
40702         (unicode_org_wbp): New variable.
40703         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
40704         New functions.
40705         (wbp_table): New structure.
40706         (output_wbp, output_wbrk_tables): New functions.
40707         (main): Accept additional argument. Invoke fill_org_wbp,
40708         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
40709         output_wbrk_tables.
40710         * modules/gen-uni-tables (Description): Update.
40711         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
40712         gen-uni-tables.
40713
40714         New module 'uniwbrk/base'.
40715         * modules/uniwbrk/base: New file.
40716         * lib/uniwbrk.h: New file.
40717
40718 2009-02-08  Bruno Haible  <bruno@clisp.org>
40719
40720         Update to Unicode 5.1.0.
40721         * lib/gen-uni-tables.c (is_property_alphabetic): Include
40722         U+2185..U+2188.
40723         (is_property_default_ignorable_code_point): Don't include characters
40724         of category Cc or Cs and not-a-characters.
40725         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
40726         U+0D79, U+109E, U+109F, U+A60C.
40727         * lib/unictype/bidi_of.h: Regenerated.
40728         * lib/unictype/blocks.h: Regenerated.
40729         * lib/unictype/categ_C.h: Regenerated.
40730         * lib/unictype/categ_Cf.h: Regenerated.
40731         * lib/unictype/categ_Cn.h: Regenerated.
40732         * lib/unictype/categ_L.h: Regenerated.
40733         * lib/unictype/categ_Ll.h: Regenerated.
40734         * lib/unictype/categ_Lm.h: Regenerated.
40735         * lib/unictype/categ_Lo.h: Regenerated.
40736         * lib/unictype/categ_Lu.h: Regenerated.
40737         * lib/unictype/categ_M.h: Regenerated.
40738         * lib/unictype/categ_Mc.h: Regenerated.
40739         * lib/unictype/categ_Me.h: Regenerated.
40740         * lib/unictype/categ_Mn.h: Regenerated.
40741         * lib/unictype/categ_N.h: Regenerated.
40742         * lib/unictype/categ_Nd.h: Regenerated.
40743         * lib/unictype/categ_Nl.h: Regenerated.
40744         * lib/unictype/categ_No.h: Regenerated.
40745         * lib/unictype/categ_P.h: Regenerated.
40746         * lib/unictype/categ_Pd.h: Regenerated.
40747         * lib/unictype/categ_Pe.h: Regenerated.
40748         * lib/unictype/categ_Pf.h: Regenerated.
40749         * lib/unictype/categ_Pi.h: Regenerated.
40750         * lib/unictype/categ_Po.h: Regenerated.
40751         * lib/unictype/categ_Ps.h: Regenerated.
40752         * lib/unictype/categ_S.h: Regenerated.
40753         * lib/unictype/categ_Sk.h: Regenerated.
40754         * lib/unictype/categ_Sm.h: Regenerated.
40755         * lib/unictype/categ_So.h: Regenerated.
40756         * lib/unictype/categ_of.h: Regenerated.
40757         * lib/unictype/combining.h: Regenerated.
40758         * lib/unictype/ctype_alnum.h: Regenerated.
40759         * lib/unictype/ctype_alpha.h: Regenerated.
40760         * lib/unictype/ctype_graph.h: Regenerated.
40761         * lib/unictype/ctype_lower.h: Regenerated.
40762         * lib/unictype/ctype_print.h: Regenerated.
40763         * lib/unictype/ctype_punct.h: Regenerated.
40764         * lib/unictype/ctype_upper.h: Regenerated.
40765         * lib/unictype/decdigit.h: Regenerated.
40766         * lib/unictype/digit.h: Regenerated.
40767         * lib/unictype/mirror.h: Regenerated.
40768         * lib/unictype/numeric.h: Regenerated.
40769         * lib/unictype/pr_alphabetic.h: Regenerated.
40770         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
40771         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
40772         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
40773         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
40774         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
40775         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
40776         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
40777         * lib/unictype/pr_combining.h: Regenerated.
40778         * lib/unictype/pr_dash.h: Regenerated.
40779         * lib/unictype/pr_decimal_digit.h: Regenerated.
40780         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
40781         * lib/unictype/pr_deprecated.h: Regenerated.
40782         * lib/unictype/pr_diacritic.h: Regenerated.
40783         * lib/unictype/pr_extender.h: Regenerated.
40784         * lib/unictype/pr_format_control.h: Regenerated.
40785         * lib/unictype/pr_grapheme_base.h: Regenerated.
40786         * lib/unictype/pr_grapheme_extend.h: Regenerated.
40787         * lib/unictype/pr_grapheme_link.h: Regenerated.
40788         * lib/unictype/pr_id_continue.h: Regenerated.
40789         * lib/unictype/pr_id_start.h: Regenerated.
40790         * lib/unictype/pr_ideographic.h: Regenerated.
40791         * lib/unictype/pr_ignorable_control.h: Regenerated.
40792         * lib/unictype/pr_lowercase.h: Regenerated.
40793         * lib/unictype/pr_math.h: Regenerated.
40794         * lib/unictype/pr_numeric.h: Regenerated.
40795         * lib/unictype/pr_other_alphabetic.h: Regenerated.
40796         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
40797         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
40798         * lib/unictype/pr_other_id_continue.h: Regenerated.
40799         * lib/unictype/pr_other_lowercase.h: Regenerated.
40800         * lib/unictype/pr_other_math.h: Regenerated.
40801         * lib/unictype/pr_punctuation.h: Regenerated.
40802         * lib/unictype/pr_sentence_terminal.h: Regenerated.
40803         * lib/unictype/pr_soft_dotted.h: Regenerated.
40804         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
40805         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
40806         * lib/unictype/pr_unified_ideograph.h: Regenerated.
40807         * lib/unictype/pr_uppercase.h: Regenerated.
40808         * lib/unictype/pr_xid_continue.h: Regenerated.
40809         * lib/unictype/pr_xid_start.h: Regenerated.
40810         * lib/unictype/pr_zero_width.h: Regenerated.
40811         * lib/unictype/scripts.h: Regenerated.
40812         * lib/unictype/scripts_byname.gperf: Regenerated.
40813         * lib/unictype/sy_java_ident.h: Regenerated.
40814         * lib/unilbrk/lbrkprop1.h: Regenerated.
40815         * lib/unilbrk/lbrkprop2.h: Regenerated.
40816         * tests/unictype/test-categ_C.c: Regenerated.
40817         * tests/unictype/test-categ_Cf.c: Regenerated.
40818         * tests/unictype/test-categ_Cn.c: Regenerated.
40819         * tests/unictype/test-categ_L.c: Regenerated.
40820         * tests/unictype/test-categ_Ll.c: Regenerated.
40821         * tests/unictype/test-categ_Lm.c: Regenerated.
40822         * tests/unictype/test-categ_Lo.c: Regenerated.
40823         * tests/unictype/test-categ_Lu.c: Regenerated.
40824         * tests/unictype/test-categ_M.c: Regenerated.
40825         * tests/unictype/test-categ_Mc.c: Regenerated.
40826         * tests/unictype/test-categ_Me.c: Regenerated.
40827         * tests/unictype/test-categ_Mn.c: Regenerated.
40828         * tests/unictype/test-categ_N.c: Regenerated.
40829         * tests/unictype/test-categ_Nd.c: Regenerated.
40830         * tests/unictype/test-categ_Nl.c: Regenerated.
40831         * tests/unictype/test-categ_No.c: Regenerated.
40832         * tests/unictype/test-categ_P.c: Regenerated.
40833         * tests/unictype/test-categ_Pd.c: Regenerated.
40834         * tests/unictype/test-categ_Pe.c: Regenerated.
40835         * tests/unictype/test-categ_Pf.c: Regenerated.
40836         * tests/unictype/test-categ_Pi.c: Regenerated.
40837         * tests/unictype/test-categ_Po.c: Regenerated.
40838         * tests/unictype/test-categ_Ps.c: Regenerated.
40839         * tests/unictype/test-categ_S.c: Regenerated.
40840         * tests/unictype/test-categ_Sk.c: Regenerated.
40841         * tests/unictype/test-categ_Sm.c: Regenerated.
40842         * tests/unictype/test-categ_So.c: Regenerated.
40843         * tests/unictype/test-ctype_alnum.c: Regenerated.
40844         * tests/unictype/test-ctype_alpha.c: Regenerated.
40845         * tests/unictype/test-ctype_graph.c: Regenerated.
40846         * tests/unictype/test-ctype_lower.c: Regenerated.
40847         * tests/unictype/test-ctype_print.c: Regenerated.
40848         * tests/unictype/test-ctype_punct.c: Regenerated.
40849         * tests/unictype/test-ctype_upper.c: Regenerated.
40850         * tests/unictype/test-decdigit.h: Regenerated.
40851         * tests/unictype/test-digit.h: Regenerated.
40852         * tests/unictype/test-numeric.h: Regenerated.
40853         * tests/unictype/test-pr_alphabetic.c: Regenerated.
40854         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
40855         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
40856         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
40857         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
40858         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
40859         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
40860         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
40861         * tests/unictype/test-pr_combining.c: Regenerated.
40862         * tests/unictype/test-pr_dash.c: Regenerated.
40863         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
40864         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
40865         * tests/unictype/test-pr_deprecated.c: Regenerated.
40866         * tests/unictype/test-pr_diacritic.c: Regenerated.
40867         * tests/unictype/test-pr_extender.c: Regenerated.
40868         * tests/unictype/test-pr_format_control.c: Regenerated.
40869         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
40870         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
40871         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
40872         * tests/unictype/test-pr_id_continue.c: Regenerated.
40873         * tests/unictype/test-pr_id_start.c: Regenerated.
40874         * tests/unictype/test-pr_ideographic.c: Regenerated.
40875         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
40876         * tests/unictype/test-pr_lowercase.c: Regenerated.
40877         * tests/unictype/test-pr_math.c: Regenerated.
40878         * tests/unictype/test-pr_numeric.c: Regenerated.
40879         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
40880         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
40881         Regenerated.
40882         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
40883         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
40884         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
40885         * tests/unictype/test-pr_other_math.c: Regenerated.
40886         * tests/unictype/test-pr_punctuation.c: Regenerated.
40887         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
40888         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
40889         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
40890         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
40891         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
40892         * tests/unictype/test-pr_uppercase.c: Regenerated.
40893         * tests/unictype/test-pr_xid_continue.c: Regenerated.
40894         * tests/unictype/test-pr_xid_start.c: Regenerated.
40895         * tests/unictype/test-pr_zero_width.c: Regenerated.
40896
40897         Update to Unicode 5.1.0.
40898         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
40899         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
40900         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
40901         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
40902         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
40903         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
40904         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
40905         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
40906         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
40907         (nonspacing_table_ind): Update.
40908         * tests/uniwidth/test-uc_width2.sh: Update expected result.
40909
40910         Update to Unicode 5.1.0.
40911         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
40912         code transform.
40913         * lib/uniname/uniname.c (unicode_character_name,
40914         unicode_name_character): Add the range 0x1Fxxx to the code transform.
40915         * lib/uniname/uninames.h: Regenerated.
40916         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
40917
40918 2009-02-07  Bruno Haible  <bruno@clisp.org>
40919
40920         Merge gen-ctype and gen-lbrk into a single program.
40921         * lib/gen-uni-tables.c: New file, incorporating
40922         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
40923         Add directory prefixes to the names of the generated files.
40924         * lib/unictype/gen-ctype.c: Remove file.
40925         * lib/unilbrk/gen-lbrk.c: Remove file.
40926         * modules/gen-uni-tables: New file.
40927         * modules/unictype/gen-ctype: Remove file.
40928         * modules/unilbrk/gen-lbrk: Remove file.
40929
40930 2009-02-07  Bruno Haible  <bruno@clisp.org>
40931
40932         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
40933
40934         New module 'unistr/u32-strcoll'.
40935         * modules/unistr/u32-strcoll: New file.
40936         * lib/unistr/u32-strcoll.c: New file.
40937
40938         New module 'unistr/u16-strcoll'.
40939         * modules/unistr/u16-strcoll: New file.
40940         * lib/unistr/u16-strcoll.c: New file.
40941
40942         New module 'unistr/u8-strcoll'.
40943         * modules/unistr/u8-strcoll: New file.
40944         * lib/unistr/u8-strcoll.c: New file.
40945         * lib/unistr/u-strcoll.h: New file.
40946
40947 2009-02-07  Bruno Haible  <bruno@clisp.org>
40948
40949         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
40950         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
40951         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
40952         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
40953         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
40954         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
40955
40956 2009-02-07  Bruno Haible  <bruno@clisp.org>
40957
40958         Make 64-bit clean.
40959         * lib/unictype/gen-ctype.c (output_predicate, output_category,
40960         output_combclass, output_bidi_category, output_decimal_digit,
40961         output_digit, output_numeric, output_mirror, output_scripts,
40962         output_ident_category): Use proper width specifier in format strings.
40963
40964 2009-02-07  Bruno Haible  <bruno@clisp.org>
40965
40966         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
40967         failure behaviour.
40968
40969 2009-02-07  Jim Meyering  <meyering@redhat.com>
40970
40971         regex: avoid compilation failure with upcoming gcc-4.4
40972         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
40973         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
40974         "... error: integer overflow in preprocessor expression".
40975
40976 2009-02-05  Ben Pfaff  <blp@gnu.org>
40977
40978         Fix link errors on Windows when close module is used.
40979         * modules/close: Add $(LIB_CLOSE) to Link section.
40980         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
40981         $(LIB_CLOSE) on Windows.
40982
40983 2009-02-05  Jim Meyering  <meyering@redhat.com>
40984
40985         still avoid unused-parameter warnings, but do it cleanly
40986         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
40987         (get_fs_usage): Cast to void instead.
40988         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
40989         (dev_from_mount_options, read_file_system_list): Cast to void.
40990         Prompted by Bruno Haible.
40991
40992 2009-02-04  Jim Meyering  <meyering@redhat.com>
40993
40994         fsusage.c: correct copyright year
40995         * lib/fsusage.c: Reflect year in which the change is pushed into
40996
40997         avoid misc. warnings
40998         * lib/fsusage.c (UNUSED_PARAM): Define.
40999         (get_fs_usage): Mark parameter "disk" as unused.
41000         * lib/getugroups.c (getgrent): Use "void" in prototype.
41001         * lib/mountlist.c: Mark unused parameters.
41002         (read_file_system_list): Declare a local with "const".
41003         * lib/nanosleep.c (getnow): Declare static.
41004         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
41005
41006         dirfd: set errno upon failure
41007         * lib/dirfd.c: Include <errno.h>.
41008         Set errno to ENOTSUP when returning -1.
41009         * modules/dirfd (Depends-on): Add errno.
41010         Suggested by John Kodis <kodis@comcast.net>.
41011
41012 2009-02-01  Bruno Haible  <bruno@clisp.org>
41013
41014         Don't assume sizeof (long) >= sizeof (void *).
41015         * lib/memcmp.c: Include stdint.h.
41016         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
41017         srcp2 to 'const byte *'.
41018         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
41019         types to uintptr_t.
41020         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
41021         * modules/memcmp (Depends-on): Add stdint.
41022         Reported by Ozkan Sezer <sezeroz@gmail.com>.
41023
41024 2009-01-30  Eric Blake  <ebb9@byu.net>
41025
41026         fix more require-before-expand issues
41027         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
41028         expand, AC_PROG_AWK.
41029         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
41030
41031 2009-01-28  Eric Blake  <ebb9@byu.net>
41032
41033         version-etc: use consistent URL formatting
41034         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
41035         Improve formatting.  Use fputs for string without %.
41036
41037 2009-01-28  Jim Meyering  <meyering@redhat.com>
41038
41039         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
41040         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
41041         "underquoted definition of NAME" from autoconf-2.59.
41042
41043 2009-01-28  Bruno Haible  <bruno@clisp.org>
41044
41045         * doc/gnulib.texi: Add "Obsolete modules" to index.
41046
41047 2009-01-28  Jim Meyering  <meyering@redhat.com>
41048
41049         useless-if-before-free: recognize more variants
41050         * build-aux/useless-if-before-free: Also recognize e.g.,
41051         if (NULL != p) free (p);
41052
41053 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
41054
41055         test-getaddrinfo: skip (don't fail) this test when there's no network
41056         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
41057         on the presumption that it means you lack network access.
41058
41059 2009-01-26  Jim Meyering  <meyering@redhat.com>
41060
41061         fflush: avoid warnings on modern systems
41062         * lib/fflush.c (rpl_fflush): Move declarations of locals,
41063         pos and result, into scopes where they're used.
41064
41065 2009-01-26  Eric Blake  <ebb9@byu.net>
41066
41067         Silence warning reintroduced by recent extensions patch.
41068         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
41069         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
41070         autoconf.
41071
41072         Backport improved autoconf semantics of AC_DEFUN_ONCE.
41073         * m4/00gnulib.m4: New file.
41074         * gnulib-tool (func_get_filelist): Always use it.
41075         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
41076         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
41077
41078 2009-01-25  Bruno Haible  <bruno@clisp.org>
41079
41080         Make test-quotearg work on MacOS X and AIX.
41081         * tests/test-quotearg.sh: New file.
41082         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
41083         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
41084         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
41085         include <libintl.h>.
41086         (fake_locale): Remove variable.
41087         (gettext, dgettext, dcgettext): Remove functions.
41088         (main): Instead of setting a fake locale, set a real locale. Call
41089         textdomain and bindtextdomain.
41090         * modules/quotearg-tests (Files): Add the new files.
41091         (Depends-on): Add gettext, setenv, unsetenv.
41092         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41093         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
41094         Augment TESTS_ENVIRONMENT.
41095
41096 2009-01-25  Bruno Haible  <bruno@clisp.org>
41097
41098         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
41099         fr_FR.ISO8859-1 locale on MacOS X.
41100         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
41101         ja_JP.eucJP locale on MacOS X.
41102         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
41103         zh_CN.GB18030 locale on MacOS X.
41104
41105 2009-01-25  Bruno Haible  <bruno@clisp.org>
41106
41107         Avoid link errors on MacOS X 10.3.
41108         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
41109         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41110
41111 2009-01-25  Bruno Haible  <bruno@clisp.org>
41112
41113         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41114         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
41115         * modules/pipe (Files): Remove m4/posix_spawn.m4.
41116         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41117         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
41118         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41119         posix_spawnattr_init, posix_spawnattr_setsigmask,
41120         posix_spawnattr_setflags, posix_spawnattr_destroy.
41121
41122         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41123         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
41124         * modules/execute (Files): Remove m4/posix_spawn.m4.
41125         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41126         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41127         posix_spawnattr_init, posix_spawnattr_setsigmask,
41128         posix_spawnattr_setflags, posix_spawnattr_destroy.
41129
41130 2009-01-25  Bruno Haible  <bruno@clisp.org>
41131
41132         * lib/glthread/threadlib.c: Include <stdlib.h>.
41133
41134 2009-01-25  Bruno Haible  <bruno@clisp.org>
41135
41136         * lib/glthread/threadlib.c (dummy): New declaration.
41137
41138 2009-01-25  Bruno Haible  <bruno@clisp.org>
41139
41140         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
41141         multibyte characters also for the GB18030 encoding. Don't crash when
41142         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
41143
41144 2009-01-25  Bruno Haible  <bruno@clisp.org>
41145
41146         Avoid redefining 'struct random_data' on OSF/1 5.1.
41147         * lib/stdlib.in.h: Include <random.h> if it exists.
41148         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
41149         HAVE_RANDOM_H. Include <random.h> when testing whether
41150         'struct random_data' exists.
41151         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
41152
41153 2009-01-25  Bruno Haible  <bruno@clisp.org>
41154
41155         Don't install charset.alias on MacOS X >= 10.3.
41156         * lib/localcharset.c (DARWIN7): New macro.
41157         (get_charset_aliases): Hardcode the result for Darwin7.
41158         * modules/localcharset (install-exec-local): Don't install
41159         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
41160
41161 2009-01-25  Bruno Haible  <bruno@clisp.org>
41162
41163         Don't install charset.alias on mingw and Cygwin.
41164         * modules/localcharset (install-exec-local): Don't install
41165         charset.alias on mingw and Cygwin, if the file does not yet exist.
41166         The result for these platforms is hardcoded in localcharset.c.
41167
41168 2009-01-25  Bruno Haible  <bruno@clisp.org>
41169
41170         Make it possible again to use AC_GNU_SOURCE together with gnulib.
41171         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
41172         before requiring AC_USE_SYSTEM_EXTENSIONS.
41173
41174 2009-01-25  Jim Meyering  <meyering@redhat.com>
41175
41176         c-strtod: avoid warnings
41177         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
41178         "assignment discards qualifiers from pointer target type" warnings.
41179
41180 2009-01-24  Bruno Haible  <bruno@clisp.org>
41181
41182         Add support for non-UTF-8 locales on MacOS X.
41183         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
41184         canonical encodings. For Darwin 7 and newer, don't map traditional
41185         encodings to UTF-8.
41186         Reported by Vincent Lefevre <vincent@vinc17.org>
41187         at <http://savannah.gnu.org/bugs/?25235>.
41188
41189 2009-01-24  Bruno Haible  <bruno@clisp.org>
41190
41191         * doc/gnulib.texi (Obsolete modules): New section.
41192         Reported by Mike Frysinger <vapier@gentoo.org>.
41193
41194 2009-01-24  Bruno Haible  <bruno@clisp.org>
41195
41196         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
41197         (%.dvi): New rule.
41198
41199 2009-01-24  Bruno Haible  <bruno@clisp.org>
41200
41201         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
41202         Reported by Eric Blake.
41203
41204 2009-01-24  Bruno Haible  <bruno@clisp.org>
41205
41206         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
41207         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
41208         Reported by Gary V. Vaughan <gary@gnu.org>.
41209
41210 2009-01-24  Bruno Haible  <bruno@clisp.org>
41211
41212         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
41213
41214 2009-01-23  Bruno Haible  <bruno@clisp.org>
41215
41216         Make c-strtod, c-strtold usable in libraries.
41217         * lib/c-strtod.c: Include string.h instead of xalloc.h.
41218         (C_STRTOD): Call strdup instead of xstrdup.
41219         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
41220         * modules/c-strtold (Depends-on): Likewise.
41221         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
41222         * NEWS: Mention the change.
41223         Reported by Michael Gold <mgold@ncf.ca>.
41224
41225 2009-01-23  Jim Meyering  <meyering@redhat.com>
41226
41227         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
41228         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
41229         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
41230
41231 2009-01-23  Simon Josefsson  <simon@josefsson.org>
41232
41233         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
41234         GNU CoreUtils.
41235         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
41236         * modules/version-etc (Description): Update.
41237
41238 2009-01-22  Bruno Haible  <bruno@clisp.org>
41239
41240         Cache the C locale object.
41241         * lib/c-strtod.c (c_locale_cache): New variable.
41242         (c_locale): New function.
41243         (C_STRTOD): Use it, and don't call freelocale.
41244         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
41245         Suggested by Paolo Bonzini.
41246
41247 2009-01-21  Bruno Haible  <bruno@clisp.org>
41248
41249         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
41250         conditions other than overflow.
41251
41252 2009-01-21  Bruno Haible  <bruno@clisp.org>
41253
41254         * lib/c-strtod.c: Include errno.h.
41255         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
41256         value from STRTOD_L and STRTOD.
41257
41258 2009-01-21  Bruno Haible  <bruno@clisp.org>
41259         and Jim Meyering  <meyering@redhat.com>
41260
41261         nanosleep: skip configure test (fail it) for apple universal builds
41262         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
41263         universal builds, assume that nanosleep does not work.
41264         * modules/nanosleep (Depends-on): Add multiarch.
41265
41266         mktime: skip configure test (fail it) for apple universal builds
41267         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
41268         universal builds, assume that mktime does not work.
41269         * modules/mktime (Depends-on): Add multiarch.
41270
41271 2009-01-21  Eric Blake  <ebb9@byu.net>
41272
41273         multiarch: avoid expand-before-require warning
41274         * modules/multiarch (configure.ac): Require, rather than expand,
41275         gl_MULTIARCH.
41276         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
41277         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
41278         enforce that all clients require it.  Partial reversion of
41279         2008-12-29 patch.
41280
41281         error: avoid expand-before-require warning
41282         * modules/errno (configure.ac): Require, rather than expand,
41283         gl_HEADER_ERRNO_H.
41284         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
41285         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
41286         enforce that all clients require it.
41287
41288         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
41289         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
41290         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
41291         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
41292
41293 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
41294
41295         Revert:
41296         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41297
41298         regex: do not depend on obsolete modules.
41299         * modules/regex: Remove memcmp and memmove.
41300
41301 2009-01-20  Bruno Haible  <bruno@clisp.org>
41302
41303         Make the 'link' module link on Windows NT 4.
41304         * lib/link.c (_WIN32_WINNT): Don't define.
41305         (CreateHardLinkFuncType): New type.
41306         (CreateHardLinkFunc, initialized): New variables.
41307         (initialize): New function.
41308         (link): Invoke CreateHardLink indirectly through the function pointer.
41309
41310 2009-01-20  Bruno Haible  <bruno@clisp.org>
41311
41312         Fix compilation failure on mingw.
41313         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
41314
41315 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
41316
41317         * doc/c-strtod.texi: Mention a couple of restrictions.
41318
41319 2009-01-20  Jim Meyering  <meyering@redhat.com>
41320
41321         gettimeofday: move more declarations out of functions
41322         * lib/gettimeofday.c: Move extern declarations of tzset and
41323         gmtime out of containing functions.  Prompted by Bruno Haible.
41324
41325 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41326
41327         regex: do not depend on obsolete modules.
41328         * modules/regex: Remove memcmp and memmove.
41329
41330 2009-01-19  Bruno Haible  <bruno@clisp.org>
41331
41332         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41333         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
41334         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41335         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
41336         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
41337
41338 2009-01-19  Bruno Haible  <bruno@clisp.org>
41339
41340         * tests/test-link.c: Include <errno.h>.
41341         (main): Exit with code 77 when a hard link cannot be created due to
41342         the file system.
41343         * tests/test-link.sh: Skip test when a hard link cannot be created due
41344         to the file system.
41345         Suggested by Eric Blake.
41346
41347 2009-01-19  Martin Lambers  <marlam@marlam.de>
41348
41349         * modules/link-tests: New file.
41350         * tests/test-link.sh: New file.
41351         * tests/test-link.c: New file.
41352
41353 2009-01-19  Eric Blake  <ebb9@byu.net>
41354
41355         doc: mention another function added in cygwin 1.7.0
41356         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
41357         Another new function in cygwin 1.7.
41358
41359 2009-01-19  Bruno Haible  <bruno@clisp.org>
41360
41361         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41362         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
41363         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
41364         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41365         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41366         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
41367         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41368         * m4/md4.m4 (gl_MD4): Likewise.
41369         * m4/md5.m4 (gl_MD5): Likewise.
41370         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
41371         * m4/sha1.m4 (gl_SHA1): Likewise.
41372         * m4/sha256.m4 (gl_SHA256): Likewise.
41373         * m4/sha512.m4 (gl_SHA512): Likewise.
41374
41375 2009-01-19  Bruno Haible  <bruno@clisp.org>
41376
41377         * modules/uniname/uniname-tests (Depends-on): Add progname.
41378         * tests/uniname/test-uninames.c: Include progname.h.
41379         (main): Call set_program_name.
41380
41381         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
41382         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
41383         (main): Call set_program_name.
41384
41385         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
41386         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
41387         (main): Call set_program_name.
41388
41389         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
41390         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
41391         (main): Call set_program_name.
41392
41393         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
41394         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
41395         (main): Call set_program_name.
41396
41397         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
41398         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
41399         (main): Call set_program_name.
41400
41401         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
41402         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
41403         (main): Call set_program_name.
41404
41405         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
41406         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
41407         (main): Call set_program_name.
41408
41409         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
41410         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
41411         (main): Call set_program_name.
41412
41413 2009-01-19  Eric Blake  <ebb9@byu.net>
41414
41415         test-unistd: test previous patch
41416         * tests/test-unistd.c: Test *_FILENO macros.
41417
41418         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
41419         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41420         Guarantee a definition.
41421         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
41422         * modules/unistd-safer (Depends-on): Add dependency on unistd.
41423         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
41424         * lib/dup-safer.c (STDERR_FILENO): Likewise.
41425         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41426         Likewise.
41427         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
41428         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
41429         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41430         Likewise.
41431         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
41432         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
41433         (STDERR_FILENO): Likewise.
41434         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
41435         (STDERR_FILENO): Likewise.
41436         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
41437         (STDERR_FILENO): Likewise.
41438         Reported by Elbert Pol.
41439
41440 2009-01-19  Eric Blake  <ebb9@byu.net>
41441
41442         doc: mention more functions added in cygwin 1.7.0
41443         * doc/posix-functions/abort.texi (abort): Update wording related
41444         to cygwin.
41445         * doc/posix-functions/daylight.texi (daylight): Likewise.
41446         * doc/posix-functions/optarg.texi (optarg): Likewise.
41447         * doc/posix-functions/optarg.texi (opterr): Likewise.
41448         * doc/posix-functions/optarg.texi (optind): Likewise.
41449         * doc/posix-functions/optarg.texi (optopt): Likewise.
41450         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
41451         worked in 1.5.x, and was withdrawn in 1.7.
41452         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
41453         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
41454         cygwin versions.
41455         * doc/posix-functions/perror.texi (perror): Likewise.
41456         * doc/posix-functions/printf.texi (printf): Likewise.
41457         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
41458         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
41459         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
41460         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
41461         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41462         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41463         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41464         Likewise.
41465         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41466         Likewise.
41467         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41468         this function.
41469         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41470         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41471         Likewise.
41472         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41473         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41474         * doc/posix-functions/confstr.texi (confstr): Likewise.
41475         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41476         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41477         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41478         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41479         * doc/posix-functions/fputws.texi (fputws): Likewise.
41480         * doc/posix-functions/fwide.texi (fwide): Likewise.
41481         * doc/posix-functions/getwc.texi (getwc): Likewise.
41482         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41483         * doc/posix-functions/putwc.texi (putwc): Likewise.
41484         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41485         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41486         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41487         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41488         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41489         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41490         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41491         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41492         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41493         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41494         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41495
41496 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41497
41498         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41499         * lib/ioctl.c: Include <sys/ioctl.h>.
41500
41501 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41502
41503         * modules/getdate-tests (Depends-on): Add progname.
41504         * tests/test-getdate.c: Use progname module, to avoid link errors
41505         on non-glibc systems.
41506
41507 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41508
41509         * modules/filenamecat-tests (Depends-on): Add progname.
41510         * modules/fstrcmp-tests (Depends-on): Likewise.
41511
41512         * tests/test-filenamecat.c: Use progname module, to avoid link
41513         errors on non-glibc systems.
41514         * tests/test-fstrcmp.c: Likewise.
41515
41516 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41517
41518         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41519         * lib/gettimeofday.c: Move extern declaration out of function.
41520
41521 2009-01-18  Bruno Haible  <bruno@clisp.org>
41522
41523         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41524         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
41525         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
41526
41527 2009-01-18  Bruno Haible  <bruno@clisp.org>
41528
41529         * lib/strftime.c (MEMPCPY): Remove unused macro.
41530         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
41531
41532 2009-01-18  Martin Lambers  <marlam@marlam.de>
41533
41534         New module 'link'.
41535         * lib/unistd.in.h (link): New declaration.
41536         * lib/link.c: New file.
41537         * m4/link.m4: New file.
41538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
41539         HAVE_LINK.
41540         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
41541         * modules/link: New file.
41542         * doc/posix-functions/link.texi: Mention the new module.
41543
41544 2009-01-18  Bruno Haible  <bruno@clisp.org>
41545
41546         * tests/test-avltree_list.c (main): Call set_program_name.
41547         * tests/test-avltree_oset.c (main): Likewise.
41548         * tests/test-obstack-printf.c: Include progname.h.
41549         (main): Call set_program_name.
41550         * tests/test-quotearg.c: Include progname.h.
41551         (main): Call set_program_name.
41552         * tests/test-xmemdup0.c: Include progname.h.
41553         (main): Call set_program_name.
41554
41555 2009-01-18  Bruno Haible  <bruno@clisp.org>
41556
41557         New module 'alphasort'.
41558         * lib/dirent.in.h (alphasort): New declaration.
41559         * lib/alphasort.c: New file, from glibc with modifications.
41560         * m4/alphasort.m4: New file.
41561         * modules/alphasort: New file.
41562         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
41563         HAVE_ALPHASORT.
41564         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
41565         HAVE_ALPHASORT.
41566         * doc/posix-functions/alphasort.texi: Mention the new module and the
41567         portability problems.
41568
41569 2009-01-18  Bruno Haible  <bruno@clisp.org>
41570
41571         New module 'scandir'.
41572         * lib/dirent.in.h (scandir): New declaration.
41573         * lib/scandir.c: New file, from glibc with modifications.
41574         * m4/scandir.m4: New file.
41575         * modules/scandir: New file.
41576         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
41577         HAVE_SCANDIR.
41578         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
41579         HAVE_SCANDIR.
41580         * doc/posix-functions/scandir.texi: Mention the new module and the
41581         portability problems.
41582
41583 2009-01-17  Bruno Haible  <bruno@clisp.org>
41584
41585         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
41586         Update documentation.
41587         (func_remove_suffix): Escape all dots in the suffix. Update
41588         documentation.
41589         (func_filter_filelist): Update documentation.
41590         Reported by Ralf Wildenhues.
41591
41592 2009-01-17  Bruno Haible  <bruno@clisp.org>
41593
41594         * modules/dprintf-posix-tests: New file.
41595         * tests/test-dprintf-posix.sh: New file.
41596         * tests/test-dprintf-posix.c: New file.
41597
41598         New modules 'dprintf', 'dprintf-posix'.
41599         * lib/stdio.in.h (dprintf): New declaration.
41600         * lib/dprintf.c: New file.
41601         * m4/dprintf.m4: New file.
41602         * m4/dprintf-posix.m4: New file.
41603         * modules/dprintf: New file.
41604         * modules/dprintf-posix: New file.
41605         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
41606         HAVE_DPRINTF, REPLACE_DPRINTF.
41607         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
41608         HAVE_DPRINTF, REPLACE_DPRINTF.
41609         * doc/posix-functions/dprintf.texi: Mention the new modules.
41610
41611 2009-01-17  Bruno Haible  <bruno@clisp.org>
41612
41613         * modules/vdprintf-posix-tests: New file.
41614         * tests/test-vdprintf-posix.sh: New file.
41615         * tests/test-vdprintf-posix.c: New file.
41616
41617         New modules 'vdprintf', 'vdprintf-posix'.
41618         * lib/stdio.in.h (vdprintf): New declaration.
41619         * lib/vdprintf.c: New file.
41620         * m4/vdprintf.m4: New file.
41621         * m4/vdprintf-posix.m4: New file.
41622         * modules/vdprintf: New file.
41623         * modules/vdprintf-posix: New file.
41624         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
41625         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41626         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
41627         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41628         * doc/posix-functions/vdprintf.texi: Mention the new modules.
41629
41630 2009-01-17  Bruno Haible  <bruno@clisp.org>
41631
41632         Fix replacement of fopen on mingw.
41633         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
41634         mingw.
41635
41636 2009-01-17  Bruno Haible  <bruno@clisp.org>
41637
41638         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
41639         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
41640
41641 2009-01-17  Bruno Haible  <bruno@clisp.org>
41642
41643         Avoid test-fflush2.sh failure on mingw.
41644         * tests/test-fflush2.c: Include binary-io.h.
41645         (main): Put standard input into binary mode.
41646         * modules/fflush-tests (Depends-on): Add binary-io.
41647
41648 2009-01-17  Bruno Haible  <bruno@clisp.org>
41649
41650         * lib/wchar.in.h: In another particular situation, include only the
41651         system's <wchar.h> file.
41652         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
41653         Reported by Albert Chin-A-Young <china@thewrittenword.com>
41654         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
41655
41656 2009-01-17  Bruno Haible  <bruno@clisp.org>
41657
41658         Support for stripping executables in --enable-relocatable.
41659         * build-aux/install-reloc: Expect one more argument, or an environment
41660         variable RELOC_STRIP_PROG. If set, strip the destination program and
41661         its wrapper.
41662         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
41663         RELOC_STRIP_PROG.
41664         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
41665         to set RELOCATABLE_STRIP.
41666         * NEWS: Mention the new Makefile requirement.
41667
41668 2009-01-17  Bruno Haible  <bruno@clisp.org>
41669
41670         * build-aux/install-reloc: Remove debugging information left over by
41671         C compiler on MacOS X.
41672
41673 2009-01-17  Bruno Haible  <bruno@clisp.org>
41674
41675         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
41676         * lib/progreloc.c (find_executable): Fix type of pointer passed to
41677         _NSGetExecutablePath.
41678
41679 2009-01-16  Jim Meyering  <meyering@redhat.com>
41680
41681         strerror: avoid warnings about discarding "const"
41682         * lib/strerror.c (rpl_strerror): Instead of returning a const
41683         string from each and every "case", use a variable, and add a single
41684         cast after the switch.
41685
41686 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
41687
41688         * lib/arpa_inet.in.h: Add extern "C" block for C++.
41689
41690 2009-01-16  Bruno Haible  <bruno@clisp.org>
41691
41692         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
41693         array initializer syntax that also works in C++ mode.
41694         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41695
41696 2009-01-16  Jim Meyering  <meyering@redhat.com>
41697
41698         poll: suppress a warning
41699         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
41700         to ignore "...unsigned expression < 0 is always false" warnings.
41701
41702 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
41703
41704         poll: remove declarations of unused variables
41705         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
41706         sockbuf and optlen.
41707
41708 2009-01-15  Bruno Haible  <bruno@clisp.org>
41709
41710         Make fflush-after-ungetc POSIX compliant on BSD systems.
41711         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
41712         (clear_ungetc_buffer): Implement also for other systems.
41713         (rpl_fflush): On glibc systems, invoke
41714         clear_ungetc_buffer_preserving_position. Otherwise, invoke
41715         clear_ungetc_buffer after fetching the stream's position, not before.
41716
41717 2009-01-15  Bruno Haible  <bruno@clisp.org>
41718
41719         Make fflush-after-ungetc POSIX compliant on glibc systems.
41720         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
41721         after ungetc.
41722         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
41723         (rpl_fflush): On glibc systems, simply call the system's fflush
41724         function after clearing the ungetc buffer.
41725         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
41726         Instead, lseek only to the end of file, then use the system's fseeko
41727         for the rest. On glibc systems, reset the EOF indicator bit.
41728
41729 2009-01-15  Jim Meyering  <meyering@redhat.com>
41730
41731         openmp.m4: revert quote-adding change, for portability to older autoconf
41732         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
41733         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
41734         Simon Josefsson noticed the problem when using autoconf-2.61.
41735
41736 2009-01-15  Bruno Haible  <bruno@clisp.org>
41737
41738         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
41739         * tests/test-fflush2.c (ASSERT): Always fail.
41740         (main): Add two tests for fflush() after ungetc(), taking into account
41741         the Austin Group's clarification.
41742         Suggested by Eric Blake.
41743
41744 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
41745
41746         mktime.m4: remove K&R-style function prototypes
41747         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
41748         for the Sun C++ compiler.
41749
41750 2009-01-14  Bruno Haible  <bruno@clisp.org>
41751
41752         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
41753         while including <wchar.h>.
41754         * lib/wchar.in.h: In two particular situations on HP-UX, include only
41755         the system's <wchar.h> file.
41756         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41757
41758 2009-01-14  Bruno Haible  <bruno@clisp.org>
41759
41760         * m4/csharp.m4: Don't mention gettext on the serial number line.
41761         * m4/csharpexec.m4: Likewise.
41762         * m4/eaccess.m4: Likewise.
41763         * m4/javaexec.m4: Likewise.
41764         * m4/sig_atomic_t.m4: Likewise.
41765         * m4/tmpdir.m4: Likewise.
41766         * m4/intldir.m4: Bump gettext version.
41767         * m4/lib-ld.m4: Likewise.
41768
41769 2009-01-14  Bruno Haible  <bruno@clisp.org>
41770
41771         * lib/progname.c (set_program_name): Add more comments.
41772         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41773
41774 2009-01-14  Simon Josefsson  <simon@josefsson.org>
41775
41776         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
41777         were sys/stat.h does not define it.
41778
41779 2009-01-14  Jim Meyering  <meyering@redhat.com>
41780
41781         many *.m4 files: improve m4 quoting
41782         99% of this change was performed by running the following commands:
41783         git ls-files | grep '\.m4$' | xargs perl -pi \
41784           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
41785           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41786           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41787           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
41788         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
41789         The remainder were to add Copyright dates, increment serial numbers,
41790         undo some changes in comments, exclude m4/intl.m4, and add quotes
41791         around the "1" in ",1" where the unusual spacing prohibited the
41792         above regexps from doing the job.  For more details, see
41793         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
41794         * m4/acl.m4: Modified.
41795         * m4/afs.m4: Likewise.
41796         * m4/alloca.m4: Likewise.
41797         * m4/argp.m4: Likewise.
41798         * m4/argz.m4: Likewise.
41799         * m4/atexit.m4: Likewise.
41800         * m4/bison-i18n.m4: Likewise.
41801         * m4/bison.m4: Likewise.
41802         * m4/byteswap.m4: Likewise.
41803         * m4/c-stack.m4: Likewise.
41804         * m4/c-strtod.m4: Likewise.
41805         * m4/calloc.m4: Likewise.
41806         * m4/canonicalize-lgpl.m4: Likewise.
41807         * m4/chown.m4: Likewise.
41808         * m4/clock_time.m4: Likewise.
41809         * m4/codeset.m4: Likewise.
41810         * m4/copy-file.m4: Likewise.
41811         * m4/csharp.m4: Likewise.
41812         * m4/csharpcomp.m4: Likewise.
41813         * m4/csharpexec.m4: Likewise.
41814         * m4/d-ino.m4: Likewise.
41815         * m4/d-type.m4: Likewise.
41816         * m4/dirfd.m4: Likewise.
41817         * m4/double-slash-root.m4: Likewise.
41818         * m4/eaccess.m4: Likewise.
41819         * m4/eealloc.m4: Likewise.
41820         * m4/environ.m4: Likewise.
41821         * m4/errno_h.m4: Likewise.
41822         * m4/euidaccess.m4: Likewise.
41823         * m4/execute.m4: Likewise.
41824         * m4/fatal-signal.m4: Likewise.
41825         * m4/fchdir.m4: Likewise.
41826         * m4/fcntl_h.m4: Likewise.
41827         * m4/fileblocks.m4: Likewise.
41828         * m4/filenamecat.m4: Likewise.
41829         * m4/findprog.m4: Likewise.
41830         * m4/flexmember.m4: Likewise.
41831         * m4/fnmatch.m4: Likewise.
41832         * m4/fopen.m4: Likewise.
41833         * m4/fpending.m4: Likewise.
41834         * m4/fprintf-posix.m4: Likewise.
41835         * m4/free.m4: Likewise.
41836         * m4/frexp.m4: Likewise.
41837         * m4/frexpl.m4: Likewise.
41838         * m4/fsusage.m4: Likewise.
41839         * m4/ftruncate.m4: Likewise.
41840         * m4/gc-camellia.m4: Likewise.
41841         * m4/gc-random.m4: Likewise.
41842         * m4/gc.m4: Likewise.
41843         * m4/getaddrinfo.m4: Likewise.
41844         * m4/getcwd-abort-bug.m4: Likewise.
41845         * m4/getcwd-path-max.m4: Likewise.
41846         * m4/getdate.m4: Likewise.
41847         * m4/getdomainname.m4: Likewise.
41848         * m4/getgroups.m4: Likewise.
41849         * m4/gethostname.m4: Likewise.
41850         * m4/gethrxtime.m4: Likewise.
41851         * m4/getline.m4: Likewise.
41852         * m4/getloadavg.m4: Likewise.
41853         * m4/getndelim2.m4: Likewise.
41854         * m4/getpass.m4: Likewise.
41855         * m4/gettext.m4: Likewise.
41856         * m4/gettime.m4: Likewise.
41857         * m4/gettimeofday.m4: Likewise.
41858         * m4/gnulib-common.m4: Likewise.
41859         * m4/group-member.m4: Likewise.
41860         * m4/host-os.m4: Likewise.
41861         * m4/iconv.m4: Likewise.
41862         * m4/iconv_open.m4: Likewise.
41863         * m4/inet_ntop.m4: Likewise.
41864         * m4/inet_pton.m4: Likewise.
41865         * m4/inline.m4: Likewise.
41866         * m4/intldir.m4: Likewise.
41867         * m4/intlmacosx.m4: Likewise.
41868         * m4/intmax.m4: Likewise.
41869         * m4/intmax_t.m4: Likewise.
41870         * m4/inttypes.m4: Likewise.
41871         * m4/inttypes_h.m4: Likewise.
41872         * m4/inttypes-pri.m4: Likewise.
41873         * m4/isapipe.m4: Likewise.
41874         * m4/isnand.m4: Likewise.
41875         * m4/isnanf.m4: Likewise.
41876         * m4/isnanl.m4: Likewise.
41877         * m4/javacomp.m4: Likewise.
41878         * m4/javaexec.m4: Likewise.
41879         * m4/jm-winsz1.m4: Likewise.
41880         * m4/jm-winsz2.m4: Likewise.
41881         * m4/lchown.m4: Likewise.
41882         * m4/lcmessage.m4: Likewise.
41883         * m4/ldexpl.m4: Likewise.
41884         * m4/lib-ld.m4: Likewise.
41885         * m4/lib-link.m4: Likewise.
41886         * m4/libsigsegv.m4: Likewise.
41887         * m4/link-follow.m4: Likewise.
41888         * m4/localcharset.m4: Likewise.
41889         * m4/locale-fr.m4: Likewise.
41890         * m4/locale-ja.m4: Likewise.
41891         * m4/locale-tr.m4: Likewise.
41892         * m4/locale-zh.m4: Likewise.
41893         * m4/lock.m4: Likewise.
41894         * m4/longlong.m4: Likewise.
41895         * m4/ls-mntd-fs.m4: Likewise.
41896         * m4/lstat.m4: Likewise.
41897         * m4/malloc.m4: Likewise.
41898         * m4/mathl.m4: Likewise.
41899         * m4/mbrtowc.m4: Likewise.
41900         * m4/mbstate_t.m4: Likewise.
41901         * m4/mbswidth.m4: Likewise.
41902         * m4/memchr.m4: Likewise.
41903         * m4/memcmp.m4: Likewise.
41904         * m4/memcpy.m4: Likewise.
41905         * m4/memmem.m4: Likewise.
41906         * m4/memmove.m4: Likewise.
41907         * m4/mempcpy.m4: Likewise.
41908         * m4/memrchr.m4: Likewise.
41909         * m4/memset.m4: Likewise.
41910         * m4/minmax.m4: Likewise.
41911         * m4/mkdir-slash.m4: Likewise.
41912         * m4/mkdtemp.m4: Likewise.
41913         * m4/mktime.m4: Likewise.
41914         * m4/mmap-anon.m4: Likewise.
41915         * m4/mountlist.m4: Likewise.
41916         * m4/nanosleep.m4: Likewise.
41917         * m4/nls.m4: Likewise.
41918         * m4/nocrash.m4: Likewise.
41919         * m4/open.m4: Likewise.
41920         * m4/openat.m4: Likewise.
41921         * m4/openmp.m4: Likewise.
41922         * m4/pathmax.m4: Likewise.
41923         * m4/perl.m4: Likewise.
41924         * m4/physmem.m4: Likewise.
41925         * m4/pipe.m4: Likewise.
41926         * m4/po.m4: Likewise.
41927         * m4/poll.m4: Likewise.
41928         * m4/posixtm.m4: Likewise.
41929         * m4/posixver.m4: Likewise.
41930         * m4/printf-frexp.m4: Likewise.
41931         * m4/printf-frexpl.m4: Likewise.
41932         * m4/printf-posix.m4: Likewise.
41933         * m4/printf-posix-rpl.m4: Likewise.
41934         * m4/printf.m4: Likewise.
41935         * m4/progtest.m4: Likewise.
41936         * m4/putenv.m4: Likewise.
41937         * m4/readline.m4: Likewise.
41938         * m4/readlink.m4: Likewise.
41939         * m4/readutmp.m4: Likewise.
41940         * m4/realloc.m4: Likewise.
41941         * m4/regex.m4: Likewise.
41942         * m4/relocatable.m4: Likewise.
41943         * m4/relocatable-lib.m4: Likewise.
41944         * m4/rename-dest-slash.m4: Likewise.
41945         * m4/rename.m4: Likewise.
41946         * m4/rmdir-errno.m4: Likewise.
41947         * m4/rmdir.m4: Likewise.
41948         * m4/roundf.m4: Likewise.
41949         * m4/roundl.m4: Likewise.
41950         * m4/rpmatch.m4: Likewise.
41951         * m4/save-cwd.m4: Likewise.
41952         * m4/selinux-selinux-h.m4: Likewise.
41953         * m4/setenv.m4: Likewise.
41954         * m4/settime.m4: Likewise.
41955         * m4/sig2str.m4: Likewise.
41956         * m4/sig_atomic_t.m4: Likewise.
41957         * m4/signalblocking.m4: Likewise.
41958         * m4/signbit.m4: Likewise.
41959         * m4/sigpipe.m4: Likewise.
41960         * m4/sockets.m4: Likewise.
41961         * m4/sockpfaf.m4: Likewise.
41962         * m4/st_dm_mode.m4: Likewise.
41963         * m4/stat-time.m4: Likewise.
41964         * m4/stdbool.m4: Likewise.
41965         * m4/stdint.m4: Likewise.
41966         * m4/stdint_h.m4: Likewise.
41967         * m4/stpcpy.m4: Likewise.
41968         * m4/stpncpy.m4: Likewise.
41969         * m4/strcase.m4: Likewise.
41970         * m4/strchrnul.m4: Likewise.
41971         * m4/strcspn.m4: Likewise.
41972         * m4/strdup.m4: Likewise.
41973         * m4/strftime.m4: Likewise.
41974         * m4/strndup.m4: Likewise.
41975         * m4/strnlen.m4: Likewise.
41976         * m4/strpbrk.m4: Likewise.
41977         * m4/strptime.m4: Likewise.
41978         * m4/strsep.m4: Likewise.
41979         * m4/strtod.m4: Likewise.
41980         * m4/strtoimax.m4: Likewise.
41981         * m4/strtok_r.m4: Likewise.
41982         * m4/strtol.m4: Likewise.
41983         * m4/strtoll.m4: Likewise.
41984         * m4/strtoul.m4: Likewise.
41985         * m4/strtoull.m4: Likewise.
41986         * m4/strtoumax.m4: Likewise.
41987         * m4/strverscmp.m4: Likewise.
41988         * m4/threadlib.m4: Likewise.
41989         * m4/timegm.m4: Likewise.
41990         * m4/tm_gmtoff.m4: Likewise.
41991         * m4/tmpdir.m4: Likewise.
41992         * m4/tmpfile.m4: Likewise.
41993         * m4/tzset.m4: Likewise.
41994         * m4/uintmax_t.m4: Likewise.
41995         * m4/unlinkdir.m4: Likewise.
41996         * m4/unlocked-io.m4: Likewise.
41997         * m4/uptime.m4: Likewise.
41998         * m4/userspec.m4: Likewise.
41999         * m4/utimbuf.m4: Likewise.
42000         * m4/utime.m4: Likewise.
42001         * m4/utimes-null.m4: Likewise.
42002         * m4/utimes.m4: Likewise.
42003         * m4/vararrays.m4: Likewise.
42004         * m4/vasnprintf.m4: Likewise.
42005         * m4/vfprintf-posix.m4: Likewise.
42006         * m4/vprintf-posix.m4: Likewise.
42007         * m4/wait-process.m4: Likewise.
42008         * m4/wchar_t.m4: Likewise.
42009         * m4/wint_t.m4: Likewise.
42010         * m4/write-any-file.m4: Likewise.
42011         * m4/yield.m4: Likewise.
42012
42013 2009-01-13  Bruno Haible  <bruno@clisp.org>
42014
42015         Avoid test-copy-file.sh failures when ACL support insufficient.
42016         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
42017         TESTS_ENVIRONMENT.
42018         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
42019         Reported by Jim Meyering.
42020
42021 2009-01-13  Bruno Haible  <bruno@clisp.org>
42022
42023         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
42024         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
42025         * modules/unistdio/u8-printf-parse (Files): Likewise.
42026         * modules/unistdio/u32-printf-parse (Files): Likewise.
42027         * modules/unistdio/ulc-printf-parse (Files): Likewise.
42028
42029 2009-01-13  Simon Josefsson  <simon@josefsson.org>
42030
42031         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
42032         and m4/inttypes_h.m4 too.
42033
42034 2009-01-12  Eric Blake  <ebb9@byu.net>
42035
42036         tests: IRIX 6.2 cc can't compile -0.0 into .data
42037         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
42038         rather than at compile-time.
42039         * tests/test-floorl.c (minus_zero): Likewise.
42040         * tests/test-frexpl.c (minus_zero): Likewise.
42041         * tests/test-isnan.c (minus_zerol): Likewise.
42042         * tests/test-isnanl.h (minus_zero): Likewise.
42043         * tests/test-ldexpl.c (minus_zero): Likewise.
42044         * tests/test-roundl.c (minus_zero): Likewise.
42045         * tests/test-signbit.c (minus_zerol): Likewise.
42046         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42047         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42048         * tests/test-truncl.c (minus_zero): Likewise.
42049         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42050         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42051         Reported by Tom G. Christensen and Nelson H. F. Beebe.
42052
42053 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42054
42055         regex: fix glibc bug 9697
42056         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
42057         handling.
42058
42059 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42060
42061         regex: fix glibc bug 697
42062         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
42063         being NULL also if there are no backreferences.
42064
42065 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42066
42067         regex: merge glibc changes
42068         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
42069         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
42070         re_string_skip_chars, re_string_reconstruct): Likewise.
42071         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
42072
42073 2009-01-07  Jim Meyering  <meyering@redhat.com>
42074
42075         poll: filter through cppi
42076         * lib/poll.c: Indent cpp directives to reflect nesting.
42077
42078 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
42079
42080         poll: don't return uninitialized
42081         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
42082
42083 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
42084
42085         avoid compile failure on AIX 6.1
42086         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
42087         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
42088
42089 2009-01-04  Jim Meyering  <meyering@redhat.com>
42090
42091         remove duplicate inclusion of <stdio.h>
42092         * tests/test-fprintf-posix.c: Likewise.
42093         * tests/test-printf-posix.c: Likewise.
42094         * tests/test-snprintf-posix.c: Likewise.
42095         * tests/test-sprintf-posix.c: Likewise.
42096         * tests/test-vasprintf-posix.c: Likewise.
42097         * tests/test-vfprintf-posix.c: Likewise.
42098         * tests/test-vprintf-posix.c: Likewise.
42099         * tests/test-vsnprintf-posix.c: Likewise.
42100         * tests/test-vsprintf-posix.c: Likewise.
42101
42102 2009-01-03  Jim Meyering  <meyering@redhat.com>
42103
42104         gnulib-tool: fix sed-based filtering
42105         * gnulib-tool (func_filter_filelist): Remove extra backslash
42106         in sed_fff_filter definition.
42107
42108 2009-01-02  Jim Meyering  <meyering@redhat.com>
42109
42110         strftime: avoid compilation failure on Solaris 2.6
42111         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
42112         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
42113         Don't #define mbrlen or mbsinit, since now they're guaranteed to
42114         be available.  Reported by Tom G. Christensen.  Details in
42115         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
42116
42117 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42118             Bruno Haible  <bruno@clisp.org>
42119
42120         Speed up gnulib-tool by doing more string processing through shell
42121         built-ins.
42122         * gnulib-tool (fast_func_append): New variable.
42123         (func_remove_prefix, func_remove_suffix): New functions.
42124         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
42125         (func_filter_filelist): New function.
42126         (func_get_dependencies): Use func_remove_suffix instead of sed.
42127         (func_get_automake_snippet): Use func_filter_filelist instead of a
42128         subshell and sed invocation.
42129
42130 2009-01-01  Bruno Haible  <bruno@clisp.org>
42131
42132         Fix a security bug.
42133         * gnulib-tool (func_import, import, update): Don't allow the characters
42134         '"', '$', '`', '\' in macro arguments that become part of commands that
42135         are evaluated.
42136
42137 2009-01-01  Bruno Haible  <bruno@clisp.org>
42138
42139         * gnulib-tool (func_reset_sigpipe): Add more comments.
42140
42141 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42142
42143         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
42144         func_emit_tests_Makefile_am, func_import): Abort loops early if we
42145         already know the answer.
42146
42147 2009-01-01  Jim Meyering  <meyering@redhat.com>
42148
42149         * lib/version-etc.c (version_etc_va): Update copyright year.
42150
42151 2008-12-30  Bruno Haible  <bruno@clisp.org>
42152
42153         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
42154         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
42155         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
42156
42157 2008-12-29  Eric Blake  <ebb9@byu.net>
42158
42159         multiarch: avoid autoconf AC_REQUIRE bug
42160         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
42161         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
42162         2.63 and older.
42163         Reported by Bruno Haible, and analyzed in
42164         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
42165
42166 2008-12-29  Bruno Haible  <bruno@clisp.org>
42167
42168         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
42169         files in subdirectories correctly.
42170         Reported by Ralf Wildenhues.
42171
42172 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42173
42174         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
42175         rather than 'join FILE -', for Solaris join.
42176
42177 2008-12-29  Bruno Haible  <bruno@clisp.org>
42178
42179         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
42180         quoting.
42181         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
42182         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
42183         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
42184         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
42185         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
42186         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
42187         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
42188         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
42189         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42190         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
42191         * m4/nls.m4 (AM_NLS): Likewise.
42192         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
42193         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
42194         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
42195         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
42196         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
42197         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
42198         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
42199         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
42200         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
42201         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
42202         * m4/xsize.m4 (gl_XSIZE): Likewise.
42203         Suggested by Jim Meyering.
42204
42205 2008-11-17  Bruce Korb  <bkorb@gnu.org>
42206
42207         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
42208         * lib/parse-duration.c: use a switch instead of cascading if's.
42209
42210 2008-12-29  Eric Blake  <ebb9@byu.net>
42211
42212         wchar.h: supply WEOF on Irix 5.3
42213         * lib/wchar.in.h (wint_t): Also supply WEOF.
42214         * lib/wctype.in.h (wint_t): Likewise.
42215         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
42216         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
42217         Reported by Tom G. Christensen.
42218
42219 2008-12-26  Bruno Haible  <bruno@clisp.org>
42220
42221         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
42222         i486, i586, i686.
42223
42224 2008-12-26  Bruno Haible  <bruno@clisp.org>
42225
42226         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
42227
42228 2008-12-26  Bruno Haible  <bruno@clisp.org>
42229
42230         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
42231         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
42232         not __STDC_CONSTANT_MACROS.
42233         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42234
42235 2008-12-25  Bruno Haible  <bruno@clisp.org>
42236
42237         Add support for universal builds to vasnprintf.
42238         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
42239         universal builds, guess no.
42240         * modules/vasnprintf-posix (Depends-on): Add multiarch.
42241         * modules/vasprintf-posix (Depends-on): Likewise.
42242         * modules/fprintf-posix (Depends-on): Likewise.
42243         * modules/vfprintf-posix (Depends-on): Likewise.
42244         * modules/snprintf-posix (Depends-on): Likewise.
42245         * modules/vsnprintf-posix (Depends-on): Likewise.
42246         * modules/sprintf-posix (Depends-on): Likewise.
42247         * modules/vsprintf-posix (Depends-on): Likewise.
42248         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42249         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42250         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42251         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42252         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42253         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42254         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42255
42256         Add support for universal builds to <inttypes.h>.
42257         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
42258         _SCNu64_PREFIX): In Apple
42259         universal builds, define directly, using _LP64.
42260         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
42261         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
42262         * modules/inttypes (Depends-on): Add multiarch.
42263         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42264
42265         Add support for universal builds to <stdint.h>.
42266         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
42267         universal builds, define directly, using _LP64.
42268         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
42269         Apple universal builds, don't test for the size and suffix of ptrdiff_t
42270         and size_t.
42271         * modules/stdint (Depends-on): Add multiarch.
42272         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42273
42274         New module 'multiarch'.
42275         * modules/multiarch: New file.
42276         * m4/multiarch.m4: New file.
42277
42278 2008-12-25  Bruno Haible  <bruno@clisp.org>
42279
42280         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
42281
42282 2008-12-25  Bruno Haible  <bruno@clisp.org>
42283
42284         * modules/btowc (License): Relicense under LGPLv2+.
42285         * modules/mbsinit (License): Likewise.
42286         * modules/mbrtowc (License): Likewise.
42287         * modules/wcrtomb (License): Likewise.
42288         * modules/streq (License): Likewise.
42289         Reported by David Lutterkort <lutter@redhat.com>.
42290
42291 2008-12-23  Bruno Haible  <bruno@clisp.org>
42292
42293         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
42294
42295 2008-12-23  Bruno Haible  <bruno@clisp.org>
42296
42297         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
42298         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
42299         GETADDRINFO_LIB, not in LIBS.
42300         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
42301         * modules/canon-host (Link): Likewise.
42302         * NEWS: Mention the change.
42303         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
42304         GETADDRINFO_LIB.
42305
42306 2008-12-22  Bruno Haible  <bruno@clisp.org>
42307
42308         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
42309         * doc/posix-functions/iswalpha_l.texi: Likewise.
42310         * doc/posix-functions/iswblank_l.texi: Likewise.
42311         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42312         * doc/posix-functions/iswctype_l.texi: Likewise.
42313         * doc/posix-functions/iswdigit_l.texi: Likewise.
42314         * doc/posix-functions/iswgraph_l.texi: Likewise.
42315         * doc/posix-functions/iswlower_l.texi: Likewise.
42316         * doc/posix-functions/iswprint_l.texi: Likewise.
42317         * doc/posix-functions/iswpunct_l.texi: Likewise.
42318         * doc/posix-functions/iswspace_l.texi: Likewise.
42319         * doc/posix-functions/iswupper_l.texi: Likewise.
42320         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42321         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
42322         * doc/posix-functions/open_wmemstream.texi: Likewise.
42323         * doc/posix-functions/swscanf.texi: Likewise.
42324         * doc/posix-functions/towctrans_l.texi: Likewise.
42325         * doc/posix-functions/towlower.texi: Likewise.
42326         * doc/posix-functions/towlower_l.texi: Likewise.
42327         * doc/posix-functions/towupper.texi: Likewise.
42328         * doc/posix-functions/towupper_l.texi: Likewise.
42329         * doc/posix-functions/vfwprintf.texi: Likewise.
42330         * doc/posix-functions/vfwscanf.texi: Likewise.
42331         * doc/posix-functions/vswscanf.texi: Likewise.
42332         * doc/posix-functions/vwprintf.texi: Likewise.
42333         * doc/posix-functions/vwscanf.texi: Likewise.
42334         * doc/posix-functions/wcpcpy.texi: Likewise.
42335         * doc/posix-functions/wcpncpy.texi: Likewise.
42336         * doc/posix-functions/wcscasecmp.texi: Likewise.
42337         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
42338         * doc/posix-functions/wcscoll_l.texi: Likewise.
42339         * doc/posix-functions/wcsdup.texi: Likewise.
42340         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42341         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
42342         * doc/posix-functions/wcsnlen.texi: Likewise.
42343         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42344         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42345         * doc/posix-functions/wctrans_l.texi: Likewise.
42346         * doc/posix-functions/wctype_l.texi: Likewise.
42347         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
42348         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
42349         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
42350         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
42351         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
42352         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
42353         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
42354         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
42355         * doc/glibc-functions/wcschrnul.texi: Likewise.
42356         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42357         * doc/glibc-functions/wcstod_l.texi: Likewise.
42358         * doc/glibc-functions/wcstof_l.texi: Likewise.
42359         * doc/glibc-functions/wcstol_l.texi: Likewise.
42360         * doc/glibc-functions/wcstold_l.texi: Likewise.
42361         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42362         * doc/glibc-functions/wcstoq.texi: Likewise.
42363         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42364         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42365         * doc/glibc-functions/wcstouq.texi: Likewise.
42366         * doc/glibc-functions/wmempcpy.texi: Likewise.
42367
42368 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
42369             Eric Blake  <ebb9@byu.net>
42370             Paolo Bonzini  <bonzini@gnu.org>
42371             Bruno Haible  <bruno@clisp.org>
42372
42373         Make c-stack work on Haiku.
42374         * lib/c-stack.c (SA_ONSTACK): Define fallback.
42375         (c_stack_action): Use SA_ONSTACK flag.
42376
42377 2008-12-22  Bruno Haible  <bruno@clisp.org>
42378
42379         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
42380
42381 2008-12-22  Bruno Haible  <bruno@clisp.org>
42382
42383         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
42384         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
42385         being overridden.
42386         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
42387         New macros.
42388         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
42389         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
42390         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
42391         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
42392
42393 2008-12-22  Bruno Haible  <bruno@clisp.org>
42394
42395         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
42396         from test code.
42397
42398 2008-12-22  Eric Blake  <ebb9@byu.net>
42399
42400         Avoid gcc warnings on cygwin.
42401         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
42402         Avoid unused variable.
42403         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
42404         Likewise.
42405
42406 2008-12-22  Bruno Haible  <bruno@clisp.org>
42407
42408         Remove HAVE_MBRTOWC conditionals.
42409         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
42410         (mbscasecmp): Assume mbrtowc function.
42411         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
42412         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
42413         * lib/mbschr.c: Include mbuiter.h unconditionally.
42414         (mbschr): Assume mbrtowc function.
42415         * lib/mbscspn.c: Include mbuiter.h unconditionally.
42416         (mbscspn): Assume mbrtowc function.
42417         * lib/mbslen.c: Include mbuiter.h unconditionally.
42418         (mbslen): Assume mbrtowc function.
42419         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
42420         (mbsncasecmp): Assume mbrtowc function.
42421         * lib/mbsnlen.c: Include mbiter.h unconditionally.
42422         (mbsnlen): Assume mbrtowc function.
42423         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
42424         (mbspbrk): Assume mbrtowc function.
42425         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
42426         (mbspcasecmp): Assume mbrtowc function.
42427         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
42428         (mbsrchr): Assume mbrtowc function.
42429         * lib/mbssep.c: Include mbuiter.h unconditionally.
42430         (mbssep): Assume mbrtowc function.
42431         * lib/mbsspn.c: Include mbuiter.h unconditionally.
42432         (mbsspn): Assume mbrtowc function.
42433         * lib/mbsstr.c: Include mbuiter.h unconditionally.
42434         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
42435         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
42436         (mbstok_r): Assume mbrtowc function.
42437         * lib/propername.c: Include mbuiter.h unconditionally.
42438         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
42439         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
42440         (trim2): Assume mbrtowc function.
42441         * lib/mbswidth.c (mbsinit): Remove fallback definition.
42442         (mbsnwidth): Assume mbrtowc function.
42443         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
42444         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
42445         fallback definitions.
42446         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
42447
42448 2008-12-22  Bruno Haible  <bruno@clisp.org>
42449
42450         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
42451
42452 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
42453
42454         * modules/regex: Request emulations for the mb*/wc* functions we need.
42455         * m4/regex.m4: Don't look for those functions here.
42456         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
42457
42458 2008-12-22  Bruno Haible  <bruno@clisp.org>
42459
42460         * modules/fnmatch (Depends-on): Remove duplicated dependency.
42461
42462 2008-12-21  Bruno Haible  <bruno@clisp.org>
42463
42464         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42465         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42466         (Include): Remove conditionalization.
42467         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42468         (Include): Remove conditionalization.
42469         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42470         (Include): Remove conditionalization.
42471         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42472         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42473         * NEWS: Mention the change.
42474         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42475         via Sergey Poznyakoff <gray@gnu.org.ua>.
42476
42477 2008-12-21  Bruno Haible  <bruno@clisp.org>
42478
42479         * MODULES.html.sh (Extended multibyte and wide character utilities
42480         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42481         wcrtomb, wcsrtombs.
42482         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42483         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42484         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42485         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42486
42487 2008-12-21  Bruno Haible  <bruno@clisp.org>
42488
42489         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42490
42491 2008-12-21  Bruno Haible  <bruno@clisp.org>
42492
42493         * modules/wcsnrtombs-tests: New file.
42494         * tests/test-wcsnrtombs1.sh: New file.
42495         * tests/test-wcsnrtombs2.sh: New file.
42496         * tests/test-wcsnrtombs3.sh: New file.
42497         * tests/test-wcsnrtombs4.sh: New file.
42498         * tests/test-wcsnrtombs.c: New file.
42499
42500         New module 'wcsnrtombs'.
42501         * lib/wchar.in.h (wcsnrtombs): New declaration.
42502         * lib/wcsnrtombs.c: New file.
42503         * lib/wcsrtombs-state.c: New file.
42504         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42505         (internal_state): Remove variable.
42506         * m4/wcsnrtombs.m4: New file.
42507         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42508         compilation units.
42509         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42510         HAVE_WCSNRTOMBS.
42511         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42512         HAVE_WCSNRTOMBS.
42513         * modules/wcsnrtombs: New file.
42514         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42515         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42516
42517 2008-12-21  Bruno Haible  <bruno@clisp.org>
42518
42519         * modules/wcsrtombs-tests: New file.
42520         * tests/test-wcsrtombs1.sh: New file.
42521         * tests/test-wcsrtombs2.sh: New file.
42522         * tests/test-wcsrtombs3.sh: New file.
42523         * tests/test-wcsrtombs4.sh: New file.
42524         * tests/test-wcsrtombs.c: New file.
42525
42526         New module 'wcsrtombs'.
42527         * lib/wchar.in.h (wcsrtombs): New declaration.
42528         * lib/wcsrtombs.c: New file.
42529         * m4/wcsrtombs.m4: New file.
42530         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
42531         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42532         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
42533         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42534         * modules/wcsrtombs: New file.
42535         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
42536         bugs.
42537
42538 2008-12-21  Bruno Haible  <bruno@clisp.org>
42539
42540         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
42541         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
42542         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
42543         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
42544         if not correct.
42545         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
42546         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
42547         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42548         m4/locale-zh.m4, m4/codeset.m4.
42549         * doc/posix-functions/wcrtomb.texi: Document the bug.
42550
42551 2008-12-21  Bruno Haible  <bruno@clisp.org>
42552
42553         Work around a btowc() bug on IRIX 6.5.
42554         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
42555         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
42556         REPLACE_WTOBC if not.
42557         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
42558         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
42559         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
42560
42561 2008-12-21  Bruno Haible  <bruno@clisp.org>
42562
42563         * modules/wcrtomb-tests: New file.
42564         * tests/test-wcrtomb.sh: New file.
42565         * tests/test-wcrtomb.c: New file.
42566
42567         New module 'wcrtomb'.
42568         * lib/wchar.in.h (wcrtomb): New declaration.
42569         * lib/wcrtomb.c: New file.
42570         * m4/wcrtomb.m4: New file.
42571         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
42572         HAVE_WCRTOMB.
42573         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
42574         HAVE_WCRTOMB.
42575         * modules/wcrtomb: New file.
42576         * doc/posix-functions/wcrtomb.texi: Mention the new module.
42577
42578 2008-12-21  Bruno Haible  <bruno@clisp.org>
42579
42580         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
42581         * modules/mbsrtowcs (Files): Likewise.
42582         * modules/wctob (Files): Likewise.
42583         * modules/c-strcase-tests (Files): Likewise.
42584         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
42585         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
42586         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
42587         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
42588         * modules/vasnprintf-posix-tests (Files): Likewise.
42589
42590 2008-12-21  William Pursell  <bill.pursell@gmail.com>
42591
42592         gitlog-to-changelog: pass all command-line arguments to git-log
42593         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
42594         it is sometimes convenient to filter the commits in various ways.
42595         gitlog-to-changelog only allows --since to specify a start date,
42596         but git-log itself supports many other filtering mechanisms.
42597         At the moment, I want to filter by branch name.  Rather than
42598         adding a --branch option to gitlog-to-changelog, it seems more
42599         flexible to simply pass all options directly to git-log and let
42600         git do the work.  Notice that this effectively makes --since a
42601         redundant option for gitlog-to-changelog, but removing it would
42602         require current usage to change since calls would then require
42603         an additional '--'.
42604
42605 2008-12-21  Bruno Haible  <bruno@clisp.org>
42606
42607         * modules/mbsnrtowcs-tests: New file.
42608         * tests/test-mbsnrtowcs1.sh: New file.
42609         * tests/test-mbsnrtowcs2.sh: New file.
42610         * tests/test-mbsnrtowcs3.sh: New file.
42611         * tests/test-mbsnrtowcs4.sh: New file.
42612         * tests/test-mbsnrtowcs.c: New file.
42613
42614         New module 'mbsnrtowcs'.
42615         * lib/wchar.in.h (mbsnrtowcs): New declaration.
42616         * lib/mbsnrtowcs.c: New file.
42617         * lib/mbsrtowcs-state.c: New file.
42618         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
42619         (internal_state): Remove variable.
42620         * m4/mbsnrtowcs.m4: New file.
42621         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
42622         compilation units.
42623         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
42624         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42625         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
42626         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42627         * modules/mbsnrtowcs: New file.
42628         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
42629         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
42630         portability problem.
42631
42632 2008-12-21  Bruno Haible  <bruno@clisp.org>
42633
42634         Work around mbsrtowcs bug.
42635         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
42636         (gl_FUNC_MBSRTOWCS): Invoke it.
42637         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42638         m4/locale-zh.m4.
42639         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
42640
42641 2008-12-21  Bruno Haible  <bruno@clisp.org>
42642
42643         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
42644
42645 2008-12-21  Bruno Haible  <bruno@clisp.org>
42646
42647         Update doc for AIX.
42648         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
42649         16-bit wchar_t type.
42650         * doc/posix-functions/btowc.texi: Likewise.
42651         * doc/posix-functions/fgetwc.texi: Likewise.
42652         * doc/posix-functions/fgetws.texi: Likewise.
42653         * doc/posix-functions/fputwc.texi: Likewise.
42654         * doc/posix-functions/fputws.texi: Likewise.
42655         * doc/posix-functions/fwide.texi: Likewise.
42656         * doc/posix-functions/fwprintf.texi: Likewise.
42657         * doc/posix-functions/fwscanf.texi: Likewise.
42658         * doc/posix-functions/getwchar.texi: Likewise.
42659         * doc/posix-functions/getwc.texi: Likewise.
42660         * doc/posix-functions/iswalnum.texi: Likewise.
42661         * doc/posix-functions/iswalpha.texi: Likewise.
42662         * doc/posix-functions/iswblank.texi: Likewise.
42663         * doc/posix-functions/iswcntrl.texi: Likewise.
42664         * doc/posix-functions/iswctype.texi: Likewise.
42665         * doc/posix-functions/iswdigit.texi: Likewise.
42666         * doc/posix-functions/iswgraph.texi: Likewise.
42667         * doc/posix-functions/iswlower.texi: Likewise.
42668         * doc/posix-functions/iswprint.texi: Likewise.
42669         * doc/posix-functions/iswpunct.texi: Likewise.
42670         * doc/posix-functions/iswspace.texi: Likewise.
42671         * doc/posix-functions/iswupper.texi: Likewise.
42672         * doc/posix-functions/iswxdigit.texi: Likewise.
42673         * doc/posix-functions/mbrtowc.texi: Likewise.
42674         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42675         * doc/posix-functions/mbstowcs.texi: Likewise.
42676         * doc/posix-functions/mbtowc.texi: Likewise.
42677         * doc/posix-functions/putwchar.texi: Likewise.
42678         * doc/posix-functions/putwc.texi: Likewise.
42679         * doc/posix-functions/swprintf.texi: Likewise.
42680         * doc/posix-functions/tolower.texi: Likewise.
42681         * doc/posix-functions/toupper.texi: Likewise.
42682         * doc/posix-functions/towctrans.texi: Likewise.
42683         * doc/posix-functions/ungetwc.texi: Likewise.
42684         * doc/posix-functions/vswprintf.texi: Likewise.
42685         * doc/posix-functions/wcrtomb.texi: Likewise.
42686         * doc/posix-functions/wcscat.texi: Likewise.
42687         * doc/posix-functions/wcschr.texi: Likewise.
42688         * doc/posix-functions/wcscmp.texi: Likewise.
42689         * doc/posix-functions/wcscoll.texi: Likewise.
42690         * doc/posix-functions/wcscpy.texi: Likewise.
42691         * doc/posix-functions/wcscspn.texi: Likewise.
42692         * doc/posix-functions/wcsftime.texi: Likewise.
42693         * doc/posix-functions/wcslen.texi: Likewise.
42694         * doc/posix-functions/wcsncat.texi: Likewise.
42695         * doc/posix-functions/wcsncmp.texi: Likewise.
42696         * doc/posix-functions/wcsncpy.texi: Likewise.
42697         * doc/posix-functions/wcspbrk.texi: Likewise.
42698         * doc/posix-functions/wcsrchr.texi: Likewise.
42699         * doc/posix-functions/wcsrtombs.texi: Likewise.
42700         * doc/posix-functions/wcsspn.texi: Likewise.
42701         * doc/posix-functions/wcsstr.texi: Likewise.
42702         * doc/posix-functions/wcstod.texi: Likewise.
42703         * doc/posix-functions/wcstof.texi: Likewise.
42704         * doc/posix-functions/wcstoimax.texi: Likewise.
42705         * doc/posix-functions/wcstok.texi: Likewise.
42706         * doc/posix-functions/wcstold.texi: Likewise.
42707         * doc/posix-functions/wcstoll.texi: Likewise.
42708         * doc/posix-functions/wcstol.texi: Likewise.
42709         * doc/posix-functions/wcstombs.texi: Likewise.
42710         * doc/posix-functions/wcstoull.texi: Likewise.
42711         * doc/posix-functions/wcstoul.texi: Likewise.
42712         * doc/posix-functions/wcstoumax.texi: Likewise.
42713         * doc/posix-functions/wcswidth.texi: Likewise.
42714         * doc/posix-functions/wcsxfrm.texi: Likewise.
42715         * doc/posix-functions/wctob.texi: Likewise.
42716         * doc/posix-functions/wctomb.texi: Likewise.
42717         * doc/posix-functions/wctrans.texi: Likewise.
42718         * doc/posix-functions/wctype.texi: Likewise.
42719         * doc/posix-functions/wcwidth.texi: Likewise.
42720         * doc/posix-functions/wmemchr.texi: Likewise.
42721         * doc/posix-functions/wmemcmp.texi: Likewise.
42722         * doc/posix-functions/wmemcpy.texi: Likewise.
42723         * doc/posix-functions/wmemmove.texi: Likewise.
42724         * doc/posix-functions/wmemset.texi: Likewise.
42725         * doc/posix-functions/wprintf.texi: Likewise.
42726         * doc/posix-functions/wscanf.texi: Likewise.
42727
42728 2008-12-21  Bruno Haible  <bruno@clisp.org>
42729
42730         Update doc for HP-UX 11.11.
42731         * doc/posix-functions/btowc.texi: Clarify that the function is missing
42732         in HP-UX version 11.00, not in all versions of HP-UX 11.
42733         * doc/posix-functions/fwide.texi: Likewise.
42734         * doc/posix-functions/fwprintf.texi: Likewise.
42735         * doc/posix-functions/fwscanf.texi: Likewise.
42736         * doc/posix-functions/inet_ntop.texi: Likewise.
42737         * doc/posix-functions/inet_pton.texi: Likewise.
42738         * doc/posix-functions/mbrlen.texi: Likewise.
42739         * doc/posix-functions/mbrtowc.texi: Likewise.
42740         * doc/posix-functions/mbsinit.texi: Likewise.
42741         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42742         * doc/posix-functions/swprintf.texi: Likewise.
42743         * doc/posix-functions/swscanf.texi: Likewise.
42744         * doc/posix-functions/towctrans.texi: Likewise.
42745         * doc/posix-functions/vfwprintf.texi: Likewise.
42746         * doc/posix-functions/vswprintf.texi: Likewise.
42747         * doc/posix-functions/vwprintf.texi: Likewise.
42748         * doc/posix-functions/wcrtomb.texi: Likewise.
42749         * doc/posix-functions/wcsrtombs.texi: Likewise.
42750         * doc/posix-functions/wcsstr.texi: Likewise.
42751         * doc/posix-functions/wctob.texi: Likewise.
42752         * doc/posix-functions/wctrans.texi: Likewise.
42753         * doc/posix-functions/wmemchr.texi: Likewise.
42754         * doc/posix-functions/wmemcmp.texi: Likewise.
42755         * doc/posix-functions/wmemcpy.texi: Likewise.
42756         * doc/posix-functions/wmemmove.texi: Likewise.
42757         * doc/posix-functions/wmemset.texi: Likewise.
42758         * doc/posix-functions/wprintf.texi: Likewise.
42759         * doc/posix-functions/wscanf.texi: Likewise.
42760
42761 2008-12-21  Bruno Haible  <bruno@clisp.org>
42762
42763         Work around a portability problem.
42764         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
42765         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
42766
42767 2008-12-20  Bruno Haible  <bruno@clisp.org>
42768
42769         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
42770         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
42771         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
42772         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
42773         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
42774
42775         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
42776         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
42777         set.
42778         (GNULIB_defined_mbstate_t): New macro.
42779         (mbsinit): Redefine if REPLACE_MBSINIT is set.
42780         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
42781         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
42782         reuses the system's mbrtowc function but works around the bugs.
42783         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
42784         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
42785         macros.
42786         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
42787         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
42788         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
42789         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
42790         REPLACE_MBSINIT if mbsinit needs to be overridden.
42791         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
42792         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42793         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
42794         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42795         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42796         m4/locale-zh.m4.
42797         (Depends): Add mbsinit.
42798         * modules/mbsinit (Depends): Add mbrtowc.
42799         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
42800
42801 2008-12-20  Bruno Haible  <bruno@clisp.org>
42802
42803         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
42804         so that there are no conversion errors on AIX.
42805         * tests/test-mbsrtowcs.c (main): LIkewise.
42806
42807 2008-12-20  Bruno Haible  <bruno@clisp.org>
42808
42809         Work around wctob bug on Solaris <= 9.
42810         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
42811         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
42812         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
42813         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
42814         * modules/wctob (Files): Add m4/locale-fr.m4.
42815         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
42816
42817 2008-12-20  Bruno Haible  <bruno@clisp.org>
42818
42819         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
42820         /dev/null.
42821         * tests/test-select-in.sh: Likewise.
42822         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42823
42824 2008-12-20  Bruno Haible  <bruno@clisp.org>
42825
42826         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
42827         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
42828         Cygwin 1.5.x.
42829
42830 2008-12-20  Bruno Haible  <bruno@clisp.org>
42831
42832         Ensure mbstate_t is defined on HP-UX 11.11.
42833         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
42834         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
42835         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
42836         AC_USE_SYSTEM_EXTENSIONS.
42837         * modules/fnmatch (Depends-on): Add extensions.
42838         * modules/mbrlen (Depends-on): Likewise.
42839         * modules/mbrtowc (Depends-on): Likewise.
42840         * modules/mbsinit (Depends-on): Likewise.
42841         * modules/mbsrtowcs (Depends-on): Likewise.
42842         * modules/mbswidth (Depends-on): Likewise.
42843         * modules/quotearg (Depends-on): Likewise.
42844         * modules/strftime (Depends-on): Likewise.
42845
42846 2008-12-20  Bruno Haible  <bruno@clisp.org>
42847
42848         Ensure wctob is declared on IRIX 6.5.
42849         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
42850         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
42851         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
42852         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
42853         of HAVE_WCTOB.
42854         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
42855         HAVE_WCTOB.
42856         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
42857
42858 2008-12-19  Bruno Haible  <bruno@clisp.org>
42859
42860         * modules/mbsrtowcs-tests: New file.
42861         * tests/test-mbsrtowcs1.sh: New file.
42862         * tests/test-mbsrtowcs2.sh: New file.
42863         * tests/test-mbsrtowcs3.sh: New file.
42864         * tests/test-mbsrtowcs4.sh: New file.
42865         * tests/test-mbsrtowcs.c: New file.
42866
42867         New module 'mbsrtowcs'.
42868         * lib/wchar.in.h (mbsrtowcs): New declaration.
42869         * lib/mbsrtowcs.c: New file.
42870         * m4/mbsrtowcs.m4: New file.
42871         * modules/mbsrtowcs: New file.
42872         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
42873         HAVE_MBSRTOWCS.
42874         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
42875         HAVE_MBSRTOWCS.
42876         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
42877
42878 2008-12-19  Bruno Haible  <bruno@clisp.org>
42879
42880         New module 'mbrlen'.
42881         * lib/wchar.in.h (mbrlen): New declaration.
42882         * lib/mbrlen.c: New file.
42883         * m4/mbrlen.m4: New file.
42884         * modules/mbrlen: New file.
42885         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
42886         HAVE_MBRLEN.
42887         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
42888         HAVE_MBRLEN.
42889         * doc/posix-functions/mbrlen.texi: Document the new module.
42890
42891 2008-12-19  Bruno Haible  <bruno@clisp.org>
42892
42893         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
42894         * modules/mbrtowc (Depends-on): Add verify.
42895         Suggested by Paul Eggert.
42896
42897 2008-12-18  Bruno Haible  <bruno@clisp.org>
42898
42899         * modules/mbsinit-tests: New file.
42900         * tests/test-mbsinit.sh: New file.
42901         * tests/test-mbsinit.c: New file.
42902
42903 2008-12-18  Bruno Haible  <bruno@clisp.org>
42904
42905         * modules/mbrtowc-tests: New file.
42906         * tests/test-mbrtowc1.sh: New file.
42907         * tests/test-mbrtowc2.sh: New file.
42908         * tests/test-mbrtowc3.sh: New file.
42909         * tests/test-mbrtowc4.sh: New file.
42910         * tests/test-mbrtowc.c: New file.
42911
42912         New module 'mbrtowc'.
42913         * lib/wchar.in.h (mbstate_t): Override when the system does not have
42914         mbsinit and mbrtowc.
42915         (mbrtowc): New declaration.
42916         * lib/mbrtowc.c: New file.
42917         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
42918         * modules/mbrtowc: New file.
42919         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
42920         HAVE_MBRTOWC.
42921         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
42922         HAVE_MBRTOWC.
42923         * doc/posix-functions/mbrtowc.texi: Document the new module.
42924
42925 2008-12-18  Bruno Haible  <bruno@clisp.org>
42926
42927         New module 'wctob'.
42928         * lib/wchar.in.h (wctob): New declaration.
42929         * lib/wctob.c: New file.
42930         * m4/wctob.m4: New file.
42931         * modules/wctob: New file.
42932         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
42933         HAVE_WCTOB.
42934         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
42935         * doc/posix-functions/wctob.texi: Document the new module.
42936
42937 2008-12-18  Bruno Haible  <bruno@clisp.org>
42938
42939         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
42940         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
42941
42942 2008-12-18  Simon Josefsson  <simon@josefsson.org>
42943
42944         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
42945         G. Christensen" <tgc@jupiterrise.com>.
42946
42947         * lib/flock.c: Need to include errno.h.  Reported by "Tom
42948         G. Christensen" <tgc@jupiterrise.com>.
42949
42950         * lib/flock.c: Need to include string.h.  Reported by "Tom
42951         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
42952         <ebb9@byu.net>.
42953
42954 2008-12-18  Bruno Haible  <bruno@clisp.org>
42955
42956         * m4/locale-ja.m4: New file, from GNU gettext.
42957
42958 2008-12-17  Bruno Haible  <bruno@clisp.org>
42959
42960         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
42961         Suggested by Eric Blake.
42962
42963 2008-12-17  Bruno Haible  <bruno@clisp.org>
42964
42965         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
42966
42967 2008-12-17  Bruno Haible  <bruno@clisp.org>
42968
42969         * lib/mbsinit.c: Include verify.h. Verify an assumption.
42970         * modules/mbsinit (Depends-on): Add verify.
42971         Suggested by Paul Eggert.
42972
42973 2008-12-17  Bruno Haible  <bruno@clisp.org>
42974
42975         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
42976         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
42977         gl_FUNC_MBRTOWC.
42978         * m4/mbiter.m4 (gl_MBITER): LIkewise.
42979         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
42980         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
42981         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
42982         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
42983         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
42984         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
42985         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
42986         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
42987         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
42988         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
42989         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
42990         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
42991         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
42992         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
42993         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
42994         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
42995         * modules/trim (configure.ac): Likewise.
42996
42997 2008-12-17  Bruno Haible  <bruno@clisp.org>
42998
42999         * modules/btowc-tests: New file.
43000         * tests/test-btowc1.sh: New file.
43001         * tests/test-btowc2.sh: New file.
43002         * tests/test-btowc.c: New file.
43003
43004         New module 'btowc'.
43005         * lib/wchar.in.h (btowc): New declaration.
43006         * lib/btowc.c: New file.
43007         * m4/btowc.m4: New file.
43008         * modules/btowc: New file.
43009         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
43010         HAVE_BTOWC.
43011         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
43012         * doc/posix-functions/btowc.texi: Document the new module.
43013
43014 2008-12-17  Bruno Haible  <bruno@clisp.org>
43015
43016         New module 'mbsinit'.
43017         * lib/wchar.in.h (mbsinit): New declaration.
43018         * lib/mbsinit.c: New file.
43019         * m4/mbsinit.m4: New file.
43020         * modules/mbsinit: New file.
43021         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
43022         HAVE_MBSINIT.
43023         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
43024         HAVE_MBSINIT.
43025         * doc/posix-functions/mbsinit.texi: Document the new module.
43026
43027 2008-12-16  Bruno Haible  <bruno@clisp.org>
43028
43029         * lib/unistd.in.h: Add comment.
43030         * tests/test-environ.c: Don't include <stdlib.h>.
43031
43032 2008-12-16  Bruno Haible  <bruno@clisp.org>
43033
43034         * lib/parse-duration.h (parse_duration): Document return value
43035         convention.
43036         * lib/parse-duration.c: Include specification header first. Add
43037         comments.
43038         (_): Remove macro.
43039         (parse_year_month_day, parse_hour_minute_second): Move side effects
43040         outside of strchr call.
43041         (parse_non_iso8601): Move side effects outside of isspace call.
43042         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
43043         call.
43044
43045 2008-12-16  Bruno Haible  <bruno@clisp.org>
43046
43047         * tests/test-parse-duration.sh: Produce no output when the test
43048         succeeds.
43049
43050 2008-12-16  Bruno Haible  <bruno@clisp.org>
43051
43052         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
43053         expressions.
43054
43055 2008-12-15  Bruno Haible  <bruno@clisp.org>
43056
43057         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
43058         * doc/glibc-functions/flistxattr.texi: Likewise.
43059         * doc/glibc-functions/fopencookie.texi: Likewise.
43060         * doc/glibc-functions/fremovexattr.texi: Likewise.
43061         * doc/glibc-functions/fsetxattr.texi: Likewise.
43062         * doc/glibc-functions/getxattr.texi: Likewise.
43063         * doc/glibc-functions/lgetxattr.texi: Likewise.
43064         * doc/glibc-functions/listxattr.texi: Likewise.
43065         * doc/glibc-functions/llistxattr.texi: Likewise.
43066         * doc/glibc-functions/lremovexattr.texi: Likewise.
43067         * doc/glibc-functions/lsetxattr.texi: Likewise.
43068         * doc/glibc-functions/removexattr.texi: Likewise.
43069         * doc/glibc-functions/setxattr.texi: Likewise.
43070         * doc/posix-functions/open_memstream.texi: Likewise.
43071
43072 2008-12-15  Eric Blake  <ebb9@byu.net>
43073
43074         Update doc for cygwin 1.7.
43075         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
43076         functions.
43077         * doc/posix-functions/fchmodat.texi: Likewise.
43078         * doc/posix-functions/fchownat.texi: Likewise.
43079         * doc/posix-functions/fdopendir.texi: Likewise.
43080         * doc/posix-functions/fmemopen.texi: Likewise.
43081         * doc/posix-functions/freeaddrinfo.texi: Likewise.
43082         * doc/posix-functions/fstatat.texi: Likewise.
43083         * doc/posix-functions/futimens.texi: Likewise.
43084         * doc/posix-functions/gai_strerror.texi: Likewise.
43085         * doc/posix-functions/getaddrinfo.texi: Likewise.
43086         * doc/posix-functions/getnameinfo.texi: Likewise.
43087         * doc/posix-functions/if_freenameindex.texi: Likewise.
43088         * doc/posix-functions/if_indextoname.texi: Likewise.
43089         * doc/posix-functions/if_nameindex.texi: Likewise.
43090         * doc/posix-functions/if_nametoindex.texi: Likewise.
43091         * doc/posix-functions/insque.texi: Likewise.
43092         * doc/posix-functions/linkat.texi: Likewise.
43093         * doc/posix-functions/llrint.texi: Likewise.
43094         * doc/posix-functions/llrintf.texi: Likewise.
43095         * doc/posix-functions/llrintl.texi: Likewise.
43096         * doc/posix-functions/lockf.texi: Likewise.
43097         * doc/posix-functions/lrintl.texi: Likewise.
43098         * doc/posix-functions/mkdirat.texi: Likewise.
43099         * doc/posix-functions/mkfifoat.texi: Likewise.
43100         * doc/posix-functions/mknodat.texi: Likewise.
43101         * doc/posix-functions/mq_close.texi: Likewise.
43102         * doc/posix-functions/mq_getattr.texi: Likewise.
43103         * doc/posix-functions/mq_notify.texi: Likewise.
43104         * doc/posix-functions/mq_open.texi: Likewise.
43105         * doc/posix-functions/mq_receive.texi: Likewise.
43106         * doc/posix-functions/mq_send.texi: Likewise.
43107         * doc/posix-functions/mq_setattr.texi: Likewise.
43108         * doc/posix-functions/mq_timedreceive.texi: Likewise.
43109         * doc/posix-functions/mq_timedsend.texi: Likewise.
43110         * doc/posix-functions/mq_unlink.texi: Likewise.
43111         * doc/posix-functions/open_memstream.texi: Likewise.
43112         * doc/posix-functions/openat.texi: Likewise.
43113         * doc/posix-functions/posix_fadvise.texi: Likewise.
43114         * doc/posix-functions/posix_fallocate.texi: Likewise.
43115         * doc/posix-functions/posix_madvise.texi: Likewise.
43116         * doc/posix-functions/posix_memalign.texi: Likewise.
43117         * doc/posix-functions/posix_openpt.texi: Likewise.
43118         * doc/posix-functions/readlinkat.texi: Likewise.
43119         * doc/posix-functions/remque.texi: Likewise.
43120         * doc/posix-functions/renameat.texi: Likewise.
43121         * doc/posix-functions/rintl.texi: Likewise.
43122         * doc/posix-functions/sem_unlink.texi: Likewise.
43123         * doc/posix-functions/shm_open.texi: Likewise.
43124         * doc/posix-functions/shm_unlink.texi: Likewise.
43125         * doc/posix-functions/signgam.texi: Likewise.
43126         * doc/posix-functions/sigset.texi: Likewise.
43127         * doc/posix-functions/stpcpy.texi: Likewise.
43128         * doc/posix-functions/stpncpy.texi: Likewise.
43129         * doc/posix-functions/strerror.texi: Likewise.
43130         * doc/posix-functions/strtod.texi: Likewise.
43131         * doc/posix-functions/symlinkat.texi: Likewise.
43132         * doc/posix-functions/unlinkat.texi: Likewise.
43133         * doc/posix-functions/utimensat.texi: Likewise.
43134         * doc/glibc-functions/bindresvport.texi: Likewise.
43135         * doc/glibc-functions/dn_expand.texi: Likewise.
43136         * doc/glibc-functions/exp10.texi: Likewise.
43137         * doc/glibc-functions/exp10f.texi: Likewise.
43138         * doc/glibc-functions/fgetxattr.texi: Likewise.
43139         * doc/glibc-functions/flistxattr.texi: Likewise.
43140         * doc/glibc-functions/fopencookie.texi: Likewise.
43141         * doc/glibc-functions/freeifaddrs.texi: Likewise.
43142         * doc/glibc-functions/fremovexattr.texi: Likewise.
43143         * doc/glibc-functions/fsetxattr.texi: Likewise.
43144         * doc/glibc-functions/getifaddrs.texi: Likewise.
43145         * doc/glibc-functions/getxattr.texi: Likewise.
43146         * doc/glibc-functions/lgetxattr.texi: Likewise.
43147         * doc/glibc-functions/listxattr.texi: Likewise.
43148         * doc/glibc-functions/llistxattr.texi: Likewise.
43149         * doc/glibc-functions/lremovexattr.texi: Likewise.
43150         * doc/glibc-functions/lsetxattr.texi: Likewise.
43151         * doc/glibc-functions/pow10.texi: Likewise.
43152         * doc/glibc-functions/pow10f.texi: Likewise.
43153         * doc/glibc-functions/rcmd_af.texi: Likewise.
43154         * doc/glibc-functions/removexattr.texi: Likewise.
43155         * doc/glibc-functions/res_init.texi: Likewise.
43156         * doc/glibc-functions/res_mkquery.texi: Likewise.
43157         * doc/glibc-functions/res_query.texi: Likewise.
43158         * doc/glibc-functions/res_querydomain.texi: Likewise.
43159         * doc/glibc-functions/res_send.texi: Likewise.
43160         * doc/glibc-functions/rresvport_af.texi: Likewise.
43161         * doc/glibc-functions/setxattr.texi: Likewise.
43162         * doc/glibc-functions/strcasestr.texi: Likewise.
43163
43164 2008-12-15  Bruno Haible  <bruno@clisp.org>
43165
43166         Fix compilation error on OSF/1 4.0.
43167         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
43168         <sys/time.h>, simply delegate to the system header.
43169         Reported by Daniel Richard G. <oss@teragram.com>.
43170
43171 2008-12-15  Bruno Haible  <bruno@clisp.org>
43172
43173         * doc/posix-functions/openat.texi: Mention the 'openat' module.
43174         * doc/posix-functions/fchmodat.texi: Likewise.
43175         * doc/posix-functions/fchownat.texi: Likewise.
43176         * doc/posix-functions/fdopendir.texi: Likewise.
43177         * doc/posix-functions/fstatat.texi: Likewise.
43178         * doc/posix-functions/mkdirat.texi: Likewise.
43179         * doc/posix-functions/unlinkat.texi: Likewise.
43180
43181 2008-12-14  Bruno Haible  <bruno@clisp.org>
43182
43183         Update doc for POSIX:2008.
43184         * doc/posix-functions/faccessat.texi: New file.
43185         * doc/posix-functions/fchmodat.texi: New file.
43186         * doc/posix-functions/fchownat.texi: New file.
43187         * doc/posix-functions/fdopendir.texi: New file.
43188         * doc/posix-functions/fstatat.texi: New file.
43189         * doc/posix-functions/futimens.texi: New file.
43190         * doc/posix-functions/linkat.texi: New file.
43191         * doc/posix-functions/mkdirat.texi: New file.
43192         * doc/posix-functions/mkfifoat.texi: New file.
43193         * doc/posix-functions/mknodat.texi: New file.
43194         * doc/posix-functions/open_wmemstream.texi: New file.
43195         * doc/posix-functions/openat.texi: New file.
43196         * doc/posix-functions/psiginfo.texi: New file.
43197         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
43198         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
43199         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
43200         * doc/posix-functions/readlinkat.texi: New file.
43201         * doc/posix-functions/renameat.texi: New file.
43202         * doc/posix-functions/strerror_l.texi: New file.
43203         * doc/posix-functions/symlinkat.texi: New file.
43204         * doc/posix-functions/unlinkat.texi: New file.
43205         * doc/posix-functions/utimensat.texi: New file.
43206         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43207
43208 2008-12-14  Bruno Haible  <bruno@clisp.org>
43209
43210         Update doc for POSIX:2008.
43211         * doc/posix-functions/alphasort.texi: Renamed from
43212         doc/glibc-functions/alphasort.texi.
43213         * doc/posix-functions/dirfd.texi: Renamed from
43214         doc/glibc-functions/dirfd.texi.
43215         * doc/posix-functions/dprintf.texi: Renamed from
43216         doc/glibc-functions/dprintf.texi.
43217         * doc/posix-functions/duplocale.texi: Renamed from
43218         doc/glibc-functions/duplocale.texi.
43219         * doc/posix-functions/fexecve.texi: Renamed from
43220         doc/glibc-functions/fexecve.texi.
43221         * doc/posix-functions/fmemopen.texi: Renamed from
43222         doc/glibc-functions/fmemopen.texi.
43223         * doc/posix-functions/freelocale.texi: Renamed from
43224         doc/glibc-functions/freelocale.texi.
43225         * doc/posix-functions/getdate_err.texi: Renamed from
43226         doc/glibc-functions/getdate_err.texi.
43227         * doc/posix-functions/isalnum_l.texi: Renamed from
43228         doc/glibc-functions/isalnum_l.texi.
43229         * doc/posix-functions/isalpha_l.texi: Renamed from
43230         doc/glibc-functions/isalpha_l.texi.
43231         * doc/posix-functions/isblank_l.texi: Renamed from
43232         doc/glibc-functions/isblank_l.texi.
43233         * doc/posix-functions/iscntrl_l.texi: Renamed from
43234         doc/glibc-functions/iscntrl_l.texi.
43235         * doc/posix-functions/isdigit_l.texi: Renamed from
43236         doc/glibc-functions/isdigit_l.texi.
43237         * doc/posix-functions/isgraph_l.texi: Renamed from
43238         doc/glibc-functions/isgraph_l.texi.
43239         * doc/posix-functions/islower_l.texi: Renamed from
43240         doc/glibc-functions/islower_l.texi.
43241         * doc/posix-functions/isprint_l.texi: Renamed from
43242         doc/glibc-functions/isprint_l.texi.
43243         * doc/posix-functions/ispunct_l.texi: Renamed from
43244         doc/glibc-functions/ispunct_l.texi.
43245         * doc/posix-functions/isspace_l.texi: Renamed from
43246         doc/glibc-functions/isspace_l.texi.
43247         * doc/posix-functions/isupper_l.texi: Renamed from
43248         doc/glibc-functions/isupper_l.texi.
43249         * doc/posix-functions/iswalnum_l.texi: Renamed from
43250         doc/glibc-functions/iswalnum_l.texi.
43251         * doc/posix-functions/iswalpha_l.texi: Renamed from
43252         doc/glibc-functions/iswalpha_l.texi.
43253         * doc/posix-functions/iswblank_l.texi: Renamed from
43254         doc/glibc-functions/iswblank_l.texi.
43255         * doc/posix-functions/iswcntrl_l.texi: Renamed from
43256         doc/glibc-functions/iswcntrl_l.texi.
43257         * doc/posix-functions/iswctype_l.texi: Renamed from
43258         doc/glibc-functions/iswctype_l.texi.
43259         * doc/posix-functions/iswdigit_l.texi: Renamed from
43260         doc/glibc-functions/iswdigit_l.texi.
43261         * doc/posix-functions/iswgraph_l.texi: Renamed from
43262         doc/glibc-functions/iswgraph_l.texi.
43263         * doc/posix-functions/iswlower_l.texi: Renamed from
43264         doc/glibc-functions/iswlower_l.texi.
43265         * doc/posix-functions/iswprint_l.texi: Renamed from
43266         doc/glibc-functions/iswprint_l.texi.
43267         * doc/posix-functions/iswpunct_l.texi: Renamed from
43268         doc/glibc-functions/iswpunct_l.texi.
43269         * doc/posix-functions/iswspace_l.texi: Renamed from
43270         doc/glibc-functions/iswspace_l.texi.
43271         * doc/posix-functions/iswupper_l.texi: Renamed from
43272         doc/glibc-functions/iswupper_l.texi.
43273         * doc/posix-functions/iswxdigit_l.texi: Renamed from
43274         doc/glibc-functions/iswxdigit_l.texi.
43275         * doc/posix-functions/isxdigit_l.texi: Renamed from
43276         doc/glibc-functions/isxdigit_l.texi.
43277         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
43278         doc/glibc-functions/mbsnrtowcs.texi.
43279         * doc/posix-functions/mkdtemp.texi: Renamed from
43280         doc/glibc-functions/mkdtemp.texi.
43281         * doc/posix-functions/newlocale.texi: Renamed from
43282         doc/glibc-functions/newlocale.texi.
43283         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
43284         doc/glibc-functions/nl_langinfo_l.texi.
43285         * doc/posix-functions/open_memstream.texi: Renamed from
43286         doc/glibc-functions/open_memstream.texi.
43287         * doc/posix-functions/opterr.texi: Renamed from
43288         doc/glibc-functions/opterr.texi.
43289         * doc/posix-functions/optind.texi: Renamed from
43290         doc/glibc-functions/optind.texi.
43291         * doc/posix-functions/optopt.texi: Renamed from
43292         doc/glibc-functions/optopt.texi.
43293         * doc/posix-functions/psignal.texi: Renamed from
43294         doc/glibc-functions/psignal.texi.
43295         * doc/posix-functions/scandir.texi: Renamed from
43296         doc/glibc-functions/scandir.texi.
43297         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
43298         doc/glibc-functions/sched_get_priority_min.texi.
43299         * doc/posix-functions/signgam.texi: Renamed from
43300         doc/glibc-functions/signgam.texi.
43301         * doc/posix-functions/stpcpy.texi: Renamed from
43302         doc/glibc-functions/stpcpy.texi.
43303         * doc/posix-functions/stpncpy.texi: Renamed from
43304         doc/glibc-functions/stpncpy.texi.
43305         * doc/posix-functions/strcasecmp_l.texi: Renamed from
43306         doc/glibc-functions/strcasecmp_l.texi.
43307         * doc/posix-functions/strcoll_l.texi: Renamed from
43308         doc/glibc-functions/strcoll_l.texi.
43309         * doc/posix-functions/strfmon_l.texi: Renamed from
43310         doc/glibc-functions/strfmon_l.texi.
43311         * doc/posix-functions/strftime_l.texi: Renamed from
43312         doc/glibc-functions/strftime_l.texi.
43313         * doc/posix-functions/strncasecmp_l.texi: Renamed from
43314         doc/glibc-functions/strncasecmp_l.texi.
43315         * doc/posix-functions/strndup.texi: Renamed from
43316         doc/glibc-functions/strndup.texi.
43317         * doc/posix-functions/strnlen.texi: Renamed from
43318         doc/glibc-functions/strnlen.texi.
43319         * doc/posix-functions/strsignal.texi: Renamed from
43320         doc/glibc-functions/strsignal.texi.
43321         * doc/posix-functions/strxfrm_l.texi: Renamed from
43322         doc/glibc-functions/strxfrm_l.texi.
43323         * doc/posix-functions/timer_gettime.texi: Renamed from
43324         doc/glibc-functions/timer_gettime.texi.
43325         * doc/posix-functions/tolower_l.texi: Renamed from
43326         doc/glibc-functions/tolower_l.texi.
43327         * doc/posix-functions/toupper_l.texi: Renamed from
43328         doc/glibc-functions/toupper_l.texi.
43329         * doc/posix-functions/towctrans_l.texi: Renamed from
43330         doc/glibc-functions/towctrans_l.texi.
43331         * doc/posix-functions/towlower_l.texi: Renamed from
43332         doc/glibc-functions/towlower_l.texi.
43333         * doc/posix-functions/towupper_l.texi: Renamed from
43334         doc/glibc-functions/towupper_l.texi.
43335         * doc/posix-functions/uselocale.texi: Renamed from
43336         doc/glibc-functions/uselocale.texi.
43337         * doc/posix-functions/vdprintf.texi: Renamed from
43338         doc/glibc-functions/vdprintf.texi.
43339         * doc/posix-functions/wcpcpy.texi:
43340         Renamed from doc/glibc-functions/wcpcpy.texi.
43341         * doc/posix-functions/wcpncpy.texi: Renamed from
43342         doc/glibc-functions/wcpncpy.texi.
43343         * doc/posix-functions/wcscasecmp.texi: Renamed from
43344         doc/glibc-functions/wcscasecmp.texi.
43345         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
43346         doc/glibc-functions/wcscasecmp_l.texi.
43347         * doc/posix-functions/wcscoll_l.texi: Renamed from
43348         doc/glibc-functions/wcscoll_l.texi.
43349         * doc/posix-functions/wcsdup.texi: Renamed from
43350         doc/glibc-functions/wcsdup.texi.
43351         * doc/posix-functions/wcsncasecmp.texi: Renamed from
43352         doc/glibc-functions/wcsncasecmp.texi.
43353         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
43354         doc/glibc-functions/wcsncasecmp_l.texi.
43355         * doc/posix-functions/wcsnlen.texi: Renamed from
43356         doc/glibc-functions/wcsnlen.texi.
43357         * doc/posix-functions/wcsnrtombs.texi: Renamed from
43358         doc/glibc-functions/wcsnrtombs.texi.
43359         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
43360         doc/glibc-functions/wcsxfrm_l.texi.
43361         * doc/posix-functions/wctrans_l.texi: Renamed from
43362         doc/glibc-functions/wctrans_l.texi.
43363         * doc/posix-functions/wctype_l.texi: Renamed from
43364         doc/glibc-functions/wctype_l.texi.
43365         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43366         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
43367         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
43368         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
43369         these subsections.
43370         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
43371         Remove sections.
43372
43373 2008-12-14  Bruno Haible  <bruno@clisp.org>
43374
43375         Update doc for POSIX:2008.
43376         * doc/posix-functions/*.texi: Update URL of POSIX specification.
43377
43378 2008-12-14  Bruno Haible  <bruno@clisp.org>
43379
43380         Update doc for POSIX:2008.
43381         * doc/pastposix-functions/bcmp.texi: Renamed from
43382         doc/posix-functions/bcmp.texi.
43383         * doc/pastposix-functions/bcopy.texi: Renamed from
43384         doc/posix-functions/bcopy.texi.
43385         * doc/pastposix-functions/bsd_signal.texi: Renamed from
43386         doc/posix-functions/bsd_signal.texi.
43387         * doc/pastposix-functions/bzero.texi: Renamed from
43388         doc/posix-functions/bzero.texi.
43389         * doc/pastposix-functions/ecvt.texi: Renamed from
43390         doc/posix-functions/ecvt.texi.
43391         * doc/pastposix-functions/fcvt.texi: Renamed from
43392         doc/posix-functions/fcvt.texi.
43393         * doc/pastposix-functions/ftime.texi: Renamed from
43394         doc/posix-functions/ftime.texi.
43395         * doc/pastposix-functions/gcvt.texi: Renamed from
43396         doc/posix-functions/gcvt.texi.
43397         * doc/pastposix-functions/getcontext.texi: Renamed from
43398         doc/posix-functions/getcontext.texi.
43399         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
43400         doc/posix-functions/gethostbyaddr.texi.
43401         * doc/pastposix-functions/gethostbyname.texi: Renamed from
43402         doc/posix-functions/gethostbyname.texi.
43403         * doc/pastposix-functions/getwd.texi: Renamed from
43404         doc/posix-functions/getwd.texi.
43405         * doc/pastposix-functions/h_errno.texi: Renamed from
43406         doc/posix-functions/h_errno.texi.
43407         * doc/pastposix-functions/index.texi: Renamed from
43408         doc/posix-functions/index.texi.
43409         * doc/pastposix-functions/makecontext.texi: Renamed from
43410         doc/posix-functions/makecontext.texi.
43411         * doc/pastposix-functions/mktemp.texi: Renamed from
43412         doc/posix-functions/mktemp.texi.
43413         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
43414         doc/posix-functions/pthread_attr_getstackaddr.texi.
43415         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
43416         doc/posix-functions/pthread_attr_setstackaddr.texi.
43417         * doc/pastposix-functions/rindex.texi: Renamed from
43418         doc/posix-functions/rindex.texi.
43419         * doc/pastposix-functions/scalb.texi: Renamed from
43420         doc/posix-functions/scalb.texi.
43421         * doc/pastposix-functions/setcontext.texi: Renamed from
43422         doc/posix-functions/setcontext.texi.
43423         * doc/pastposix-functions/swapcontext.texi: Renamed from
43424         doc/posix-functions/swapcontext.texi.
43425         * doc/pastposix-functions/ualarm.texi: Renamed from
43426         doc/posix-functions/ualarm.texi.
43427         * doc/pastposix-functions/usleep.texi: Renamed from
43428         doc/posix-functions/usleep.texi.
43429         * doc/pastposix-functions/vfork.texi: Renamed from
43430         doc/posix-functions/vfork.texi.
43431         * doc/pastposix-functions/wcswcs.texi: Renamed from
43432         doc/posix-functions/wcswcs.texi.
43433         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
43434         (Function Substitutes): Update.
43435
43436 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43437
43438         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
43439         m4/strerror.m4.
43440
43441 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43442             Bruno Haible  <bruno@clisp.org>
43443
43444         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
43445
43446 2008-12-13  Bruno Haible  <bruno@clisp.org>
43447
43448         * modules/strtoull (Depends-on): Remove unistd.
43449
43450 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43451
43452         * modules/strtoull (Depends-on): Add stdlib.
43453
43454 2008-12-11  Simon Josefsson  <simon@josefsson.org>
43455
43456         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
43457
43458 2008-12-10  Jim Meyering  <meyering@redhat.com>
43459
43460         gl_ASSERT: don't say assertions are disabled when they're not
43461         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43462         "checking whether to enable assertions... no", when they are in
43463         fact enabled.  This is solely a bug in the output of configure.
43464         In spite of saying "no", NDEBUG was not defined in that case.
43465         Also, as noted by Eric Blake, leave assertions enabled upon
43466         --enable-assert=INVALID.
43467
43468 2008-12-10  Bruno Haible  <bruno@clisp.org>
43469
43470         Change MODULES.html to refer to POSIX:2008 where possible.
43471         * MODULES.html.sh (POSIX2008_URL): New variable.
43472         (posix_headers): Remove sys/timeb, ucontext.
43473         (posix2001_headers): New variable.
43474         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43475         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43476         index, makecontext, mktemp, pthread_attr_getstackaddr,
43477         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43478         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43479         (posix2001_functions): New variable.
43480         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43481         otherwise.
43482
43483 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43484
43485         add missing include to parse-duration.c
43486         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43487         * modules/parse-duration (Depends-on): Add xalloc.
43488
43489         fix sed script reading maint.mk
43490         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43491         (syntax-check-rules): Use it.
43492
43493 2008-12-09  Bruno Haible  <bruno@clisp.org>
43494
43495         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43496         MacOS X 10.4/PowerPC.
43497         Reported by Simon Josefsson.
43498
43499 2008-12-08  Jim Meyering  <meyering@redhat.com>
43500
43501         work around mingw's lack of some S_IF definitions
43502         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43503         Reported by Simon Josefsson.
43504
43505 2008-12-08  Bruno Haible  <bruno@clisp.org>
43506
43507         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43508         applied to variables. Needed on MacOS X 10.4/PowerPC.
43509         Reported by Simon Josefsson.
43510
43511 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43512         and Eric Blake  <ebb9@byu.net>
43513
43514         assert: honor --enable-assert
43515         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43516         order to honor --enable-assert, rather than treating it as a
43517         synonym for --disable-assert.
43518
43519 2008-12-08  Jim Meyering  <meyering@redhat.com>
43520
43521         * lib/posixtm.c: Remove now-useless declaration of mktime.
43522
43523         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43524
43525 2008-12-07  Bruno Haible  <bruno@clisp.org>
43526
43527         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
43528         test_once): Mark functions as static.
43529         * tests/test-tls.c (test_tls): Likewise.
43530
43531 2008-12-07  Bruno Haible  <bruno@clisp.org>
43532
43533         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
43534         iconv_register_autodetect.
43535
43536 2008-12-07  Jim Meyering  <meyering@redhat.com>
43537
43538         posixtm.c: avoid a warning
43539         * lib/posixtm.c (posixtime): Don't initialize tm0.
43540         It's no longer needed to placate gcc4's -Wuninitialized,
43541         and the attempt to placate would elicit a new warning.
43542
43543         unicodeio.c: mark unused parameters
43544         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43545         (fallback_failure_callback): Likewise.
43546
43547 2008-12-07  Bruno Haible  <bruno@clisp.org>
43548
43549         * gnulib-tool (func_create_testdir): When building the tests
43550         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
43551         Reported by Simon Josefsson.
43552
43553 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43554
43555         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
43556
43557 2008-12-06  Bruno Haible  <bruno@clisp.org>
43558
43559         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
43560         Suggested by Eric Blake.
43561
43562 2008-12-06  Bruno Haible  <bruno@clisp.org>
43563
43564         Fix a c-stack test failure on MacOS X.
43565         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
43566         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
43567         handler for SIGBUS as well.
43568         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
43569         install a signal handler for SIGBUS as well.
43570         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
43571
43572 2008-12-06  Bruno Haible  <bruno@clisp.org>
43573
43574         Advocacy documentation.
43575         * doc/gnulib-intro.texi (Benefits): New section.
43576         * doc/gnulib.texi: Update.
43577
43578 2008-12-06  Bruno Haible  <bruno@clisp.org>
43579
43580         Document the 'manywarnings' module.
43581         * doc/manywarnings.texi: New file.
43582         * doc/gnulib.texi: Include it.
43583
43584 2008-12-05  Eric Blake  <ebb9@byu.net>
43585
43586         tests: silence some gcc warnings
43587         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
43588         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
43589         type mismatches.
43590
43591 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43592             Bruno Haible  <bruno@clisp.org>
43593
43594         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
43595
43596 2008-11-29  Jim Meyering  <meyering@redhat.com>
43597
43598         unicodeio.c: mark unused parameters
43599         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43600         (fallback_failure_callback): Likewise.
43601
43602         fts: fix a thinko
43603         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
43604         (set_stat_type): Return S_IF*-valued "type" directly.
43605         Prompted by James Youngman's spotting a related bug.
43606         Confirmed by further testing through find.
43607
43608         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
43609         * lib/fts.c (D_TYPE): Define.
43610         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
43611         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
43612         (s_ifmt_shift_bits): New function.
43613         (set_stat_type): New function.
43614         (fts_build): When not calling fts_stat, call set_stat_type
43615         to propagate dirent.d_type info to fts_read caller.
43616         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
43617         fts_statp->st_mode type information may be valid.
43618
43619 2008-11-28  Simon Josefsson  <simon@josefsson.org>
43620
43621         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
43622         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
43623         <sds@gnu.org>.
43624
43625 2008-11-20  Bruno Haible  <bruno@clisp.org>
43626
43627         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
43628         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
43629         INCLUDE_NEXT.
43630         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
43631         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
43632         * modules/math (Makefile.am): Substitute
43633         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
43634         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43635
43636 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
43637             Bruno Haible  <bruno@clisp.org>
43638
43639         * lib/stdint.in.h: Define all type macros so that their expansion is
43640         a single typedef'ed token. Fixes a compilation failure in Boost which
43641         does "using ::int8_t;".
43642
43643 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43644
43645         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
43646         gl_MANYWARN_ALL_GCC.
43647         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
43648         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
43649         * modules/manywarnings: New file.
43650         * MODULES.html.sh: Mention manywarnings module.
43651
43652 2008-11-18  Bruno Haible  <bruno@clisp.org>
43653
43654         * doc/gnulib-tool.texi (Unit tests): New section.
43655
43656 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43657
43658         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
43659         paths like 'lib/po/foo.po'.
43660
43661 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43662
43663         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
43664         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
43665
43666 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43667
43668         * m4/warnings.m4: Use CPPFLAGS to really check whether the
43669         parameter works.
43670
43671 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43672
43673         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
43674
43675 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43676
43677         * modules/parse-duration-tests: New file.
43678         * tests/test-parse-duration.sh: New file.
43679         * tests/test-parse-duration.c: New file.
43680
43681         New module 'parse-duration'.
43682         * lib/parse-duration.h: New file.
43683         * lib/parse-duration.c: New file.
43684         * modules/parse-duration: New file.
43685
43686 2008-11-17  Bruno Haible  <bruno@clisp.org>
43687
43688         * tests/test-select-out.sh: Comment out the first pipe test.
43689         Reported by Simon Josefsson.
43690
43691 2008-11-17  Bruno Haible  <bruno@clisp.org>
43692
43693         * modules/getaddrinfo (Depends-on): Add servent, hostent.
43694         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
43695         gl_HOSTENT.
43696
43697 2008-11-17  Bruno Haible  <bruno@clisp.org>
43698
43699         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
43700         -lnetwork and -lnet. Needed for Haiku and BeOS.
43701
43702 2008-11-16  Bruno Haible  <bruno@clisp.org>
43703
43704         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
43705
43706 2008-11-16  Bruno Haible  <bruno@clisp.org>
43707
43708         Avoid test failure on Haiku.
43709         * tests/test-fsync.c: Include <errno.h>.
43710         (main): Don't require that fsync (0) fails.
43711
43712 2008-11-15  Bruno Haible  <bruno@clisp.org>
43713
43714         New module 'hostent'.
43715         * modules/hostent: New file.
43716         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
43717
43718 2008-11-15  Bruno Haible  <bruno@clisp.org>
43719
43720         New module 'servent'.
43721         * modules/servent: New file.
43722         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
43723
43724 2008-11-15  Bruno Haible  <bruno@clisp.org>
43725
43726         Avoid generating same test program with two different rules.
43727         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
43728         test-frexp to test-frexp-nolibm.
43729         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
43730         test-frexpl to test-frexpl-nolibm.
43731
43732 2008-11-15  Bruno Haible  <bruno@clisp.org>
43733
43734         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
43735         $(FREXPL_LIBM).
43736
43737 2008-11-15  Bruno Haible  <bruno@clisp.org>
43738
43739         * lib/netdb.in.h: Activate the definitions also when the system's
43740         <netdb.h> has 'struct addrinfo'.
43741         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
43742         EAI_OVERFLOW or AI_NUMERICSERV.
43743         * doc/posix-headers/netdb.texi: Document the problem.
43744
43745 2008-11-15  Bruno Haible  <bruno@clisp.org>
43746
43747         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
43748
43749         Make the 'sched' module work on platforms where <sched.h> exists but
43750         is incomplete (such as Haiku).
43751         * lib/sched.in.h; Include the system's <sched.h> if it exists.
43752         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
43753         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
43754         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
43755         HAVE_STRUCT_SCHED_PARAM.
43756         * modules/sched (Depends-on): Add include_next.
43757         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
43758         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
43759         * doc/posix-headers/sched.texi: Document the issue.
43760
43761 2008-11-13  Jim Meyering  <meyering@redhat.com>
43762
43763         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
43764         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
43765         test would fail due to the difference in the Report bugs to ...
43766         line.  The expected address is empty, "<>", while the actual
43767         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
43768
43769 2008-11-12  Bruno Haible  <bruno@clisp.org>
43770
43771         lstat: don't compile lstat.c on systems lacking lstat
43772         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
43773         which don't have lstat; this is handled by lib/sys_stat.in.h already.
43774         Reported by Daniel P. Berrange via Jim Meyering.
43775
43776 2008-11-12  Jim Meyering  <meyering@redhat.com>
43777
43778         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
43779
43780 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43781
43782         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
43783         instead.
43784
43785 2008-11-12  Bruno Haible  <bruno@clisp.org>
43786
43787         * lib/unicodeio.c: Include unistr.h.
43788         (utf8_wctomb): Remove function.
43789         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
43790
43791 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43792
43793         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
43794         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
43795         <bruno@clisp.org>.
43796         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
43797
43798 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43799
43800         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
43801         * doc/gnulib.texi: Add section for warnings.
43802
43803 2008-11-11  Bruno Haible  <bruno@clisp.org>
43804
43805         * lib/sockets.h: Add a comment.
43806
43807 2008-11-11  Karl Berry  <karl@gnu.org>
43808
43809         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
43810
43811 2008-11-11  Eric Blake  <ebb9@byu.net>
43812
43813         fdl.texi: avoid git symlinks
43814         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
43815
43816 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43817
43818         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
43819
43820 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43821
43822         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
43823         (gl_WARN_ADD): Substitute $2 if literal.
43824
43825 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43826
43827         * m4/warning.m4: Remove.
43828
43829 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43830
43831         * m4/warnings.m4: Almost complete rewrite. :-)
43832
43833 2008-11-10  Simon Josefsson  <simon@josefsson.org>
43834
43835         * modules/warnings: New module.
43836         * m4/warnings.m4: New file.
43837         * MODULES.html.sh: Mention warnings module.
43838         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
43839         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43840
43841 2008-11-10  Eric Blake  <ebb9@byu.net>
43842
43843         fdl.texi: make a symlink to the latest version
43844         * doc/standards.texi: Revert today's earlier change.
43845         * doc/fdl-1.2.texi: Rename from old fdl.texi...
43846         * doc/fdl.texi: ...and replace this with a symlink to the newer
43847         fdl-1.3.texi.
43848
43849 2008-11-10  Bruno Haible  <bruno@clisp.org>
43850
43851         * tests/test-select-fd.c (main): Accept the result file name as fourth
43852         argument.
43853         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
43854         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
43855
43856 2008-11-10  Bruno Haible  <bruno@clisp.org>
43857
43858         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
43859         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
43860         as autoconf-substituted macros.
43861         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
43862         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
43863         gl_NETDB_H_DEFAULTS. Set these variables.
43864         * modules/netdb (Makefile.am): Substitute these variables.
43865
43866 2008-11-10  Eric Blake  <ebb9@byu.net>
43867
43868         standards.texi: include correct file for FDL 1.3
43869         * doc/standards.texi (GNU Free Documentation License): Change
43870         include file to pull in FDL 1.3, not 1.2.
43871
43872         fdl.texi: revert accidental change to license
43873         * doc/fdl.texi: This is FDL 1.2, not 1.3.
43874
43875 2008-11-10  Bruno Haible  <bruno@clisp.org>
43876
43877         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
43878         cross-compiling guesses also when the native compile gives no result.
43879
43880 2008-11-10  Bruno Haible  <bruno@clisp.org>
43881
43882         * lib/spawni.c (__spawni): Force variable into the stack.
43883
43884 2008-11-10  Bruno Haible  <bruno@clisp.org>
43885
43886         Add support for Haiku.
43887         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
43888         glibc and BeOS, but also on Haiku.
43889         * lib/fpurge.c (fpurge): Likewise.
43890         * lib/freadable.c (freadable): Likewise.
43891         * lib/freadahead.c (freadahead): Likewise.
43892         * lib/freading.c (freading): Likewise.
43893         * lib/freadptr.c (freadptr): Likewise.
43894         * lib/freadseek.c (freadptrinc): Likewise.
43895         * lib/fseeko.c (rpl_fseeko): Likewise.
43896         * lib/fseterr.c (fseterr): Likewise.
43897         * lib/fwritable.c (fwritable): Likewise.
43898         * lib/fwriting.c (fwriting): Likewise.
43899         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
43900
43901 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43902
43903         * lib/config.charset: Treat Haiku like BeOS.
43904
43905 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43906
43907         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
43908         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
43909
43910 2008-11-08  Bruno Haible  <bruno@clisp.org>
43911
43912         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
43913         AC_CACHE_CHECK.
43914
43915 2008-11-08  Bruno Haible  <bruno@clisp.org>
43916
43917         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
43918
43919 2008-11-08  Bruno Haible  <bruno@clisp.org>
43920
43921         * tests/test-select-fd.c: New file.
43922         * tests/test-select-in.sh: New file.
43923         * tests/test-select-out.sh: New file.
43924         * tests/test-select-stdin.c: New file.
43925         * modules/select-tests (Files): Add the new files.
43926         (Depends-on): Add gettimeofday.
43927         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
43928         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
43929         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
43930
43931 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
43932             Bruno Haible  <bruno@clisp.org>
43933
43934         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
43935
43936 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
43937
43938         * build-aux/pmccabe2html: Added support for C++ source files.
43939
43940 2008-11-05  Ben Pfaff  <blp@gnu.org>
43941
43942         Fix lib/close.c build on Windows.
43943         * modules/close (Files): Add lib/w32sock.h.
43944
43945 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
43946
43947         Accept Bison's NEWS format.
43948         * build-aux/announce-gen (print_news_deltas): Tweak
43949         $re_prefix.
43950
43951 2008-11-04  Bruno Haible  <bruno@clisp.org>
43952
43953         * modules/random_r (Maintainer): Add glibc.
43954
43955 2008-11-04  Simon Josefsson  <simon@josefsson.org>
43956
43957         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
43958         by karl@freefriends.org (Karl Berry).
43959         * doc/alloca.texi: Likewise.
43960         * doc/c-ctype.texi: Likewise.
43961         * doc/c-strcase.texi: Likewise.
43962         * doc/c-strcaseeq.texi: Likewise.
43963         * doc/c-strcasestr.texi: Likewise.
43964         * doc/c-strstr.texi: Likewise.
43965         * doc/c-strtod.texi: Likewise.
43966         * doc/c-strtold.texi: Likewise.
43967         * doc/ctime.texi: Likewise.
43968         * doc/error.texi: Likewise.
43969         * doc/fdl.texi: Likewise.
43970         * doc/gcd.texi: Likewise.
43971         * doc/getdate.texi: Likewise.
43972         * doc/gnulib-intro.texi: Likewise.
43973         * doc/gnulib-tool.texi: Likewise.
43974         * doc/gnulib.texi: Likewise.
43975         * doc/inet_ntoa.texi: Likewise.
43976         * doc/maintain.texi: Likewise.
43977         * doc/make-stds.texi: Likewise.
43978         * doc/quote.texi: Likewise.
43979         * doc/regexprops-generic.texi: Likewise.
43980         * doc/standards.texi: Likewise.
43981         * doc/verify.texi: Likewise.
43982         * doc/visibility.texi: Likewise.
43983         * doc/gnulib.texi (GNU Free Documentation License): Include
43984         fdl-1.3.texi instead of fdl.texi.
43985
43986 2008-11-04  Simon Josefsson  <simon@josefsson.org>
43987
43988         * doc/fdl-1.3.texi: New file, from
43989         <http://www.gnu.org/licenses/fdl-1.3.texi>.
43990         * modules/fdl-1.3: Add.
43991         * MODULES.html.sh: Add fdl-1.3.
43992
43993 2008-11-03  Bruno Haible  <bruno@clisp.org>
43994
43995         Make determination of absolute name of header file work with AIX xlc.
43996         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
43997         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
43998         preprocessing.
43999         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44000         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
44001
44002 2008-11-03  Simon Josefsson  <simon@josefsson.org>
44003
44004         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
44005         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
44006         <ludo@gnu.org>.
44007
44008 2008-11-02  Bruno Haible  <bruno@clisp.org>
44009
44010         Mark 'strpbrk' obsolete.
44011         * modules/strpbrk (Status, Notice): New sections.
44012         * modules/strtok_r (Depends-on): Add strpbrk.
44013
44014 2008-11-02  Bruno Haible  <bruno@clisp.org>
44015
44016         Mark 'strdup' obsolete.
44017         * modules/strdup (Status, Notice): New sections.
44018         * modules/findprog (Depends-on): Add strdup.
44019         * modules/getaddrinfo (Depends-on): Likewise.
44020         * modules/localename (Depends-on): Likewise.
44021         * modules/relocatable-lib (Depends-on): Likewise.
44022         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
44023         * modules/relocatable-prog (Depends-on): Likewise.
44024         * modules/trim (Depends-on): Likewise.
44025         * modules/unictype/gen-ctype (Depends-on): Likewise.
44026         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44027
44028 2008-11-02  Bruno Haible  <bruno@clisp.org>
44029
44030         Mark 'strcspn' obsolete.
44031         * modules/strcspn (Status, Notice): New sections.
44032
44033 2008-11-02  Bruno Haible  <bruno@clisp.org>
44034
44035         Mark 'rmdir' obsolete.
44036         * modules/rmdir (Status, Notice): New sections.
44037         * modules/clean-temp (Depends-on): Add rmdir.
44038         * modules/openat (Depends-on): Likewise.
44039
44040 2008-11-02  Bruno Haible  <bruno@clisp.org>
44041
44042         Mark 'raise' obsolete.
44043         * modules/raise (Status, Notice): New sections.
44044         (Include): Specify <signal.h>.
44045         * modules/stdio (Depends-on): Add raise.
44046         * modules/write (Depends-on): Likewise.
44047
44048 2008-11-02  Bruno Haible  <bruno@clisp.org>
44049
44050         Mark 'memset' obsolete.
44051         * modules/memset (Status, Notice): New sections.
44052
44053 2008-11-02  Bruno Haible  <bruno@clisp.org>
44054
44055         Mark 'memmove' obsolete.
44056         * modules/memmove (Status, Notice): New sections.
44057         * modules/argp (Depends-on): Add memmove.
44058         * modules/argz (Depends-on): Likewise.
44059         * modules/canonicalize (Depends-on): Likewise.
44060         * modules/canonicalize-lgpl (Depends-on): Likewise.
44061         * modules/fts (Depends-on): Likewise.
44062         * modules/getcwd (Depends-on): Likewise.
44063         * modules/human (Depends-on): Likewise.
44064         * modules/regex (Depends-on): Likewise.
44065         * modules/striconveh (Depends-on): Likewise.
44066         * modules/trim (Depends-on): Likewise.
44067         * modules/unistr/u8-move (Depends-on): Likewise.
44068         * modules/unistr/u16-move (Depends-on): Likewise.
44069         * modules/unistr/u32-move (Depends-on): Likewise.
44070
44071 2008-11-02  Bruno Haible  <bruno@clisp.org>
44072
44073         Mark 'memcpy' obsolete.
44074         * modules/memcpy (Status, Notice): New sections.
44075
44076 2008-11-02  Bruno Haible  <bruno@clisp.org>
44077
44078         Mark 'memcmp' obsolete.
44079         * modules/memcmp (Status, Notice): New sections.
44080         * modules/argmatch (Depends-on): Add memchr.
44081         * modules/backupfile (Depends-on): Likewise.
44082         * modules/c-strcasestr (Depends-on): Likewise.
44083         * modules/crypto/des (Depends-on): Likewise.
44084         * modules/csharpcomp (Depends-on): Likewise.
44085         * modules/fnmatch (Depends-on): Likewise.
44086         * modules/git-merge-changelog (Depends-on): Likewise.
44087         * modules/isnand (Depends-on): Likewise.
44088         * modules/isnand-nolibm (Depends-on): Likewise.
44089         * modules/isnanf (Depends-on): Likewise.
44090         * modules/isnanf-nolibm (Depends-on): Likewise.
44091         * modules/isnanl (Depends-on): Likewise.
44092         * modules/isnanl-nolibm (Depends-on): Likewise.
44093         * modules/mbchar (Depends-on): Likewise.
44094         * modules/memcoll (Depends-on): Likewise.
44095         * modules/quotearg (Depends-on): Likewise.
44096         * modules/regex (Depends-on): Likewise.
44097         * modules/relocatable-prog (Depends-on): Likewise.
44098         * modules/same (Depends-on): Likewise.
44099         * modules/signbit (Depends-on): Likewise.
44100         * modules/strcasestr-simple (Depends-on): Likewise.
44101         * modules/unictype/gen-ctype (Depends-on): Likewise.
44102         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44103         * modules/uniname/uniname (Depends-on): Likewise.
44104         * modules/unistr/u8-cmp (Depends-on): Likewise.
44105
44106 2008-11-02  Bruno Haible  <bruno@clisp.org>
44107
44108         Mark 'memchr' obsolete.
44109         * modules/memchr (Status, Notice): New sections.
44110         * modules/argp (Depends-on): Add memchr.
44111         * modules/base64 (Depends-on): Likewise.
44112         * modules/c-strcasestr (Depends-on): Likewise.
44113         * modules/chdir-long (Depends-on): Likewise.
44114         * modules/fnmatch (Depends-on): Likewise.
44115         * modules/getsubopt (Depends-on): Likewise.
44116         * modules/git-merge-changelog (Depends-on): Likewise.
44117         * modules/glob (Depends-on): Likewise.
44118         * modules/strcasestr-simple (Depends-on): Likewise.
44119         * modules/strnlen (Depends-on): Likewise.
44120
44121 2008-11-02  Bruno Haible  <bruno@clisp.org>
44122
44123         Mark 'atexit' obsolete.
44124         * modules/atexit (Status, Notice): New sections.
44125         * modules/chdir-long (Depends-on): Add atexit.
44126         * modules/wait-process (Depends-on): Likewise.
44127
44128 2008-11-02  Bruno Haible  <bruno@clisp.org>
44129
44130         * gnulib-tool: New option --with-obsolete.
44131         (func_usage): Document it.
44132         (func_modules_transitive_closure): Drop obsolete dependencies if
44133         incobsolete is not true.
44134         (func_import): Read and save the incobsolete variable to the cache.
44135
44136 2008-11-02  Bruno Haible  <bruno@clisp.org>
44137
44138         * modules/TEMPLATE-EXTENDED: New field 'Status'.
44139         * gnulib-tool: New option --extract-status.
44140         (func_usage): Document it.
44141         (sed_extract_prog): Recognize it.
44142         (func_get_status): New function.
44143
44144 2008-10-30  Simon Josefsson  <simon@josefsson.org>
44145
44146         * modules/sockets (License): Change from LGPL to LGPLv2+.
44147
44148 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44149
44150         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
44151
44152 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44153
44154         * MODULES.html.sh (Support for systems lacking POSIX:2001):
44155         Mention times and sys_times.
44156         * modules/sys_times, modules/sys_times-tests: New modules.
44157         * modules/times, modules/times-tests: Likewise
44158         * m4/sys_times_h.m4: New file.
44159         * lib/sys_times.in.h: Likewise
44160         * lib/times.c: Likewise.
44161         * tests/test-sys_times.c: Likewise.
44162         * tests/test-times.c: Likewise.
44163         * doc/posix-headers/sys_times.texi: Update.
44164         * doc/posix-functions/times.texi: Update.
44165
44166 2008-10-28  Jim Meyering  <meyering@redhat.com>
44167
44168         * modules/tempname (Depends-on): Add lstat.
44169
44170         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
44171
44172 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44173
44174         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
44175         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
44176         using idiom used elsewhere in gnulib.
44177
44178 2008-10-27  Jim Meyering  <meyering@redhat.com>
44179
44180         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
44181
44182 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44183
44184         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
44185         TESTS_ENVIRONMENT, for shell scripts that needs to call built
44186         programs.
44187         * tests/test-argp-2.sh: Use $EXEEXT when needed.
44188
44189 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44190
44191         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
44192
44193 2008-10-27  Bruno Haible  <bruno@clisp.org>
44194
44195         * tests/test-lstat.c: Include <stdio.h>.
44196
44197 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44198
44199         * modules/lstat-tests: New module.
44200         * tests/test-lstat.c: New file.
44201
44202 2008-10-26  Jim Meyering  <meyering@redhat.com>
44203
44204         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
44205
44206 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44207             Bruno Haible  <bruno@clisp.org>
44208
44209         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
44210         * modules/configmake (Include): Add a note that the include must come
44211         after all system headers.
44212         * lib/javaversion.c: Include configmake.h after all other includes.
44213
44214 2008-10-26  Bruno Haible  <bruno@clisp.org>
44215
44216         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
44217         HAVE_STRUCT_RANDOM_DATA to 1.
44218         (gl_STDLIB_H): Simplify.
44219
44220 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44221
44222         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
44223         substitute HAVE_STRUCT_RANDOM_DATA.
44224         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
44225         random_data.
44226         * modules/stdlib (Makefile.am): Substitute
44227         HAVE_STRUCT_RANDOM_DATA.
44228
44229 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44230
44231         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
44232         * doc/gnulib-intro.texi (Copyright): Likewise.
44233
44234 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44235
44236         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
44237         findings.
44238
44239 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
44240             Bruno Haible  <bruno@clisp.org>
44241
44242         * lib/unistd.in.h: Include <winsock2.h>.
44243         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
44244         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
44245         Provide dummy declarations.
44246         (gethostname): Override.
44247         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
44248         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
44249         gl_PREREQ_SYS_H_WINSOCK2.
44250         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
44251         * doc/posix-functions/gethostname.texi: More details.
44252
44253 2008-10-25  Bruno Haible  <bruno@clisp.org>
44254
44255         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44256         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
44257         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
44258
44259         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
44260         here ...
44261         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
44262         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
44263         gl_UNISTD_H_DEFAULTS.
44264
44265 2008-10-25  Eric Blake  <ebb9@byu.net>
44266
44267         signbit: avoid spurious compiler failure
44268         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
44269         declarations inside function.
44270
44271 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44272             Bruno Haible  <bruno@clisp.org>
44273
44274         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
44275         * modules/random_r (Depends-on): Add stdint.
44276
44277 2008-10-24  Bruno Haible  <bruno@clisp.org>
44278
44279         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
44280         Eggert.
44281         * modules/strerror (License): Likewise.
44282
44283 2008-10-24  Jim Meyering  <meyering@redhat.com>
44284
44285         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
44286         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
44287
44288 2008-10-24  Eric Blake  <ebb9@byu.net>
44289
44290         getgroups: fix compilation when getgroups is available
44291         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
44292         but with <config.h> override of getgroups disabled.
44293
44294 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44295
44296         * doc/gnulib.texi (Header files): Add note about C++ problems.
44297         Explained by Bruno Haible <bruno@clisp.org>.
44298
44299 2008-10-23  Bruno Haible  <bruno@clisp.org>
44300
44301         Define a dummy SA_NODEFER macro on Interix.
44302         * lib/signal.in.h (SA_NODEFER): Define fallback.
44303         Reported by Aleksey Cheusov <cheusov@tut.by> via
44304         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
44305
44306 2008-10-23  Bruno Haible  <bruno@clisp.org>
44307
44308         * modules/freadahead (License): Change to LGPLv2+.
44309         Suggested by Simon Josefsson.
44310
44311 2008-10-23  Jim Meyering  <meyering@redhat.com>
44312
44313         random_r: new module
44314         * modules/random_r: New file.
44315         * m4/random_r.m4: New file.
44316         * lib/random_r.c: New file, from glibc.
44317         * modules/random_r-tests: New file.
44318         * tests/test-random_r.c: New file.
44319         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
44320          Declare.
44321         (RAND_MAX): Define.
44322         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
44323         * modules/stdlib: Substitute them, too.
44324         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
44325         * doc/glibc-functions/initstate_r.texi: Mention the new module.
44326         * doc/glibc-functions/random_r.texi: Likewise.
44327         * doc/glibc-functions/setstate_r.texi: Likewise.
44328         * doc/glibc-functions/srandom_r.texi: Likewise.
44329         * config/srclist.txt: Mention it.
44330
44331 2008-10-23  David Lutterkort  <lutter@redhat.com>
44332
44333         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
44334         link requirement
44335
44336 2008-10-23  Jim Meyering  <meyering@redhat.com>
44337
44338         selinux-h: mark parameters of stub functions as intentionally unused
44339         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
44340         * lib/se-context.in.h: Likewise.
44341
44342 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44343
44344         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
44345
44346 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44347
44348         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
44349
44350 2008-10-22  Eric Blake  <ebb9@byu.net>
44351
44352         glthread/thread: avoid compiler warning
44353         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
44354         Add unreachable abort to silence compiler.
44355
44356 2008-10-22  Eric Blake  <ebb9@byu.net>
44357
44358         netdb: also supply struct addrinfo for cygwin 1.5.x
44359         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
44360         older cygwin.
44361         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
44362         cygwin.
44363         * doc/posix-headers/netdb.texi (netdb.h): Document this.
44364
44365 2008-10-22  Bruno Haible  <bruno@clisp.org>
44366
44367         * users.txt: Update entry about pspp.
44368
44369 2008-10-21  Bruno Haible  <bruno@clisp.org>
44370
44371         Simplification.
44372         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
44373         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
44374
44375         Simplification.
44376         * lib/ioctl.c (ioctl): Don't undefine.
44377         * lib/socket.c (socket): Don't undefine.
44378
44379         Remove unused module indicator macros.
44380         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
44381         GNULIB_$1 as a C macro.
44382
44383         * doc/posix-functions/close.texi: Undo last change.
44384         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
44385         Windows platforms.
44386
44387 2008-10-21  Bruno Haible  <bruno@clisp.org>
44388
44389         Add gethostname() declaration to <unistd.h>.
44390         * lib/unistd.in.h (gethostname): New declaration.
44391         * lib/gethostname.c: Include <unistd.h>.
44392         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
44393         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
44394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
44395         and HAVE_GETHOSTNAME.
44396         * modules/gethostname (Depends-on): Add unistd.
44397         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44398         (Include): Specify <unistd.h>.
44399         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
44400         HAVE_GETHOSTNAME.
44401         * tests/test-gethostname.c: Include <unistd.h> first.
44402
44403 2008-10-21  Bruno Haible  <bruno@clisp.org>
44404
44405         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
44406         * modules/select-tests (Depends-on): Likewise.
44407         Reported by Simon Josefsson.
44408
44409 2008-10-21  Simon Josefsson  <simon@josefsson.org>
44410
44411         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
44412         * lib/accept.c: New file, based on winsock.c.
44413         * lib/bind.c: New file, based on winsock.c.
44414         * lib/connect.c: New file, based on winsock.c.
44415         * lib/getpeername.c: New file, based on winsock.c.
44416         * lib/getsockname.c: New file, based on winsock.c.
44417         * lib/getsockopt.c: New file, based on winsock.c.
44418         * lib/ioctl.c: New file, based on winsock.c.
44419         * lib/listen.c: New file, based on winsock.c.
44420         * lib/recv.c: New file, based on winsock.c.
44421         * lib/recvfrom.c: New file, based on winsock.c.
44422         * lib/send.c: New file, based on winsock.c.
44423         * lib/sendto.c: New file, based on winsock.c.
44424         * lib/setsockopt.c: New file, based on winsock.c.
44425         * lib/shutdown.c: New file, based on winsock.c.
44426         * lib/socket.c: New file, based on winsock.c.
44427         * lib/w32sock.h: New file, based on winsock.c.
44428         * lib/winsock.c: Remove file.
44429         * modules/accept: Likewise.
44430         * modules/bind: Likewise.
44431         * modules/connect: Likewise.
44432         * modules/getpeername: Likewise.
44433         * modules/getsockname: Likewise.
44434         * modules/getsockopt: Likewise.
44435         * modules/ioctl: Likewise.
44436         * modules/listen: Likewise.
44437         * modules/recv: Likewise.
44438         * modules/recvfrom: Likewise.
44439         * modules/send: Likewise.
44440         * modules/sendto: Likewise.
44441         * modules/setsockopt: Likewise.
44442         * modules/shutdown: Likewise.
44443         * modules/socket: Use socket.c instead of winsock.c.
44444         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
44445         * doc/posix-functions/accept.texi: Doc fix.
44446         * doc/posix-functions/bind.texi: Doc fix.
44447         * doc/posix-functions/close.texi: Doc fix.
44448         * doc/posix-functions/connect.texi: Doc fix.
44449         * doc/posix-functions/getpeername.texi: Doc fix.
44450         * doc/posix-functions/getsockname.texi: Doc fix.
44451         * doc/posix-functions/getsockopt.texi: Doc fix.
44452         * doc/posix-functions/ioctl.texi: Doc fix.
44453         * doc/posix-functions/listen.texi: Doc fix.
44454         * doc/posix-functions/recv.texi: Doc fix.
44455         * doc/posix-functions/recvfrom.texi: Doc fix.
44456         * doc/posix-functions/send.texi: Doc fix.
44457         * doc/posix-functions/sendto.texi: Doc fix.
44458         * doc/posix-functions/setsockopt.texi: Doc fix.
44459         * doc/posix-functions/shutdown.texi: Doc fix.
44460         * doc/posix-functions/socket.texi: Doc fix.
44461
44462 2008-10-20  Bruno Haible  <bruno@clisp.org>
44463
44464         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44465         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44466         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44467         as an alias for SIGABRT.
44468         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44469         (sigaction): Map it to SIGABRT.
44470         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44471
44472 2008-10-20  Bruno Haible  <bruno@clisp.org>
44473
44474         * lib/fts.c: Don't include lstat.h.
44475         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44476
44477         Move the lstat() declaration to <sys/stat.h>.
44478         * lib/lstat.h: Remove file.
44479         * lib/sys_stat.in.h: Add special invocation convention.
44480         (lstat): New declaration.
44481         * lib/lstat.c (orig_lstat): New function.
44482         (rpl_lstat): Use orig_lstat instead of lstat.
44483         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44484         AC_C_INLINE. Set REPLACE_LSTAT.
44485         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44486         and REPLACE_LSTAT.
44487         * modules/lstat (Files): Remove lib/lstat.h.
44488         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44489         (Include): Specify <sys/stat.h> instead of lstat.h.
44490         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44491         REPLACE_LSTAT.
44492         * NEWS: Mention the change.
44493
44494 2008-10-20  Bruno Haible  <bruno@clisp.org>
44495
44496         * modules/posix_spawn-tests: New file.
44497         * tests/test-posix_spawn3.c: New file.
44498
44499 2008-10-20  Bruno Haible  <bruno@clisp.org>
44500
44501         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44502         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44503         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44504         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44505         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44506
44507 2008-10-20  Bruno Haible  <bruno@clisp.org>
44508
44509         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44510         of posix_spawn on AIX 5.3.
44511
44512 2008-10-20  Bruno Haible  <bruno@clisp.org>
44513
44514         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44515
44516 2008-10-20  Bruno Haible  <bruno@clisp.org>
44517
44518         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44519         of AC_LANG_PROGRAM.
44520
44521 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44522
44523         * lib/netdb.in.h: Don't define GNU specific constants until they
44524         are supported or needed.  Reported by Bruno Haible
44525         <bruno@clisp.org>.
44526
44527 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44528
44529         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
44530
44531 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44532
44533         * lib/getaddrinfo.h: Remove file.
44534         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
44535         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
44536         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
44537         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
44538         * modules/netdb: Substitute GNULIB_GETADDRINFO.
44539         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
44540         * tests/test-getaddrinfo.c: Likewise.
44541         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
44542         * NEWS: Mention change.
44543
44544 2008-10-19  Bruno Haible  <bruno@clisp.org>
44545
44546         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
44547
44548 2008-10-19  Bruno Haible  <bruno@clisp.org>
44549
44550         * lib/wait-process.c: Include simply <sys/wait.h>.
44551         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
44552         WIFSTOPPED): Remove fallback definitions.
44553         * modules/wait-process (Depends-on): Add sys_wait.
44554
44555         New module 'sys_wait'.
44556         * modules/sys_wait: New file.
44557         * lib/sys_wait.in.h: New file, partially copied from
44558         lib/wait-process.c.
44559         * m4/sys_wait_h.m4: New file.
44560         * doc/posix-headers/sys_wait.texi: Mention the new module.
44561
44562 2008-10-19  Bruno Haible  <bruno@clisp.org>
44563
44564         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
44565
44566 2008-10-19  Bruno Haible  <bruno@clisp.org>
44567
44568         Assume that waitpid() fills an 'int' status, not a 'union wait'.
44569         * lib/wait-process.c (WAIT_T): Remove type.
44570         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
44571         (wait_subprocess): Update.
44572
44573 2008-10-19  Bruno Haible  <bruno@clisp.org>
44574
44575         New module 'atoll'.
44576         * modules/atoll: New file.
44577         * lib/stdlib.in.h (atoll): New declaration.
44578         * lib/atoll.c: New file, from glibc with modifications.
44579         * m4/atoll.m4: New file.
44580         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
44581         HAVE_ATOLL.
44582         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
44583         * doc/posix-functions/atoll.texi: Mention the new module.
44584
44585 2008-10-19  Bruno Haible  <bruno@clisp.org>
44586
44587         Add strtoull() declaration to <stdlib.h>.
44588         * lib/stdlib.in.h (strtoull): New declaration.
44589         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44590         Set HAVE_STRTOULL.
44591         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
44592         HAVE_STRTOULL.
44593         * modules/strtoull (Depends-on): Add stdlib.
44594         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44595         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
44596         HAVE_STRTOULL.
44597
44598 2008-10-19  Bruno Haible  <bruno@clisp.org>
44599
44600         Add strtoll() declaration to <stdlib.h>.
44601         * lib/stdlib.in.h (strtoll): New declaration.
44602         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44603         Set HAVE_STRTOLL.
44604         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
44605         HAVE_STRTOLL.
44606         * modules/strtoll (Depends-on): Add stdlib.
44607         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44608         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
44609
44610 2008-10-19  Bruno Haible  <bruno@clisp.org>
44611
44612         * modules/bcopy (Depends-on): Add strings.
44613         (Include): Specify <strings.h>.
44614
44615 2008-10-19  Bruno Haible  <bruno@clisp.org>
44616
44617         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
44618
44619 2008-10-19  Bruno Haible  <bruno@clisp.org>
44620
44621         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
44622         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
44623         mingw.
44624
44625 2008-10-19  Bruno Haible  <bruno@clisp.org>
44626
44627         * lib/atanl.c: Don't include isnanl.h.
44628         * lib/cosl.c: Likewise.
44629         * lib/ldexpl.c: Likewise.
44630         * lib/logl.c: Likewise.
44631         * lib/sinl.c: Likewise.
44632         * lib/sqrtl.c: Likewise.
44633         * lib/tanl.c: Likewise.
44634
44635         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
44636         * lib/isnanf.h: Remove file.
44637         * lib/isnand.h: Remove file.
44638         * lib/isnanl.h: Remove file.
44639         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
44640         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
44641         macros.
44642         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
44643         HAVE_ISNANF, don't define it as a C macro.
44644         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
44645         HAVE_ISNAND, don't define it as a C macro.
44646         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
44647         HAVE_ISNANL, don't define it as a C macro.
44648         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
44649         HAVE_ISNAN[FDL].
44650         * modules/isnanf (Files): Remove lib/isnanf.h.
44651         (Depends-on): Add math.
44652         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44653         (Include): Specify <math.h> instead of isnanf.h.
44654         * modules/isnand (Files): Remove lib/isnand.h.
44655         (Depends-on): Add math.
44656         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44657         (Include): Specify <math.h> instead of isnand.h.
44658         * modules/isnanl (Files): Remove lib/isnanl.h.
44659         (Depends-on): Add math.
44660         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44661         (Include): Specify <math.h> instead of isnanl.h.
44662         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
44663         HAVE_ISNAN[FDL].
44664         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
44665         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
44666         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
44667         * NEWS: Mention the change.
44668
44669 2008-10-18  Bruno Haible  <bruno@clisp.org>
44670
44671         Add getusershell(), setusershell(), endusershell() declarations to
44672         <unistd.h>.
44673         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
44674         declarations.
44675         * lib/getusershell.c: Include unistd.h.
44676         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
44677         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44678         HAVE_GETUSERSHELL.
44679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
44680         and HAVE_GETUSERSHELL.
44681         * modules/getusershell (Depends-on): Add unistd, extensions.
44682         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44683         (Include): Specify <unistd.h>.
44684         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
44685         HAVE_GETUSERSHELL.
44686
44687 2008-10-18  Bruno Haible  <bruno@clisp.org>
44688
44689         Add a getloadavg() declaration to <stdlib.h>.
44690         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
44691         getloadavg declaration.
44692         (getloadavg): New declaration.
44693         * lib/getloadavg.c: Include <stdlib.h> first.
44694         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
44695         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
44696         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
44697         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
44698         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44699         * modules/getloadavg (Depends-on): Add stdlib, extensions.
44700         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44701         (Include): Specify <stdlib.h>.
44702         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
44703         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44704
44705 2008-10-18  Bruno Haible  <bruno@clisp.org>
44706
44707         * lib/dirchownmod.c: Don't include lchmod.h.
44708
44709         Move the lchmod() declaration to <sys/stat.h>.
44710         * lib/lchmod.h: Remove file.
44711         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
44712         (lchmod): New declaration, moved here from lib/lchown.h.
44713         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
44714         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
44715         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
44716         and HAVE_LCHMOD.
44717         * modules/lchmod (Files): Remove lib/lchmod.h.
44718         (Depends-on): Add sys_stat, extensions.
44719         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44720         (Include): Specify <sys/stat.h> instead of lchmod.h.
44721         * modules/sys_stat (Depends-on): Add link-warning.
44722         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
44723         definition of GL_LINK_WARNING.
44724         * NEWS: Mention the change.
44725
44726 2008-10-18  Bruno Haible  <bruno@clisp.org>
44727
44728         * lib/fchdir.c: Don't include dirfd.h.
44729         * lib/fts.c: Likewise.
44730         * lib/getcwd.c: Likewise.
44731         * lib/glob.c: Likewise.
44732
44733         Move the dirfd() declaration to <dirent.h>.
44734         * lib/dirfd.h: Remove file.
44735         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
44736         (dirfd): New declaration.
44737         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
44738         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
44739         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
44740         HAVE_DECL_DIRFD.
44741         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
44742         HAVE_DECL_DIRFD.
44743         * modules/dirfd (Files): Remove lib/dirfd.h.
44744         (Depends-on): Add dirent, extensions.
44745         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
44746         (Include): Specify <dirent.h> instead of dirfd.h.
44747         * modules/dirent (Depends-on): Add link-warning.
44748         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
44749         definition of GL_LINK_WARNING.
44750         * NEWS: Mention the change.
44751
44752 2008-10-18  Bruno Haible  <bruno@clisp.org>
44753
44754         Move the euidaccess() declaration to <unistd.h>.
44755         * lib/euidaccess.h: Remove file.
44756         * lib/unistd.in.h (euidaccess): New declaration.
44757         * lib/euidaccess.c: Don't include euidaccess.h.
44758         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
44759         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
44760         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
44761         and HAVE_EUIDACCESS.
44762         * modules/euidaccess (Files): Remove lib/euidaccess.h.
44763         (Depends-on): Add unistd.
44764         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44765         (Include): Specify <unistd.h> instead of euidaccess.h.
44766         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
44767         HAVE_EUIDACCESS.
44768         * NEWS: Mention the change.
44769
44770 2008-10-18  Bruno Haible  <bruno@clisp.org>
44771
44772         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
44773
44774         Move the getdomainname() declaration to <unistd.h>.
44775         * lib/getdomainname.h: Remove file.
44776         * lib/unistd.in.h (getdomainname): New declaration.
44777         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
44778         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
44779         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44780         HAVE_GETDOMAINNAME.
44781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44782         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
44783         * modules/getdomainname (Files): Remove lib/getdomainname.h.
44784         (Depends-on): Add unistd, extensions.
44785         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44786         (Includes): Specify <unistd.h> instead of getdomainname.h.
44787         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
44788         HAVE_GETDOMAINNAME.
44789         * NEWS: Mention the change.
44790
44791 2008-10-18  Bruno Haible  <bruno@clisp.org>
44792
44793         * modules/dirent: New file.
44794         * m4/dirent_h.m4: New file.
44795         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
44796         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
44797         * modules/fchdir (Files): Remove lib/dirent.in.h.
44798         (Depends-on): Add dirent.
44799         (Makefile.am): Move rules to modules/dirent.
44800         * doc/posix-headers/dirent.texi: Mention the new module.
44801
44802 2008-10-18  Bruno Haible  <bruno@clisp.org>
44803
44804         Avoid -Wunused-parameter warnings in public gnulib header files.
44805         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
44806         macro.
44807         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
44808
44809 2008-10-18  Bruno Haible  <bruno@clisp.org>
44810
44811         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
44812         * doc/glibc-functions/error.texi: Mention the module 'error'.
44813         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
44814         * doc/glibc-functions/getdomainname.texi: Mention the module
44815         'getdomainname'.
44816         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
44817         * doc/glibc-functions/getpagesize.texi: Mention the module
44818         'getpagesize'.
44819         * doc/glibc-functions/getusershell.texi: Mention the module
44820         'getusershell'.
44821         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
44822         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
44823         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
44824         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
44825         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
44826         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
44827         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
44828         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
44829         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
44830         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
44831         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
44832         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
44833         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
44834         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
44835
44836 2008-10-17  Bruno Haible  <bruno@clisp.org>
44837
44838         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
44839         HP-UX and IRIX, use -0.0L.
44840         * tests/test-ceill.c (minus_zero): Likewise.
44841         * tests/test-floorl.c (minus_zero): Likewise.
44842         * tests/test-frexpl.c (minus_zero): Likewise.
44843         * tests/test-isnan.c (minus_zerol): Likewise.
44844         * tests/test-isnanl.h (minus_zero): Likewise.
44845         * tests/test-ldexpl.c (minus_zero): Likewise.
44846         * tests/test-roundl.c (minus_zero): Likewise.
44847         * tests/test-signbit.c (minus_zerol): Likewise.
44848         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44849         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44850         * tests/test-truncl.c (minus_zero): Likewise.
44851         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44852         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44853         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
44854         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44855
44856 2008-10-17  Bruno Haible  <bruno@clisp.org>
44857
44858         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
44859         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
44860         that it gets activated only for gcc >= 3.0.
44861         * lib/dirent.in.h: Likewise.
44862         * lib/errno.in.h: Likewise.
44863         * lib/fcntl.in.h: Likewise.
44864         * lib/float.in.h: Likewise.
44865         * lib/iconv.in.h: Likewise.
44866         * lib/inttypes.in.h: Likewise.
44867         * lib/locale.in.h: Likewise.
44868         * lib/math.in.h: Likewise.
44869         * lib/netdb.in.h: Likewise.
44870         * lib/netinet_in.in.h: Likewise.
44871         * lib/search.in.h: Likewise.
44872         * lib/signal.in.h: Likewise.
44873         * lib/spawn.in.h: Likewise.
44874         * lib/stdarg.in.h: Likewise.
44875         * lib/stdint.in.h: Likewise.
44876         * lib/stdio.in.h: Likewise.
44877         * lib/stdlib.in.h: Likewise.
44878         * lib/string.in.h: Likewise.
44879         * lib/strings.in.h: Likewise.
44880         * lib/sys_file.in.h: Likewise.
44881         * lib/sys_ioctl.in.h: Likewise.
44882         * lib/sys_select.in.h: Likewise.
44883         * lib/sys_socket.in.h: Likewise.
44884         * lib/sys_stat.in.h: Likewise.
44885         * lib/sys_time.in.h: Likewise.
44886         * lib/sysexits.in.h: Likewise.
44887         * lib/time.in.h: Likewise.
44888         * lib/unistd.in.h: Likewise.
44889         * lib/wchar.in.h: Likewise.
44890         * lib/wctype.in.h: Likewise.
44891         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44892
44893 2008-10-17  Jim Meyering  <meyering@redhat.com>
44894
44895         ignore-value: don't depend on inline module
44896         * modules/ignore-value (Depends-on): Remove 'inline'.
44897         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
44898         Suggestion from Bruno Haible.
44899
44900 2008-10-17  Bruno Haible  <bruno@clisp.org>
44901
44902         New implementation of condition variables for Win32.
44903         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
44904         (gl_linked_waitqueue_t): New type.
44905         (gl_cond_t): Use it.
44906         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
44907         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
44908         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
44909         (glthread_cond_init_func, glthread_cond_wait_func,
44910         glthread_cond_timedwait_func, glthread_cond_signal_func,
44911         glthread_cond_broadcast_func, glthread_cond_destroy_func):
44912         Reimplemented on the basis of gl_linked_waitqueue_t.
44913         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
44914         gl_waitqueue_t.
44915         (gl_rwlock_t): Update.
44916         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
44917
44918 2008-10-17  Simon Josefsson  <simon@josefsson.org>
44919
44920         * modules/recvfrom (Depends-on): Add dependency on getpeername.
44921         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44922
44923 2008-10-17  Jim Meyering  <meyering@redhat.com>
44924
44925         ignore-value: new module
44926         * modules/ignore-value: New file.
44927         * lib/ignore-value.h: New file.
44928         * MODULES.html.sh (Compiler warning management): New section,
44929         just for this module.  More to come.
44930
44931 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44932
44933         open-safer.c: avoid 'signed and unsigned in conditional...' warning
44934         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
44935         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
44936
44937 2008-10-16  Jim Meyering  <meyering@redhat.com>
44938
44939         openat-die.c: avoid 'no previous prototype' warning
44940         * lib/openat-die.c: Include "openat.h".
44941         Reported by Reuben Thomas <rrt@sc3d.org>.
44942
44943 2008-10-16  Simon Josefsson  <simon@josefsson.org>
44944
44945         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
44946         * lib/netdb.in.h: Fix typo.
44947         Reported by Bruno Haible  <bruno@clisp.org>
44948
44949         * lib/netdb.in.h: Include sys/socket.h for platforms without
44950         netdb.h, to get structures like hostent on MinGW.
44951         * modules/netdb (Depends-on): Add sys_socket.
44952
44953 2008-10-15  Simon Josefsson  <simon@josefsson.org>
44954
44955         * modules/netdb, modules/netdb-tests: New file.
44956         * m4/netdb_h.m4: New file.
44957         * lib/netdb.in.h: Add, currently just an empty file pending
44958         definitions.
44959         * tests/test-netdb.c: New file.
44960         * doc/posix-headers/netdb.texi: Mention that we replace it if
44961         needed.
44962         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44963         netdb.
44964
44965 2008-10-15  Simon Josefsson  <simon@josefsson.org>
44966
44967         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
44968         with code.
44969
44970 2008-10-13  Bruno Haible  <bruno@clisp.org>
44971
44972         * lib/glthread/cond.c (glthread_cond_wait_func,
44973         glthread_cond_timedwait_func): Add a comment.
44974
44975 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44976
44977         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
44978         * tests/test-select.c: Likewise,
44979
44980 2008-10-13  Bruno Haible  <bruno@clisp.org>
44981
44982         * lib/glthread/cond.c (glthread_cond_wait_func,
44983         glthread_cond_timedwait_func): Fix variable name.
44984         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44985
44986 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
44987
44988         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
44989         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
44990         struct sockaddr.sa_len.
44991         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
44992
44993 2008-10-13  Simon Josefsson  <simon@josefsson.org>
44994
44995         * build-aux/pmccabe2html: Add css and css_url parameters.
44996
44997 2008-10-12  Bruno Haible  <bruno@clisp.org>
44998
44999         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
45000         calling aclx_get.
45001         Reported by Rainer Tammer <tammer@tammer.net>.
45002
45003 2008-10-12  Bruno Haible  <bruno@clisp.org>
45004
45005         Use msvcrt aware primitives for creation/termination of Win32 threads.
45006         * lib/glthread/thread.c: Include <process.h>.
45007         (glthread_create_func): Use _beginthreadex instead of CreateThread.
45008         (wrapper_func): Update signature.
45009         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
45010
45011 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45012             Bruno Haible  <bruno@clisp.org>
45013
45014         Provide a Win32 implementation of the 'cond' module.
45015         * lib/glthread/cond.h [USE_WIN32]: New implementation.
45016         * lib/glthread/cond.c (glthread_cond_init_func,
45017         glthread_cond_wait_func, glthread_cond_timedwait_func,
45018         glthread_cond_signal_func, glthread_cond_broadcast_func,
45019         glthread_cond_destroy_func) [USE_WIN32]: New functions.
45020         * modules/cond (Dependencies): Add gettimeofday.
45021
45022 2008-10-11  Bruno Haible  <bruno@clisp.org>
45023
45024         Make sleep work on older versions of mingw.
45025         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
45026         only whether it exists.
45027         * doc/posix-functions/sleep.texi: Mention the problem with older
45028         versions of mingw.
45029
45030 2008-10-11  Bruno Haible  <bruno@clisp.org>
45031
45032         New module 'shutdown'.
45033         * modules/shutdown: New file.
45034         * lib/sys_socket.in.h (shutdown): New declaration.
45035         * lib/winsock.c (shutdown): New function.
45036         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45037         GNULIB_SHUTDOWN.
45038         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
45039         * doc/posix-functions/shutdown.texi: Document the new module.
45040
45041 2008-10-11  Jim Meyering  <meyering@redhat.com>
45042
45043         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
45044
45045 2008-10-11  Bruno Haible  <bruno@clisp.org>
45046
45047         New module 'fclose'.
45048         * modules/fclose: New file.
45049         * lib/stdio.in.h (fclose): New declaration.
45050         * lib/fclose.c: New file.
45051         * m4/fclose.m4: New file.
45052         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
45053         REPLACE_FCLOSE.
45054         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
45055         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
45056         REPLACE_FCLOSE.
45057         * modules/close (Depends-on): fclose.
45058         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
45059
45060 2008-10-11  Bruno Haible  <bruno@clisp.org>
45061
45062         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
45063         set errno and don't call _close.
45064
45065 2008-10-10  Bruno Haible  <bruno@clisp.org>
45066
45067         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
45068         ACL, not afterwards. Fixes test failure on Cygwin.
45069
45070 2008-10-09  Ben Pfaff  <blp@gnu.org>
45071
45072         * build-aux/announce-gen: Fix gnulib version related part of usage
45073         message.  Die with a useful error message if no tarballs are
45074         found.
45075
45076 2008-10-10  Jim Meyering  <meyering@redhat.com>
45077
45078         bootstrap: use git's --depth=N option only if it's supported
45079         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
45080         recognize the --depth option.  Reported by Pádraig Brady.
45081
45082 2008-10-09  Bruno Haible  <bruno@clisp.org>
45083
45084         New module 'ioctl'.
45085         * modules/ioctl: New file.
45086         * lib/sys_socket.in.h (ioctl): Remove declaration.
45087         * lib/winsock.c: Include <sys/ioctl.h>.
45088         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
45089         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45090         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
45091         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
45092         * doc/posix-functions/ioctl.texi: Mention the new module.
45093
45094 2008-10-09  Bruno Haible  <bruno@clisp.org>
45095
45096         New module 'sys_ioctl'.
45097         * lib/sys_ioctl.in.h: New file.
45098         * m4/sys_ioctl_h.m4: New file.
45099         * modules/sys_ioctl: New file.
45100         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
45101
45102 2008-10-09  Bruno Haible  <bruno@clisp.org>
45103
45104         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
45105         * lib/winsock.c: Include <stdarg.h>.
45106         (rpl_ioctl): Change to second argument 'int' and then varargs.
45107
45108 2008-10-09  Bruno Haible  <bruno@clisp.org>
45109
45110         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
45111         when the sys_socket module is present and the system has <winsock2.h>.
45112
45113 2008-10-09  Bruno Haible  <bruno@clisp.org>
45114
45115         * doc/posix-functions/close.texi: Mention module 'close' instead of
45116         module 'sys_socket'.
45117
45118 2008-10-09  Bruno Haible  <bruno@clisp.org>
45119
45120         * doc/glibc-headers/sys_ioctl.texi: New file.
45121         * doc/gnulib.texi: Include it.
45122
45123 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45124             Bruno Haible  <bruno@clisp.org>
45125
45126         Combine the two replacements of 'close'.
45127         * lib/sys_socket.in.h (close): Define to a reminder to include
45128         <unistd.h>.
45129         (_gl_close_fd_maybe_socket): New declaration.
45130         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
45131         * lib/winsock.c (close): Remove undefinition.
45132         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
45133         needed for the gnulib module 'close'.
45134         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
45135         define to an error symbol or to a warning, if suitable.
45136         * lib/close.c: Include <sys/socket.h>.
45137         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
45138         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
45139         UNISTD_H_HAVE_WINSOCK2_H.
45140         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
45141         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45142         UNISTD_H_HAVE_WINSOCK2_H.
45143         * modules/sys_socket (Files): Add m4/unistd_h.m4.
45144         (configure.ac): Set a module indicator.
45145         (Makefile.am): Substitute GNULIB_CLOSE.
45146         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
45147         * modules/poll-tests (Depends-on): Add close.
45148         * modules/select-tests (Depends-on): Likewise.
45149
45150 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45151             Bruno Haible  <bruno@clisp.org>
45152
45153         New module 'close'.
45154         * modules/close: New file.
45155         * lib/unistd.in.h (close): Move declaration out of the
45156         FCHDIR_REPLACEMENT scope.
45157         (_gl_unregister_fd): New declaration.
45158         * lib/close.c: New file.
45159         * lib/fchdir.c (rpl_close): Remove function.
45160         * m4/close.m4: New file.
45161         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45162         close.
45163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
45164         REPLACE_CLOSE.
45165         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
45166         REPLACE_CLOSE.
45167         * modules/fchdir (Depends-on): Add close.
45168
45169 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45170             Bruno Haible  <bruno@clisp.org>
45171
45172         * lib/fcntl.in.h (open): Simplify conditionals.
45173         (_gl_register_fd): New declaration.
45174         * lib/fchdir.c (rpl_open): Remove function.
45175         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
45176         also.
45177         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
45178         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45179         open.
45180
45181 2008-10-09  Jim Meyering  <meyering@redhat.com>
45182
45183         GNUmakefile: use the more name-space-friendly "_version"
45184         * top/GNUmakefile (_dummy): Update.
45185         (_version): Rename from "version".
45186
45187 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45188             Bruno Haible  <bruno@clisp.org>
45189
45190         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
45191         rpl_close.
45192         (_gl_register_fd): New function, extracted from rpl_open.
45193         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
45194         (rpl_open, rpl_opendir): Use _gl_register_fd.
45195
45196 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45197
45198         Fix organization of 'open' replacement.
45199         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
45200         (gl_FUNC_OPEN): Use it.
45201         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
45202
45203 2008-10-08  Bruno Haible  <bruno@clisp.org>
45204
45205         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
45206
45207 2008-10-08  Simon Josefsson  <simon@josefsson.org>
45208
45209         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
45210         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
45211         listen).
45212
45213 2008-10-08  Eric Blake  <ebb9@byu.net>
45214
45215         GNUmakefile: add 'make version' target
45216         * top/GNUmakefile (_curr-ver): Split version update rules...
45217         (version): ...into a target.
45218
45219 2008-10-07  Bruno Haible  <bruno@clisp.org>
45220
45221         Use a more portable replacement expression for -0.0L.
45222         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
45223         instead of -0.0L. Fix m4 quotation.
45224
45225         * tests/test-signbit.c: Include <float.h>.
45226         (minus_zero): New variable.
45227         (test_signbitl): Use minus_zero instead of -zero.
45228         * modules/signbit-tests (Depends-on): Add float.
45229
45230         * tests/test-ceill.c: Include <float.h>.
45231         (zero): Remove variable.
45232         (minus_zero): New variable.
45233         (main): Use minus_zero instead of -zero.
45234         * modules/ceill-tests (Depends-on): Add float.
45235
45236         * tests/test-floorl.c: Include <float.h>.
45237         (zero): Remove variable.
45238         (minus_zero): New variable.
45239         (main): Use minus_zero instead of -zero.
45240         * modules/floorl-tests (Depends-on): Add float.
45241
45242         * tests/test-roundl.c: Include <float.h>.
45243         (zero): Remove variable.
45244         (minus_zero): New variable.
45245         (main): Use minus_zero instead of -zero.
45246         * modules/roundl-tests (Depends-on): Add float.
45247
45248         * tests/test-truncl.c: Include <float.h>.
45249         (zero): Remove variable.
45250         (minus_zero): New variable.
45251         (main): Use minus_zero instead of -zero.
45252         * modules/truncl-tests (Depends-on): Add float.
45253
45254         * tests/test-frexpl.c (zero): Remove variable.
45255         (minus_zero): New variable.
45256         (main): Use minus_zero instead of -zero.
45257         * modules/frexpl-tests (Depends-on): Add float.
45258
45259         * tests/test-isnan.c (zerol): Remove variable.
45260         (minus_zerol): New variable.
45261         (test_long_double): Use minus_zerol instead of -zerol.
45262         * modules/isnan-tests (Depends-on): Add float.
45263
45264         * tests/test-isnanl.h (zero): Remove variable.
45265         (minus_zero): New variable.
45266         (main): Use minus_zero instead of -zero.
45267         * modules/isnanl-nolibm-tests (Depends-on): Add float.
45268         * modules/isnanl-tests (Depends-on): Add float.
45269
45270         * tests/test-ldexpl.c (zero): Remove variable.
45271         (minus_zero): New variable.
45272         (main): Use minus_zero instead of -zero.
45273         * modules/ldexpl-tests (Depends-on): Add float.
45274
45275         * tests/test-snprintf-posix.h (zerol): Remove variable.
45276         (minus_zerol): New variable.
45277         (test_function): Use minus_zerol instead of -zerol.
45278         * modules/snprintf-posix-tests (Depends-on): Add float.
45279         * modules/vsnprintf-posix-tests (Depends-on): Add float.
45280
45281         * tests/test-sprintf-posix.h (zerol): Remove variable.
45282         (minus_zerol): New variable.
45283         (test_function): Use minus_zerol instead of -zerol.
45284         * modules/sprintf-posix-tests (Depends-on): Add float.
45285         * modules/vsprintf-posix-tests (Depends-on): Add float.
45286
45287         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
45288         (minus_zerol): New variable.
45289         (test_function): Use minus_zerol instead of -zerol.
45290         * modules/vasnprintf-posix-tests (Depends-on): Add float.
45291
45292         * tests/test-vasprintf-posix.c (zerol): Remove variable.
45293         (minus_zerol): New variable.
45294         (test_function): Use minus_zerol instead of -zerol.
45295         * modules/vasprintf-posix-tests (Depends-on): Add float.
45296
45297 2008-10-07  Simon Josefsson  <simon@josefsson.org>
45298
45299         * MODULES.html.sh (Support for building documentation): Mention
45300         pmccabe2html.  Sort entries.
45301
45302         Add pmccabe2html module, from gnupdf.
45303         * build-aux/pmccabe.css: New file.
45304         * build-aux/pmccabe2html: New file.
45305         * m4/pmccabe2html.m4: New file.
45306         * modules/pmccabe2html: New file.
45307
45308 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
45309
45310         flock: new module
45311         * MODULES.html.sh: Add to list of modules.
45312         * lib/flock.c: flock implementation for Windows and Unix systems
45313         which have fcntl.
45314         * doc/glibc-functions/flock.texi: Update documentation.
45315         * lib/sys_file.in.h: <sys/file.h> header file.
45316         * m4/flock.m4: M4 macros.
45317         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
45318         * modules/flock: flock module.
45319         * modules/flock-tests: flock tests module.
45320         * modules/sys_file: sys/file.h module.
45321         * tests/test-flock.c: test suite for flock.
45322
45323 2008-10-06  Jim Meyering  <meyering@redhat.com>
45324
45325         bootstrap: check for LT_INIT more portably still ;-)
45326         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
45327         Spotted by Bruno Haible.
45328
45329 2008-10-06  Eric Blake  <ebb9@byu.net>
45330
45331         test-signbit: avoid tripping Irix cc bug on -0.0L
45332         * tests/test-signbit.c (minus_zerol): Delete, and replace with
45333         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
45334         entire testsuite consistent and avoids an Irix 6.2 bug.
45335
45336 2008-10-05  Bruno Haible  <bruno@clisp.org>
45337             Jim Meyering  <jim@meyering.net>
45338
45339         Add an option for ignoring EPIPE during close_stdout.
45340         * lib/closeout.h: Include <stdbool.h>.
45341         (close_stdout_set_ignore_EPIPE): New declaration.
45342         * lib/closeout.c: Include <stdbool.h>.
45343         (ignore_EPIPE): New variable.
45344         (close_stdout_set_ignore_EPIPE): New function.
45345         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
45346         * lib/close-stream.c (close_stream): Mention the possible EPIPE
45347         failure.
45348         * modules/closeout (Depends-on): Add stdbool.
45349
45350 2008-10-05  Bruno Haible  <bruno@clisp.org>
45351
45352         * modules/accept: New file.
45353         * modules/bind: New file.
45354         * modules/connect: New file.
45355         * modules/getpeername: New file.
45356         * modules/getsockname: New file.
45357         * modules/getsockopt: New file.
45358         * modules/listen: New file.
45359         * modules/recv: New file.
45360         * modules/recvfrom: New file.
45361         * modules/send: New file.
45362         * modules/sendto: New file.
45363         * modules/setsockopt: New file.
45364         * modules/socket: New file.
45365         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
45366         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
45367         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
45368         the particular module is requested. Add a link warning when the
45369         particular module is not requested.
45370         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
45371         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
45372         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
45373         the particular module is requested.
45374         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
45375         gl_SYS_SOCKET_H_DEFAULTS): New macros.
45376         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
45377         * modules/sys_socket (Depends-on): Add link-warning.
45378         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
45379         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
45380         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
45381         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
45382         GL_LINK_WARNING.
45383         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
45384         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
45385         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
45386         * doc/posix-functions/getpeername.texi: Mention the new module
45387         'getpeername'.
45388         * doc/posix-functions/getsockname.texi: Mention the new module
45389         'getsockname'.
45390         * doc/posix-functions/getsockopt.texi: Mention the new module
45391         'getsockopt'.
45392         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
45393         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
45394         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
45395         * doc/posix-functions/send.texi: Mention the new module 'send'.
45396         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
45397         * doc/posix-functions/setsockopt.texi: Mention the new module
45398         'setsockopt'.
45399         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
45400         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
45401         listen, connect, accept.
45402         * modules/select-tests (Depends-on): Likewise.
45403
45404 2008-10-05  Bruno Haible  <bruno@clisp.org>
45405
45406         * lib/winsock.c (strerror): Remove unused #undef.
45407         (rpl_close): Remove unused local variable.
45408
45409         * modules/sys_socket (Depends-on); Add errno.
45410
45411 2008-10-05  Bruno Haible  <bruno@clisp.org>
45412
45413         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
45414         (select): Add a link warning when the 'select' module is not used.
45415         * modules/sys_select (Depends-on): Add link-warning.
45416         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
45417         Suggested by Paolo Bonzini.
45418
45419 2008-10-05  Jim Meyering  <meyering@redhat.com>
45420
45421         bootstrap: check for LT_INIT more portably
45422         * build-aux/bootstrap: Avoid using grep -E, since it's not
45423         portable enough.  Suggestion from Bruno Haible.
45424
45425 2008-10-05  Bruno Haible  <bruno@clisp.org>
45426
45427         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
45428         as being fixed by gnulib.
45429
45430 2008-10-05  Bruno Haible  <bruno@clisp.org>
45431
45432         * modules/select-tests: New file, mostly copied from
45433         modules/sys_select-tests.
45434         * tests/test-select.c: New file, mostly copied from
45435         tests/test-sys_select.c.
45436         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
45437         * modules/sys_select-tests (Depends-on): Remove all dependencies.
45438         (Makefile.am): Remove test_sys_select_LDADD.
45439
45440         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
45441         to an undefined symbol, for an error message.
45442         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
45443         (gl_SYS_SELECT_H_DEFAULTS): New macro.
45444         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
45445         winsock-select.c here.
45446         * modules/sys_select (Files): Remove lib/winsock-select.c.
45447         (Depends-on): Remove alloca.
45448         (Makefile.am): Substitute GNULIB_SELECT.
45449         * modules/select: New file.
45450         * doc/posix-functions/select.texi: Update.
45451
45452 2008-10-05  Bruno Haible  <bruno@clisp.org>
45453
45454         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
45455         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
45456         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
45457         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
45458         getdtablesize.
45459         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
45460         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
45461
45462 2008-10-05  Bruno Haible  <bruno@clisp.org>
45463
45464         * modules/getdtablesize-tests: New file.
45465         * tests/test-getdtablesize.c: New file.
45466
45467         New module 'getdtablesize'.
45468         * lib/unistd.in.h (getdtablesize): New declaration.
45469         * lib/getdtablesize.c: New file.
45470         * m4/getdtablesize.m4: New file.
45471         * modules/getdtablesize: New file.
45472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45473         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45474         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45475         HAVE_GETDTABLESIZE.
45476         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45477
45478 2008-10-05  Bruno Haible  <bruno@clisp.org>
45479
45480         * modules/sched (Makefile.am): Fix typo.
45481         Reported by Simon Josefsson.
45482
45483 2008-10-05  Jim Meyering  <meyering@redhat.com>
45484
45485         bootstrap: check for LT_INIT, too
45486         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45487         are deprecated.  Suggestion from Ralf Wildenhues.
45488
45489 2008-10-05  Bruno Haible  <bruno@clisp.org>
45490
45491         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45492         overriding them by ours.
45493         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45494
45495 2008-10-05  Jim Meyering  <meyering@redhat.com>
45496
45497         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45498         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45499         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45500
45501 2008-10-04  Bruno Haible  <bruno@clisp.org>
45502
45503         * modules/dup2 (License): Change to LGPLv2+.
45504         * modules/sleep (License): Likewise.
45505         * modules/perror (License): Likewise.
45506         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45507         Blake.
45508         * modules/signal (License): Likewise.
45509         * modules/sigprocmask (License): Likewise.
45510         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45511         Meyering.
45512
45513 2008-10-04  Bruno Haible  <bruno@clisp.org>
45514
45515         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45516         Reported by Rainer Tammer <tammer@tammer.net>.
45517
45518 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45519             Bruno Haible  <bruno@clisp.org>
45520
45521         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45522         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45523         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45524
45525 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
45526
45527         filevercmp: new module
45528         * lib/filevercmp.h: New function filevercmp comparing version strings.
45529         * lib/filevercmp.c: Implementation of filevercmp function.
45530         * modules/filevercmp: Module metadata.
45531         * tests/test-filevercmp.c: Unit test for new module.
45532         * modules/filevercmp-tests: Unit test metadata.
45533         * MODULES.html.sh: Add filevercmp module.
45534
45535 2008-10-03  Bruno Haible  <bruno@clisp.org>
45536
45537         * lib/c-ctype.h: Add comment.
45538         Reported by Jim Meyering.
45539
45540 2008-10-02  Bruno Haible  <bruno@clisp.org>
45541
45542         * modules/posix_spawn-internal (Depends-on): Add 'open'.
45543
45544 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45545
45546         * build-aux/bootstrap: Allow renaming bootstrap, and change the
45547         name of bootstrap.conf accordingly.
45548
45549 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45550
45551         * build-aux/bootstrap: Install git-merge-changelog configuration
45552         items into .gitconfig if needed.
45553
45554 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45555
45556         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
45557         git repository, and initialize/update it accordingly.
45558
45559 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
45560
45561         * modules/fsync-tests: New file.
45562         * tests/test-fsync.c: New file.
45563
45564         New module 'fsync'.
45565         * lib/fsync.c: New file.
45566         * m4/fsync.m4: New file.
45567         * modules/fsync: New file.
45568         * lib/unistd.in.h (fsync): New declaration.
45569         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
45570         GNULIB_FSYNC and HAVE_FSYNC.
45571         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
45572         * MODULES.html.sh (posix_functions): Add fsync.
45573         * doc/posix-functions/fsync.texi: Mention the new module.
45574
45575 2008-10-02  Jim Meyering  <meyering@redhat.com>
45576
45577         fts.c: sync with similar code from coreutils' remove.c
45578         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
45579         Guard also with "#if defined __linux__", since for now at least,
45580         this code is Linux-kernel-specific.
45581
45582 2008-10-02  Jim Meyering  <meyering@redhat.com>
45583
45584         fts: bug fixes
45585         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
45586         Include <sys/vfs.h>, not <sys/statfs.h>.
45587
45588         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
45589         Include <sys/vfs.h>, not <sys/statfs.h>.
45590
45591 2008-10-01  Bruno Haible  <bruno@clisp.org>
45592
45593         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
45594         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
45595         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
45596         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
45597         * doc/posix-functions/posix_spawnp.texi: Likewise.
45598         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
45599         whether posix_spawn actually works.
45600         * m4/pipe.m4 (gl_PIPE): Likewise.
45601         * modules/execute (Files): Add m4/posix_spawn.m4.
45602         * modules/pipe (Files): Add m4/posix_spawn.m4.
45603         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
45604
45605 2008-10-01  Jim Meyering  <meyering@redhat.com>
45606
45607         remove trailing spaces
45608         * NEWS: Likewise.
45609         * lib/poll.c (poll): Likewise.
45610         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
45611         * lib/winsock.c (rpl_close): Likewise.
45612         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
45613         * modules/yield: Likewise.
45614         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
45615         * tests/test-sys_select.c (connect_to_socket): Likewise.
45616
45617         fts.c: adjust a new interface to be more generally useful
45618         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
45619         (fts_build): Adjust caller.
45620
45621 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45622
45623         * modules/cond-tests: New file.
45624         * tests/test-cond.c: New file.
45625
45626 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45627             Bruno Haible  <bruno@clisp.org>
45628
45629         * modules/cond (Dependencies): Add errno, time.
45630         * lib/glthread/cond.h: Include <time.h>.
45631         (gl_cond_define, gl_cond_define_initialized): Use the same definition
45632         across platforms.
45633
45634 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45635             Bruno Haible  <bruno@clisp.org>
45636
45637         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
45638
45639 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45640             Bruno Haible  <bruno@clisp.org>
45641
45642         * modules/tls-tests (Depends-on): Add thread, yield.
45643         (configure.ac): Remove all checks.
45644         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
45645         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45646         gl_thread_self): Remove definitions. Include glthread/thread.h and
45647         glthread/yield.h instead.
45648         (test_tls): Pass an additional NULL argument to gl_thread_join.
45649
45650 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45651             Bruno Haible  <bruno@clisp.org>
45652
45653         * modules/lock-tests (Depends-on): Add thread, yield.
45654         (configure.ac): Remove all checks.
45655         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
45656         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45657         gl_thread_self): Remove definitions. Include glthread/thread.h and
45658         glthread/yield.h instead.
45659         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
45660         additional NULL argument to gl_thread_join.
45661
45662 2008-09-30  Bruno Haible  <bruno@clisp.org>
45663
45664         Fix the Win32 implementation of the 'thread' module.
45665         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
45666         pointer type.
45667         (gl_thread_self): Invoke gl_thread_self_func.
45668         (gl_thread_self_func): New declaration.
45669         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
45670         (do_init_self_key, init_self_key): New functions.
45671         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
45672         Remove some fields.
45673         (running_threads, running_lock): Remove variables.
45674         (get_current_thread_handle): New function.
45675         (gl_thread_self_func, wrapper_func, glthread_create_func,
45676         glthread_join_func, gl_thread_exit_func): Largely rewritten and
45677         simplified.
45678
45679 2008-09-30  Bruno Haible  <bruno@clisp.org>
45680
45681         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
45682         files.
45683
45684 2008-09-30  Jim Meyering  <meyering@redhat.com>
45685
45686         fts.m4: correct the test for statfs.f_type
45687         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
45688         when checking for statfs.f_type.
45689
45690 2008-09-15  Simon Josefsson  <simon@josefsson.org>
45691
45692         tests: avoid some compiler warnings
45693         * tests/test-memchr.c (main): Pass NULL indirectly.
45694         * tests/test-getdate.c (main): Remove unused variable 'ret'.
45695
45696 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
45697
45698         getdate.y: disallow countable dayshifts like "4 yesterday ago"
45699         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
45700         exactly specified dayshifts.
45701         (dayshift): New rule.
45702         (rel): Add dayshift.
45703         (relative_time_table) [tomorrow, yesterday, today, now]:
45704         Use tDAY_SHIFT in place of tDAY_UNIT.
45705         * tests/test-getdate.c: Add tests for now-disallowed countable
45706         dayshifts, e.g., "4 yesterday ago".
45707
45708 2008-09-29  Bruno Haible  <bruno@clisp.org>
45709
45710         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
45711         * tests/test-posix_spawn1.in.sh: Renamed from
45712         tests/test-posix_spawn.in.sh.
45713         * tests/test-posix_spawn2.c: New file.
45714         * tests/test-posix_spawn2.in.sh: New file.
45715         * modules/posix_spawnp-tests (Files): Update.
45716         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
45717
45718 2008-09-29  Bruno Haible  <bruno@clisp.org>
45719
45720         Propagate effects of putenv/setenv/unsetenv to child processes.
45721         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
45722         * lib/pipe.c (create_pipe): Likewise.
45723
45724 2008-09-29  Bruno Haible  <bruno@clisp.org>
45725
45726         Enable use of shell scripts as executables in mingw.
45727         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
45728         run the program as a shell script.
45729         * lib/pipe.c (create_pipe): Likewise.
45730         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
45731         resulting array.
45732
45733 2008-09-29  Eric Blake  <ebb9@byu.net>
45734
45735         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
45736
45737 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
45738
45739         * doc/posix-functions/accept.texi: Update mingw problems.
45740         * doc/posix-functions/bind.texi: Update mingw problems.
45741         * doc/posix-functions/close.texi: Update mingw problems.
45742         * doc/posix-functions/connect.texi: Update mingw problems.
45743         * doc/posix-functions/getpeername.texi: Update mingw problems.
45744         * doc/posix-functions/getsockname.texi: Update mingw problems.
45745         * doc/posix-functions/getsockopt.texi: Update mingw problems.
45746         * doc/posix-functions/ioctl.texi: Update mingw problems.
45747         * doc/posix-functions/listen.texi: Update mingw problems.
45748         * doc/posix-functions/recv.texi: Update mingw problems.
45749         * doc/posix-functions/recvfrom.texi: Update mingw problems.
45750         * doc/posix-functions/select.texi: Update mingw problems.
45751         * doc/posix-functions/send.texi: Update mingw problems.
45752         * doc/posix-functions/sendto.texi: Update mingw problems.
45753         * doc/posix-functions/setsockopt.texi: Update mingw problems.
45754         * doc/posix-functions/socket.texi: Update mingw problems.
45755
45756 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
45757             Bruno Haible  <bruno@clisp.org>
45758
45759         * lib/sys_select.in.h: Include sys/time.h.
45760         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
45761         * modules/sys_select: Depend on sys_time.
45762         * tests/test-sys_select.c: Test that sys/select.h defines struct
45763         timeval fully.
45764
45765 2008-09-29  Bruno Haible  <bruno@clisp.org>
45766
45767         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
45768         * lib/sys_select.in.h: Likewise.
45769
45770 2008-09-29  Bruno Haible  <bruno@clisp.org>
45771
45772         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
45773
45774 2008-09-29  Bruno Haible  <bruno@clisp.org>
45775
45776         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
45777         Set LIBSOCKET instead of augmenting LIBS.
45778         * modules/sockets (Link): New section.
45779         * modules/sockets-tests (test_sockets_LDADD): New variable.
45780         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
45781         * modules/poll-tests (test_poll_LDADD): New variable.
45782         * NEWS: Document the change.
45783
45784 2008-09-29  Bruno Haible  <bruno@clisp.org>
45785
45786         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
45787         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
45788         ARPA_INET_H directly.
45789         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45790
45791 2008-09-28  Bruno Haible  <bruno@clisp.org>
45792
45793         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
45794         from gl_HEADER_SYS_SOCKET.
45795         (gl_HEADER_SYS_SOCKET): Invoke it.
45796         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45797
45798 2008-09-28  Bruno Haible  <bruno@clisp.org>
45799
45800         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
45801         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
45802         Needed on OSF/1 4.0.
45803
45804 2008-09-28  Bruno Haible  <bruno@clisp.org>
45805
45806         Override open more carefully.
45807         * lib/open.c (orig_open): New function.
45808         (rpl_open): Use orig_open instead of open.
45809         * lib/fcntl.in.h: Add special invocation convention.
45810         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
45811         (gl_FUNC_OPEN): Invoke it.
45812
45813         Override freopen more carefully.
45814         * lib/freopen.c (orig_freopen): New function.
45815         (rpl_freopen): Use orig_freopen instead of freopen.
45816         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
45817         (gl_FUNC_FREOPEN): Invoke it.
45818
45819         Override fopen more carefully.
45820         * lib/fopen.c (orig_fopen): New function.
45821         (rpl_fopen): Use orig_fopen instead of fopen.
45822         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
45823         (gl_FUNC_FOPEN): Invoke it.
45824         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
45825
45826 2008-09-28  Bruno Haible  <bruno@clisp.org>
45827
45828         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
45829         SIGPIPE.
45830
45831 2008-09-28  Bruno Haible  <bruno@clisp.org>
45832
45833         * tests/test-sigaction.c (handler, main): Disable the check whether
45834         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
45835         glibc systems with LinuxThreads.
45836
45837 2008-09-28  Bruno Haible  <bruno@clisp.org>
45838
45839         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
45840
45841         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
45842         with AIX xlc.
45843         * lib/fcntl.in.h (open): Likewise.
45844         Reported by Rainer Tammer <tammer@tammer.net>.
45845
45846 2008-09-28  Bruno Haible  <bruno@clisp.org>
45847
45848         * modules/posix_spawnp-tests: New file.
45849         * tests/test-posix_spawn.c: New file.
45850         * tests/test-posix_spawn.in.sh: New file.
45851
45852         New module 'posix_spawnp'.
45853         * modules/posix_spawnp: New file.
45854         * lib/spawnp.c: New file, from GNU libc with modifications.
45855         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
45856
45857         New module 'posix_spawn'.
45858         * modules/posix_spawn: New file.
45859         * lib/spawn.c: New file, from GNU libc with modifications.
45860         * doc/posix-functions/posix_spawn.texi: Mention the new module.
45861
45862         New module 'posix_spawnattr_destroy'.
45863         * modules/posix_spawnattr_destroy: New file.
45864         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
45865         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
45866         module.
45867
45868         New module 'posix_spawnattr_setsigmask'.
45869         * modules/posix_spawnattr_setsigmask: New file.
45870         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
45871         modifications.
45872         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
45873         new module.
45874
45875         New module 'posix_spawnattr_getsigmask'.
45876         * modules/posix_spawnattr_getsigmask: New file.
45877         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
45878         modifications.
45879         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
45880         new module.
45881
45882         New module 'posix_spawnattr_setsigdefault'.
45883         * modules/posix_spawnattr_setsigdefault: New file.
45884         * lib/spawnattr_setdefault.c: New file, from GNU libc with
45885         modifications.
45886         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
45887         new module.
45888
45889         New module 'posix_spawnattr_getsigdefault'.
45890         * modules/posix_spawnattr_getsigdefault: New file.
45891         * lib/spawnattr_getdefault.c: New file, from GNU libc with
45892         modifications.
45893         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
45894         new module.
45895
45896         New module 'posix_spawnattr_setschedpolicy'.
45897         * modules/posix_spawnattr_setschedpolicy: New file.
45898         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
45899         modifications.
45900         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
45901         new module.
45902
45903         New module 'posix_spawnattr_getschedpolicy'.
45904         * modules/posix_spawnattr_getschedpolicy: New file.
45905         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
45906         modifications.
45907         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
45908         new module.
45909
45910         New module 'posix_spawnattr_setschedparam'.
45911         * modules/posix_spawnattr_setschedparam: New file.
45912         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
45913         modifications.
45914         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
45915         new module.
45916
45917         New module 'posix_spawnattr_getschedparam'.
45918         * modules/posix_spawnattr_getschedparam: New file.
45919         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
45920         modifications.
45921         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
45922         new module.
45923
45924         New module 'posix_spawnattr_setpgroup'.
45925         * modules/posix_spawnattr_setpgroup: New file.
45926         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
45927         modifications.
45928         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
45929         module.
45930
45931         New module 'posix_spawnattr_getpgroup'.
45932         * modules/posix_spawnattr_getpgroup: New file.
45933         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
45934         modifications.
45935         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
45936         module.
45937
45938         New module 'posix_spawnattr_setflags'.
45939         * modules/posix_spawnattr_setflags: New file.
45940         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
45941         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
45942         module.
45943
45944         New module 'posix_spawnattr_getflags'.
45945         * modules/posix_spawnattr_getflags: New file.
45946         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
45947         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
45948         module.
45949
45950         New module 'posix_spawnattr_init'.
45951         * modules/posix_spawnattr_init: New file.
45952         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
45953         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
45954         module.
45955
45956         New module 'posix_spawn_file_actions_destroy'.
45957         * modules/posix_spawn_file_actions_destroy: New file.
45958         * lib/spawn_faction_destroy.c: New file, from GNU libc with
45959         modifications.
45960         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
45961         the new module.
45962
45963         New module 'posix_spawn_file_actions_addopen'.
45964         * modules/posix_spawn_file_actions_addopen: New file.
45965         * lib/spawn_faction_addopen.c: New file, from GNU libc with
45966         modifications.
45967         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
45968         the new module.
45969
45970         New module 'posix_spawn_file_actions_adddup2'.
45971         * modules/posix_spawn_file_actions_adddup2: New file.
45972         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
45973         modifications.
45974         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
45975         the new module.
45976
45977         New module 'posix_spawn_file_actions_addclose'.
45978         * modules/posix_spawn_file_actions_addclose: New file.
45979         * lib/spawn_faction_addclose.c: New file, from GNU libc with
45980         modifications.
45981         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
45982         the new module.
45983
45984         New module 'posix_spawn_file_actions_init'.
45985         * modules/posix_spawn_file_actions_init: New file.
45986         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
45987         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
45988         new module.
45989
45990         New module 'posix_spawn-internal'.
45991         * modules/posix_spawn-internal: New file.
45992         * lib/spawn_int.h: New file, from GNU libc with modifications.
45993         * lib/spawni.c: New file, from GNU libc with modifications.
45994         * m4/posix_spawn.m4: New file.
45995
45996         New module 'spawn'.
45997         * modules/spawn: New file.
45998         * lib/spawn.in.h: New file, from GNU libc with modifications.
45999         * m4/spawn_h.m4: New file.
46000         * doc/posix-headers/spawn.texi: Mention the new module.
46001
46002 2008-09-28  Bruno Haible  <bruno@clisp.org>
46003
46004         * modules/sched-tests: New file.
46005         * tests/test-sched.c: New file.
46006
46007         New module 'sched'.
46008         * modules/sched: New file.
46009         * lib/sched.in.h: New file.
46010         * m4/sched_h.m4: New file.
46011         * doc/posix-headers/sched.texi: Mention the new module.
46012
46013 2008-09-27  Eric Blake  <ebb9@byu.net>
46014
46015         Fix previous patch, and tweak references to $0.
46016         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
46017         (func_version, func_gnulib_dir): Don't call this program
46018         gnulib-tool.
46019         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
46020         with using $0 in function.
46021         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
46022         (func_fatal_error): Reuse the name the user invoked us with.
46023
46024 2008-09-27  Bruno Haible  <bruno@clisp.org>
46025
46026         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
46027         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
46028         (gl_ICONV_H): Not here.
46029         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
46030         instead of assigning ICONV_H directly.
46031
46032         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
46033         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
46034         WCHAR_H directly.
46035
46036 2008-09-27  Bruno Haible  <bruno@clisp.org>
46037
46038         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
46039         * modules/arpa_inet (Depends-on): Add link-warning.
46040         (Makefile.am): Insert the definition of GL_LINK-WARNING.
46041         * modules/unistd (Makefile.am): Likewise.
46042
46043 2008-09-26  Bruno Haible  <bruno@clisp.org>
46044
46045         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
46046         variables.
46047         (func_version): Essentially copied from gnulib-tool.
46048         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
46049         func_readlink): Copied from gnulib-tool.
46050
46051 2008-09-26  Bruno Haible  <bruno@clisp.org>
46052
46053         * gnulib-tool (func_version): Change directory to $gnulib_dir before
46054         invoking git-version-gen.
46055
46056 2008-09-26  Bruno Haible  <bruno@clisp.org>
46057
46058         * posix-modules: Update to directory names changed on 2008-01-19.
46059         Remove commas in output before splitting into words. No more need to
46060         avoid 'ftruncate' since 2007-02-19.
46061
46062 2008-09-26  Bruno Haible  <bruno@clisp.org>
46063
46064         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
46065
46066 2008-09-26  Bruno Haible  <bruno@clisp.org>
46067
46068         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
46069         * modules/fwriteerror (Depends-on): Add errno.
46070
46071 2008-09-26  Bruno Haible  <bruno@clisp.org>
46072
46073         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
46074         * tests/test-vc-list-files-cvs.sh: Likewise.
46075
46076 2008-09-26  Bruno Haible  <bruno@clisp.org>
46077
46078         * doc/posix-headers/sys_resource.texi: Reorder items.
46079
46080 2008-09-26  Jim Meyering  <meyering@redhat.com>
46081
46082         fts: tweak inode comparison function
46083         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
46084         inode numbers, as documented.
46085
46086         fts: sort dirent entries on inode number before traversing
46087         This avoids a quadratic, seek-related performance penalty when
46088         operating on a directory containing many entries (measurable at 10k;
46089         3.5 hours at 2 million entries with a cold cache) on certain types
46090         of file systems, including ext3 and ext4, but not tmpfs.
46091         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
46092         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
46093         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
46094         (fs_handles_readdir_ordered_dirents_efficiently): New function.
46095         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
46096         (fts_build): Set the stat.st_ino member from D_INO.
46097         If it is likely to be useful, sort dirent entries on inode number.
46098
46099         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
46100         and the struct statfs.f_type member.
46101         * modules/fts (Depends-on): Add d-ino.
46102
46103 2008-09-26  Bruno Haible  <bruno@clisp.org>
46104
46105         * modules/sigpipe-die (Depends-on): Add sigpipe.
46106
46107         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
46108         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
46109         and GNULIB_STDIO_H_SIGPIPE are set.
46110         * lib/stdio-write.c: New file.
46111         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
46112         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46113         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46114         REPLACE_STDIO_WRITE_FUNCS.
46115         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
46116         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46117         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46118         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46119         * modules/stdio (Files): Add lib/stdio-write.c.
46120         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
46121         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46122         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46123         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46124         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
46125         REPLACE_FPRINTF_POSIX.
46126         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
46127         REPLACE_PRINTF_POSIX.
46128         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
46129         REPLACE_VFPRINTF_POSIX.
46130         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
46131         REPLACE_VPRINTF_POSIX.
46132         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
46133         SIGPIPE issue.
46134         * doc/posix-functions/fputc.texi: Likewise.
46135         * doc/posix-functions/fputs.texi: Likewise.
46136         * doc/posix-functions/fwrite.texi: Likewise.
46137         * doc/posix-functions/printf.texi: Likewise.
46138         * doc/posix-functions/putc.texi: Likewise.
46139         * doc/posix-functions/putchar.texi: Likewise.
46140         * doc/posix-functions/puts.texi: Likewise.
46141         * doc/posix-functions/vfprintf.texi: Likewise.
46142         * doc/posix-functions/vprintf.texi: Likewise.
46143
46144         * modules/safe-write (Depends-on): Add write.
46145
46146         * modules/sigpipe-tests: New file.
46147         * tests/test-sigpipe.c: New file.
46148         * tests/test-sigpipe.sh: New file.
46149
46150         * modules/write: New file.
46151         * lib/unistd.in.h: Include <sys/types.h>.
46152         (write): New declaration.
46153         * lib/write.c: New file.
46154         * m4/write.m4: New file.
46155         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46156         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
46157         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
46158         GNULIB_WRITE, REPLACE_WRITE.
46159         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
46160         and the SIGPIPE issue.
46161
46162         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
46163         (raise): New declaration.
46164         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
46165         (ext_signal): New function.
46166         (rpl_raise): New function.
46167         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
46168         GNULIB_SIGNAL_H_SIGPIPE.
46169         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
46170         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
46171
46172         * modules/sigpipe: New file.
46173         * m4/sigpipe.m4: New file.
46174
46175 2008-09-25  Derek Price  <derek@ximbiot.com>
46176             Bruno Haible  <bruno@clisp.org>
46177
46178         * gnulib-tool (func_import): Report all license incompatibilities, not
46179         just the first one.
46180
46181 2008-09-25  Bruno Haible  <bruno@clisp.org>
46182
46183         * gnulib-tool (func_import): When computing the edits, consider not
46184         only the Makefile.ams that exist but also those that will be generated.
46185
46186 2008-09-25  Simon Josefsson  <simon@josefsson.org>
46187
46188         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
46189         fixes gnulib-tool --test warning about duplicate dependency.
46190
46191 2008-09-25  Bruno Haible  <bruno@clisp.org>
46192
46193         * gnulib-tool: Don't ask the user to perform edits in the generated
46194         Makefile.ams.
46195         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
46196         apply to the Makefile.am being generated.
46197         (func_emit_tests_Makefile_am): Execute edits that apply to the
46198         Makefile.am being generated.
46199         (func_import): Setup list of Makefile.am edits before emitting the
46200         Makefile.ams, not at the end.
46201         (func_create_testdir): Update.
46202         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46203
46204 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46205
46206         * gnulib-tool (func_import): Store the --tests-base option in the
46207         comment in gnulib-cache.m4.
46208
46209 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
46210
46211         * NEWS: Document increased portability that sys_select now provides.
46212
46213         * lib/sys_select.in.h: Install select wrapper.
46214         * lib/sys_socket.in.h: Use more descriptive name when there is no
46215         select wrapper.
46216         * lib/winsock-select.c: New.
46217         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
46218         Require gl_HEADER_SYS_SOCKET.
46219         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
46220         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
46221         * tests/test-sys_select.c: Add functional tests.
46222
46223 2008-09-24  Eric Blake  <ebb9@byu.net>
46224
46225         open, fopen: close fd leak in last patch
46226         * lib/open.c (rpl_open): Close fd before returning error.
46227         * lib/fopen.c (rpl_fopen): Close fd before returning error.
46228         * doc/posix-functions/open.texi (open): Document that Irix also
46229         has the bug.
46230         * doc/posix-functions/fopen.texi (fopen): Likewise.
46231         Reported by Paolo Bonzini.
46232
46233 2008-09-24  Bruno Haible  <bruno@clisp.org>
46234
46235         Ensure that a filename ending in a slash cannot be used to access a
46236         non-directory.
46237         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
46238         to check whether it's really a directory.
46239         * lib/fopen.c: Include fcntl.h, unistd.h.
46240         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
46241         and fdopen().
46242         * modules/fopen (Depends-on): Add unistd.
46243         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
46244         * tests/test-fopen.c (main): Likewise.
46245         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
46246         * doc/posix-functions/fopen.texi: Likewise.
46247         Reported by Eric Blake.
46248
46249 2008-09-23  Eric Blake  <ebb9@byu.net>
46250
46251         c-stack: avoid compiler optimizations when provoking overflow
46252         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
46253         recursion harder to optimize, to ensure a stack overflow occurs.
46254         * tests/test-c-stack.c (recurse): Likewise.
46255         Borrowed from libsigsegv.
46256
46257         c-stack: work around Irix sigaltstack bug
46258         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
46259         whether sigaltstack uses wrong end of stack_t (copied in part from
46260         libsigsegv).
46261         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
46262         Irix bug, without requiring an over-allocation.
46263         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
46264         bug.
46265
46266         fopen: document mingw bug on directories
46267         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
46268         not allowing a stream visiting a directory, even though reading
46269         from such a stream is not portable.
46270
46271 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46272
46273         * lib/poll.c: Rewrite.
46274         * modules/poll: Depend on alloca.
46275
46276 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46277
46278         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
46279         instead define prototypes for a full set of wrappers.  Ensure
46280         that Cygwin does not use the compatibility code, which is only
46281         for MinGW.
46282         * lib/winsock.c: New.
46283         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
46284         * modules/sys_socket: Add lib/winsock.c.
46285
46286         * modules/poll-tests: Add errno and perror.
46287         * tests/test-poll.c: Use ioctl, not ioctlsocket.
46288
46289 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46290
46291         * tests/test-poll.c: Downgrade minimum needed Winsock version.
46292
46293 2008-09-23  Bruno Haible  <bruno@clisp.org>
46294
46295         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
46296         * doc/glibc-functions/*: Likewise.
46297
46298 2008-09-23  Simon Josefsson  <simon@josefsson.org>
46299
46300         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
46301         success.
46302
46303 2008-09-22  Eric Blake  <ebb9@byu.net>
46304             Bruno Haible  <bruno@clisp.org>
46305
46306         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
46307         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
46308         supply %A but mishandle pseudo-NaN.
46309         Reported by Simon Josefsson.
46310
46311 2008-09-21  Bruno Haible  <bruno@clisp.org>
46312
46313         * tests/test-lock.c (main): Tweak skip message.
46314         * tests/test-tls.c (main): Likewise.
46315
46316 2008-09-21  Bruno Haible  <bruno@clisp.org>
46317
46318         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
46319         whether 'struct sigaction' has sa_sigaction here...
46320         (gl_PREREQ_SIG_HANDLER_H): ... not here.
46321         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
46322
46323 2008-09-21  Bruno Haible  <bruno@clisp.org>
46324
46325         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
46326         section.
46327         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
46328         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
46329         the new section.
46330         (Support for obsolete systems lacking POSIX:2001): New section.
46331         (String handling <string.h>): Move strdup to the new section.
46332         Suggested by Simon Josefsson and Paolo Bonzini.
46333
46334 2008-09-21  Bruno Haible  <bruno@clisp.org>
46335
46336         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
46337         exponents in %e and %g results on 'long double'. Needed for mingw's
46338         improved *printf functions.
46339         * tests/test-vasprintf-posix.c (test_function): Likewise.
46340         * tests/test-snprintf-posix.h (test_function): Likewise.
46341         * tests/test-sprintf-posix.h (test_function): Likewise.
46342         Reported by Eric Blake.
46343
46344 2008-09-21  Bruno Haible  <bruno@clisp.org>
46345
46346         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
46347         * tests/test-sprintf-posix.h (test_function): Likewise.
46348
46349 2008-09-21  Bruno Haible  <bruno@clisp.org>
46350
46351         * modules/getpass (Depends-on): Add strdup-posix.
46352
46353         New module 'strdup-posix'.
46354         * modules/strdup-posix: New file.
46355         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
46356         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
46357         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46358         REPLACE_STRDUP.
46359         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
46360         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
46361         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46362         strdup-posix.
46363
46364         * modules/strdup (Depends-on): Remove malloc-posix.
46365
46366 2008-09-20  Bruno Haible  <bruno@clisp.org>
46367
46368         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
46369         Wildenhues.
46370
46371 2008-09-20  Bruno Haible  <bruno@clisp.org>
46372
46373         Ensure that wint_t gets defined on IRIX 5.3.
46374         * lib/wchar.in.h (wint_t): Define if not defined by the system.
46375         * lib/wctype.in.h (wint_t): Likewise.
46376         (__wctype_wint_t): Remove type.
46377         (isw*): Use wint_t instead of __wctype_wint_t.
46378         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
46379         * modules/wchar (Files): Add m4/wint_t.m4.
46380         (Makefile.am): Substitute HAVE_WINT_T.
46381         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
46382         * tests/test-wctype.c: Check that wint_t is defined.
46383         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
46384         * doc/posix-headers/wctype.texi: Likewise.
46385         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46386
46387 2008-09-18  Bruno Haible  <bruno@clisp.org>
46388
46389         * gnulib-tool (func_exit): Update comment.
46390
46391 2008-09-18  Simon Josefsson  <simon@josefsson.org>
46392
46393         * modules/getaddrinfo (Depends-on): Remove strdup, this module
46394         assumes strdup exists and does not depend on strdup to return
46395         ENOMEM on out of memory conditions.
46396
46397 2008-09-18  Bruno Haible  <bruno@clisp.org>
46398
46399         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
46400         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
46401         digits for the exponent.
46402
46403 2008-09-18  Jim Meyering  <meyering@redhat.com>
46404             Bruno Haible  <bruno@clisp.org>
46405
46406         * lib/vasnprintf.c (decimal_point_char): Define also if
46407         NEED_PRINTF_INFINITE_LONG_DOUBLE.
46408
46409 2008-09-16  Bruno Haible  <bruno@clisp.org>
46410         and Eric Blake  <ebb9@byu.net>
46411
46412         vasnprintf: support Irix 5.3
46413         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
46414         that mishandle long double infinity.
46415         Reported by Tom G. Christensen.
46416
46417 2008-09-16  Bruno Haible  <bruno@clisp.org>
46418
46419         * doc/glibc-functions/scandir.texi: Mention the function is missing on
46420         Solaris 9.
46421         * doc/glibc-functions/alphasort.texi: Likewise.
46422         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
46423
46424 2008-09-16  Jim Meyering  <meyering@redhat.com>
46425
46426         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
46427         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
46428         a umask modification leak out of a subshell.  Otherwise, the
46429         opensolaris /bin/sh would be accepted and thus cause unwarranted
46430         failures in the coreutils test suite.
46431
46432 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
46433
46434         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
46435         to succeed.
46436
46437 2008-09-16  Jim Meyering  <meyering@redhat.com>
46438
46439         avoid spurious test failure when library is built without ACL support
46440         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
46441         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
46442         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
46443         * tests/test-copy-acl.sh: Likewise.
46444
46445 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46446
46447         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
46448         based on character occurrence counts.
46449
46450 2008-09-15  Eric Blake  <ebb9@byu.net>
46451
46452         tests: avoid some compiler warnings
46453         * tests/test-memchr.c (main): Pass NULL indirectly.
46454         * tests/test-closein.c (main): Avoid unused variable.
46455
46456 2008-09-15  Bruno Haible  <bruno@clisp.org>
46457
46458         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
46459         are missing on OpenBSD 4.0 individually.
46460         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46461
46462 2008-09-15  Bruno Haible  <bruno@clisp.org>
46463
46464         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46465         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46466         * doc/posix-functions/perror.texi: Likewise.
46467         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46468         is missing.
46469         Reported by Eric Blake.
46470
46471         * lib/errno.in.h: Use replacement values >= 2000.
46472         Reported by Eric Blake.
46473
46474 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46475
46476         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46477         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46478         limit.
46479         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46480         compareseq was aborted.
46481
46482 2008-09-14  Bruno Haible  <bruno@clisp.org>
46483
46484         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46485         yvec_edit_count.
46486         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46487         (fstrcmp_bounded): Simplify result computation accordingly.
46488
46489 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46490
46491         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46492         (fstrcmp): Define in terms of fstrcmp_bounded.
46493         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46494         lower_bound argument.
46495         Return quickly if the result is certainly < lower_bound.
46496         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46497
46498 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46499
46500         * lib/diffseq.h (EARLY_ABORT): New macro.
46501         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46502         evaluates to true.
46503
46504 2008-09-14  Bruno Haible  <bruno@clisp.org>
46505
46506         * modules/perror-tests: New file.
46507         * tests/test-perror.sh: New file.
46508         * tests/test-perror.c: New file.
46509
46510         New module 'perror'.
46511         * lib/stdio.in.h (perror): New declaration.
46512         * lib/perror.c: New file.
46513         * m4/perror.m4: New file.
46514         * modules/perror: New file.
46515         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46516         * doc/posix-functions/perror.texi: Mention the perror module.
46517         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46518         REPLACE_PERROR.
46519         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46520         REPLACE_PERROR.
46521
46522 2008-09-14  Bruno Haible  <bruno@clisp.org>
46523
46524         * modules/stdio (Makefile.am): Reorder to match the order in
46525         lib/stdio.in.h.
46526         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46527
46528 2008-09-13  Bruno Haible  <bruno@clisp.org>
46529
46530         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
46531
46532 2008-09-13  Bruno Haible  <bruno@clisp.org>
46533
46534         Extend strerror to cover the added errno values.
46535         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
46536         (rpl_strerror): Provide error messages for the added errno values and
46537         for the WSA* values.
46538         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
46539         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
46540         strerror.
46541         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
46542         * modules/strerror (Depends-on): Add errno.
46543         * doc/posix-functions/strerror.texi: Document the change.
46544         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
46545         and EOVERFLOW.
46546
46547 2008-09-13  Bruno Haible  <bruno@clisp.org>
46548
46549         * modules/EOVERFLOW: Remove file.
46550         * m4/eoverflow.m4: Remove file.
46551         * modules/EOVERFLOW-tests: Remove file.
46552         * tests/test-EOVERFLOW.c: Remove file.
46553         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
46554         * modules/ftell (Depends-on): Likewise.
46555         * modules/getdelim (Depends-on): Likewise.
46556         * modules/getugroups (Depends-on): Likewise.
46557         * modules/poll (Depends-on): Likewise.
46558         * modules/snprintf (Depends-on): Likewise.
46559         * modules/sprintf-posix (Depends-on): Likewise.
46560         * modules/vasnprintf (Depends-on): Likewise.
46561         * modules/vasprintf (Depends-on): Likewise.
46562         * modules/vfprintf-posix (Depends-on): Likewise.
46563         * modules/vsnprintf (Depends-on): Likewise.
46564         * modules/vsprintf-posix (Depends-on): Likewise.
46565         * modules/xvasprintf (Depends-on): Likewise.
46566         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46567         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
46568         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
46569         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
46570         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46571         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
46572         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
46573         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
46574         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46575         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
46576         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
46577         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
46578         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46579         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
46580         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
46581         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
46582         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46583         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
46584         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
46585         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
46586         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46587         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
46588         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
46589         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
46590         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
46591         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46592         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
46593         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
46594         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
46595         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
46596         * MODULES.html.sh: Remove EOVERFLOW.
46597         * NEWS: Mention the change.
46598
46599 2008-09-13  Bruno Haible  <bruno@clisp.org>
46600
46601         * modules/errno-tests: New file.
46602         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
46603
46604         * lib/errno.in.h: New file.
46605         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
46606         * modules/errno: New file.
46607         * doc/posix-headers/errno.texi: Update documentation.
46608         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
46609
46610 2008-09-13  Bruno Haible  <bruno@clisp.org>
46611
46612         * tests/test-poll.c: Use #if for native Windows, rather than testing
46613         __MSVCRT__.
46614
46615 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46616             Bruno Haible  <bruno@clisp.org>
46617
46618         * lib/glob.c: Don't include <pwd.h> on native Windows.
46619         (WINDOWS32): New macro.
46620         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
46621
46622 2008-09-13  Bruno Haible  <bruno@clisp.org>
46623
46624         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
46625         (ETIMEDOUT): Remove macro.
46626         (glthread_cond_timedwait_multithreaded): New declaration.
46627         (glthread_cond_timedwait): Use it.
46628         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
46629         (glthread_cond_timedwait_multithreaded): New function.
46630
46631 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46632
46633         * modules/poll-tests: Do not check for io.h.
46634         * tests/test-poll.c: Check for __MSVCRT__ instead.
46635
46636 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46637
46638         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
46639         * modules/poll-tests: Add inet_pton, stdbool, sockets.
46640         * tests/test-poll.c: Use them.  Use _pipe on Windows.
46641
46642 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46643
46644         * modules/poll-tests: New.
46645         * tests/test-poll.c: New.
46646
46647 2008-09-12  Eric Blake  <ebb9@byu.net>
46648
46649         frexp: test for NetBSD failure on -0.0
46650         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
46651         not all, bugs from NetBSD 3.0 have been fixed.
46652         * doc/posix-functions/frexp.texi (frexp): Document bug.
46653         Reported by Thomas Klausner.
46654
46655         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
46656         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
46657         literal -0.0.
46658         Reported by Jonathan C. Patschke <jp@centtech.com>.
46659
46660 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46661
46662         * lib/glthread/cond.h: Use dummy implementation also if
46663         USE_WIN32_THREADS.
46664
46665 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46666
46667         * modules/fnmatch-posix (License): Change to LGPLv2+.
46668         * modules/fnmatch-gnu (License): Likewise.
46669
46670 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46671
46672         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
46673
46674 2008-09-11  Jim Meyering  <meyering@redhat.com>
46675
46676         * users.txt: Add gtk-vnc.
46677
46678 2008-09-08  Simon Josefsson  <simon@josefsson.org>
46679
46680         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
46681         rotate amounts.
46682
46683         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
46684         required for 16-bit and 8-bit rotates.
46685         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
46686         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
46687         UINT8_MAX instead of hard-coded constants.
46688         Suggested by Paul Eggert.
46689
46690 2008-09-07  Bruno Haible  <bruno@clisp.org>
46691
46692         * tests/test-striconveh.c (main): Check behaviour when converting from
46693         UTF-7.
46694
46695         Make striconveh work better with stateful encodings.
46696         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
46697         that iconv does not increment the inptr when returning -1/EINVAL.
46698
46699 2008-09-07  Bruno Haible  <bruno@clisp.org>
46700
46701         * build-aux/config.rpath: Update according to libtool-2.2.6.
46702         * build-aux/config.libpath: Likewise.
46703
46704 2008-09-06  Bruno Haible  <bruno@clisp.org>
46705
46706         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
46707         * lib/freadptr.c (freadptr): Likewise.
46708         * lib/freadseek.c (freadptrinc): Likewise.
46709         Reported by Simon Josefsson.
46710
46711 2008-09-06  Bruno Haible  <bruno@clisp.org>
46712
46713         * modules/freadptr (License): Change to LGPLv2+.
46714         * modules/freadseek (License): Likewise.
46715         Suggested by Eric Blake.
46716
46717         * modules/memchr2 (License): Change to LGPLv2+.
46718         Approved by Eric Blake.
46719
46720 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46721             Bruno Haible  <bruno@clisp.org>
46722
46723         Make gnulib-tool work with native 'sed' on AIX.
46724         * gnulib-tool (sed_noop): New variable.
46725         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
46726         func_add_or_update, func_create_testdir): Use it to initialize sed
46727         script variables.
46728         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46729
46730 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
46731             Bruno Haible  <bruno@clisp.org>
46732
46733         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
46734         also works after #include directives.
46735
46736 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
46737
46738         getdate.y: reject an out-of-range timezone value
46739         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
46740         the range [-24...+24].  When specified with only one or two digits,
46741         * tests/test-getdate.c: Tests for the fix.
46742         * doc/getdate.texi: Document this change.
46743
46744 2008-09-03  Bruno Haible  <bruno@clisp.org>
46745
46746         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
46747
46748 2008-09-02  Simon Josefsson  <simon@josefsson.org>
46749
46750         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
46751         <bruce.korb@gmail.com> with ideas from Ben Pfaff
46752         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
46753         Blake <ebb9@byu.net>.
46754
46755         * tests/test-bitrotate.c: Add more test vectors.
46756
46757 2008-09-02  Eric Blake  <ebb9@byu.net>
46758
46759         vasnprintf-posix: handle large precision via %.*d
46760         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
46761         when handling it ourselves.
46762         * tests/test-vasnprintf-posix.c (test_function): Add test.
46763         * tests/test-snprintf-posix.h (test_function): Likewise.
46764         * tests/test-sprintf-posix.h (test_function): Likewise.
46765         * tests/test-vasprintf-posix.c (test_function): Likewise.
46766         Reported by Alain Guibert.
46767
46768 2008-09-01  Eric Blake  <ebb9@byu.net>
46769
46770         c-stack: make configure-time check more robust
46771         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
46772         successful sigaction call.
46773         Reported by Tom G. Christensen.
46774
46775 2008-09-01  Bruno Haible  <bruno@clisp.org>
46776
46777         New module 'findprog-lgpl'.
46778         * modules/findprog-lgpl: New file.
46779         * lib/findprog-lgpl.c: New file.
46780         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
46781         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
46782         to decide whether to use strdup or xstrdup, concatenated_filename or
46783         xconcatenated_filename.
46784
46785 2008-09-01  Bruno Haible  <bruno@clisp.org>
46786
46787         Split module 'concat-filename' into 'concat-filename' (LGPL) and
46788         'xconcat-filename' (GPL).
46789         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
46790         (License): Change to LGPLv2+.
46791         * modules/xconcat-filename: New file.
46792         * lib/concat-filename.h (concatenated_filename): Change specification.
46793         (xconcatenated_filename): New declaration.
46794         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
46795         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
46796         memory situations.
46797         * lib/xconcat-filename.c: New file.
46798         * NEWS: Mention the change.
46799         * lib/findprog.c: Include concat-filename.h, not filename.h.
46800         (find_in_path): Use xconcatenated_filename instead of
46801         concatenated_filename.
46802         * lib/javacomp.c: Include concat-filename.h, not filename.h.
46803         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
46804         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
46805         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
46806         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
46807         instead of concatenated_filename.
46808         * lib/javaexec.c: Include concat-filename.h, not filename.h.
46809         (execute_java_class): Use xconcatenated_filename instead of
46810         concatenated_filename.
46811         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
46812         * modules/javacomp (Depends-on): Likewise.
46813         * modules/javaexec (Depends-on): Likewise.
46814
46815 2008-09-01  Bruno Haible  <bruno@clisp.org>
46816
46817         Split module 'filename' into 'filename' and 'concat-filename'.
46818         * modules/filename: Keep only lib/filename.h.
46819         (License): Change to LGPLv2+.
46820         * modules/concat-filename: New file, extracted from modules/filename.
46821         * lib/filename.h (concatenated_filename): Remove declaration.
46822         * lib/concat-filename.h: New file, extracted from lib/filename.h.
46823         * lib/concat-filename.c: Include concat-filename.h.
46824         * NEWS: Mention the change.
46825
46826 2008-09-01  Simon Josefsson  <simon@josefsson.org>
46827
46828         * lib/bitrotate.h (rotl8, rotr8): Add.
46829
46830         * modules/bitrotate (configure.ac): Need
46831         AC_REQUIRE([AC_C_INLINE]).
46832         (Description): Mention stdint.h.  Reported by Bruno Haible
46833         <bruno@clisp.org>.
46834
46835         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
46836         Paolo Bonzini <bonzini@gnu.org>.
46837
46838 2008-08-31  Bruno Haible  <bruno@clisp.org>
46839
46840         Assume Solaris specific bi-arch conventions on Solaris systems.
46841         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
46842         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
46843         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
46844         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
46845         like acl_libdirstem.
46846         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
46847         acl_libdirstem.
46848         * NEWS: Mention the change.
46849         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
46850
46851 2008-08-31  Jim Meyering  <meyering@redhat.com>
46852
46853         * lib/strftime.h: Add comments describing the two added arguments.
46854
46855         remove duplicate #include directives
46856         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
46857         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
46858
46859 2008-08-31  Bruno Haible  <bruno@clisp.org>
46860
46861         New module 'sigpipe-die'.
46862         * modules/sigpipe-die: New file.
46863         * lib/sigpipe-die.h: New file.
46864         * lib/sigpipe-die.c: New file.
46865         * MODULES.html.sh (Signal handling): Add sigpipe-die.
46866
46867 2008-08-31  Bruno Haible  <bruno@clisp.org>
46868
46869         Don't override previously installed signal handlers.
46870         * lib/fatal-signal.c (saved_sigactions): New variable.
46871         (uninstall_handlers): Reset the signal to the saved handler, not
46872         to SIG_DFL (except when ignored).
46873         (install_handlers): Save the previous handlers.
46874
46875 2008-08-30  Bruno Haible  <bruno@clisp.org>
46876
46877         * gnulib-tool (func_reset_sigpipe): New function.
46878         (func_get_automake_snippet, func_modules_transitive_closure,
46879         func_import): Invoke it before a join command that reads from stdin,
46880         to avoid "echo: write error: Broken pipe" error messages on stderr.
46881         Reported by Sam Steingold <sds@gnu.org>.
46882
46883 2008-08-30  Bruno Haible  <bruno@clisp.org>
46884
46885         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
46886         Code copied from m4/open.m4.
46887         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
46888         access and the filename ends in a slash. Code copied from lib/open.c.
46889         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
46890         * tests/test-fopen.c (main): Check against bug with trailing slash.
46891
46892 2008-08-29  Bruno Haible  <bruno@clisp.org>
46893
46894         Avoid some "gcc -pedantic" warnings.
46895         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
46896         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
46897         * lib/dirent.in.h: Likewise.
46898         * lib/fcntl.in.h: Likewise.
46899         * lib/float.in.h: Likewise.
46900         * lib/iconv.in.h: Likewise.
46901         * lib/inttypes.in.h: Likewise.
46902         * lib/locale.in.h: Likewise.
46903         * lib/math.in.h: Likewise.
46904         * lib/netinet_in.in.h: Likewise.
46905         * lib/search.in.h: Likewise.
46906         * lib/signal.in.h: Likewise.
46907         * lib/stdarg.in.h: Likewise.
46908         * lib/stdint.in.h: Likewise.
46909         * lib/stdio.in.h: Likewise.
46910         * lib/stdlib.in.h: Likewise.
46911         * lib/string.in.h: Likewise.
46912         * lib/strings.in.h: Likewise.
46913         * lib/sys_select.in.h: Likewise.
46914         * lib/sys_socket.in.h: Likewise.
46915         * lib/sys_stat.in.h: Likewise.
46916         * lib/sys_time.in.h: Likewise.
46917         * lib/sysexits.in.h: Likewise.
46918         * lib/time.in.h: Likewise.
46919         * lib/unistd.in.h: Likewise.
46920         * lib/wchar.in.h: Likewise.
46921         * lib/wctype.in.h: Likewise.
46922         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
46923         * modules/fchdir (Makefile.am): Likewise.
46924         * modules/fcntl (Makefile.am): Likewise.
46925         * modules/float (Makefile.am): Likewise.
46926         * modules/iconv_open (Makefile.am): Likewise.
46927         * modules/inttypes (Makefile.am): Likewise.
46928         * modules/locale (Makefile.am): Likewise.
46929         * modules/math (Makefile.am): Likewise.
46930         * modules/netinet_in (Makefile.am): Likewise.
46931         * modules/search (Makefile.am): Likewise.
46932         * modules/signal (Makefile.am): Likewise.
46933         * modules/stdarg (Makefile.am): Likewise.
46934         * modules/stdint (Makefile.am): Likewise.
46935         * modules/stdio (Makefile.am): Likewise.
46936         * modules/stdlib (Makefile.am): Likewise.
46937         * modules/string (Makefile.am): Likewise.
46938         * modules/strings (Makefile.am): Likewise.
46939         * modules/sys_select (Makefile.am): Likewise.
46940         * modules/sys_socket (Makefile.am): Likewise.
46941         * modules/sys_stat (Makefile.am): Likewise.
46942         * modules/sys_time (Makefile.am): Likewise.
46943         * modules/sysexits (Makefile.am): Likewise.
46944         * modules/time (Makefile.am): Likewise.
46945         * modules/unistd (Makefile.am): Likewise.
46946         * modules/wchar (Makefile.am): Likewise.
46947         * modules/wctype (Makefile.am): Likewise.
46948         Reported by Reuben Thomas <rrt@sc3d.org>.
46949
46950 2008-08-29  Bruno Haible  <bruno@clisp.org>
46951
46952         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
46953         any more.
46954
46955 2008-08-29  Simon Josefsson  <simon@josefsson.org>
46956
46957         * MODULES.html.sh (Misc): Add bitrotate.
46958
46959         * modules/bitrotate: New file.
46960
46961         * lib/bitrotate.h: New file.
46962
46963         * modules/bitrotate-tests: New file.
46964
46965         * tests/test-bitrotate.c: New file.
46966
46967         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
46968         on the bitrotate module.
46969
46970         * lib/arctwo.c: Use new bitrotate module.
46971
46972 2008-08-29  Jim Meyering  <meyering@redhat.com>
46973
46974         bootstrap: merge changes from coreutils
46975         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
46976         of copied files.  Remove a kludge, now that this is fixed.
46977         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
46978         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
46979         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
46980
46981 2008-08-29  Bruno Haible  <bruno@clisp.org>
46982
46983         * MODULES.html.sh: Remove --cvs-urls option.
46984
46985 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
46986
46987         maint.mk: adjust to file name change
46988         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
46989
46990 2008-08-28  Jim Meyering  <meyering@redhat.com>
46991
46992         * modules/getndelim2 (License): Relicense to LGPLv2+.
46993         Approved by Richard Stallman for the version of 1995, and by
46994         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
46995
46996 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
46997
46998         * lib/getdelim.c (flockfile, funlockfile): Make all of them
46999         dummy if one is not available.  Do not touch them if
47000         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
47001         (getc_maybe_unlocked): New.
47002         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
47003
47004 2008-08-26  Eric Blake  <ebb9@byu.net>
47005
47006         doc/INSTALL: resync from autoconf
47007         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
47008         (INSTALL_PRELUDE): Delete; this is done more efficiently by
47009         moving...
47010         * install.texi [!autoconf]: ...here.  Resync from autoconf.
47011         * INSTALL: Regenerate.
47012         * INSTALL.ISO: New file.
47013         * INSTALL.UTF-8: Likewise.
47014
47015 2008-08-26  Jim Meyering  <meyering@redhat.com>
47016
47017         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
47018         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
47019         these definitions conditional, so that they may be overridden, too.
47020
47021 2008-08-26  Bruno Haible  <bruno@clisp.org>
47022
47023         Generate INSTALL file variants with prettier quotes.
47024         * doc/Makefile (INSTALL_PRELUDE): New macro.
47025         (INSTALL): Use it.
47026         (INSTALL.ISO, INSTALL.UTF-8): New rules.
47027
47028 2008-08-26  Bruno Haible  <bruno@clisp.org>
47029
47030         Run makeinfo in an English locale.
47031         * doc/Makefile (MAKEINFO): New variable.
47032
47033 2008-08-26  Bruno Haible  <bruno@clisp.org>
47034
47035         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
47036         Suggested by Eric Blake.
47037
47038 2008-08-25  Bruno Haible  <bruno@clisp.org>
47039
47040         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
47041
47042 2008-08-25  Eric Blake  <ebb9@byu.net>
47043
47044         c-stack: test that stack overflow can be caught
47045         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
47046         that platform allows handling stack overflow; at least OS/2 EMX
47047         has sigaltstack, but crashes before transferring control to
47048         handler on stack overflow.
47049         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
47050         check for HAVE_STACK_OVERFLOW_HANDLING.
47051         Reported by Elbert Pol.
47052
47053 2008-08-25  Bruno Haible  <bruno@clisp.org>
47054
47055         * doc/posix-functions/strftime.texi: Fix description of strftime
47056         module.
47057
47058 2008-08-24  Bruno Haible  <bruno@clisp.org>
47059
47060         * tests/uniwidth/test-uc_width2.c: New file.
47061         * tests/uniwidth/test-uc_width2.sh: New file.
47062         * modules/uniwidth/width-tests (Files): Add the new files.
47063         (TESTS): Add uniwidth/test-uc_width2.sh.
47064         (TESTS_ENVIRONMENT): New variable.
47065         (check_PROGRAMS): Add test-uc_width2.
47066         (test_uc_width2_SOURCES): New variable.
47067
47068         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
47069         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
47070         not 0x00AB.
47071         Reported by Alexander V. Lukyanov <lav@netis.ru>.
47072
47073 2008-08-22  Eric Blake  <ebb9@byu.net>
47074
47075         test-lock, test-tls: mention why a test is skipped
47076         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
47077         skipped.
47078         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
47079
47080         count-one-bits: relax license
47081         * modules/count-one-bits (License): Relicense to LGPLv2+.
47082         Suggested by Ludovic Courtès, approved by Ben Pfaff.
47083
47084 2008-08-22  Andreas Schwab  <schwab@suse.de>
47085
47086         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
47087         Remove spurious space in assignment.
47088
47089 2008-08-21  Simon Josefsson  <simon@josefsson.org>
47090
47091         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
47092         Paul Eggert <eggert@CS.UCLA.EDU>.
47093
47094 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
47095
47096         * modules/gettext: Add m4/threadlib.m4.
47097
47098 2008-08-19  Eric Blake  <ebb9@byu.net>
47099
47100         test-c-stack: fix compilation failure on FreeBSD 5.0
47101         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
47102         headers before <sys/resource.h>.
47103         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
47104         the bug.
47105         Reported by Nelson H. F. Beebe.
47106
47107         strverscmp: migrate from "strverscmp.h" to <string.h>
47108         * modules/string (Makefile.am): Add new hooks.
47109         * modules/strverscmp (Files): Remove strverscmp.h.
47110         (Depends-on): Add string.
47111         (configure.ac): Add indicator.
47112         (Include): Mention new header.
47113         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
47114         defaults.
47115         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
47116         results.
47117         * lib/strverscmp.h: Delete.
47118         * lib/string.in.h (strverscmp): Provide declaration, when needed.
47119         * tests/test-strverscmp.c (includes): Adjust client.
47120         * lib/check-version.c (includes): Likewise.
47121         * NEWS: Document the change.
47122
47123         strverscmp: add unit test
47124         * modules/strverscmp-tests: New file.
47125         * tests/test-strverscmp.c: Likewise.
47126
47127 2008-08-19  Simon Josefsson  <simon@josefsson.org>
47128
47129         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
47130         regarding Windows crypto stuff, from Mono.
47131
47132 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
47133
47134         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
47135         if present, for intel RND.  Return error on failures.
47136
47137 2008-08-18  Ben Pfaff  <blp@gnu.org>
47138
47139         gitlog-to-changelog: give better diagnostic for failed pipe-open
47140         * build-aux/gitlog-to-changelog: Improve error message: suggest
47141         that the version of Git may be too old.
47142
47143 2008-08-18  Simon Josefsson  <simon@josefsson.org>
47144
47145         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
47146         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
47147
47148 2008-08-18  Bruno Haible  <bruno@clisp.org>
47149
47150         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
47151         pthread_in_use().
47152
47153 2008-08-18  Bruno Haible  <bruno@clisp.org>
47154
47155         * lib/glthread/threadlib.c: Include <pthread.h>.
47156
47157 2008-08-18  Bruno Haible  <bruno@clisp.org>
47158
47159         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
47160         glthread_recursive_lock_* macros.
47161         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
47162         Fix syntax error.
47163
47164 2008-08-18  Bruno Haible  <bruno@clisp.org>
47165
47166         * lib/glthread/thread.c: Avoid forcing a context switch right after
47167         thread creation.
47168
47169 2008-08-17  Bruno Haible  <bruno@clisp.org>
47170
47171         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
47172         * lib/glthread/thread.h: Provide Win32 specific implementation.
47173         * modules/thread (Files): Add lib/glthread/thread.c.
47174         (Depends-on): Add lock.
47175         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
47176
47177 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47178
47179         New module 'yield'.
47180         * modules/yield: New file.
47181         * lib/glthread/yield.h: New file.
47182         * m4/yield.m4: New file.
47183         * MODULES.html.sh (Multithreading): Add yield.
47184
47185 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47186
47187         New module 'thread'.
47188         * modules/thread: New file.
47189         * lib/glthread/thread.h: New file.
47190         * m4/thread.m4: New file.
47191         * MODULES.html.sh (Multithreading): Add thread.
47192
47193 2008-08-17  Bruno Haible  <bruno@clisp.org>
47194
47195         * lib/glthread/lock.h: Include <stdlib.h> always.
47196         * lib/glthread/tls.h: Likewise.
47197         * lib/glthread/cond.h: Likewise.
47198
47199 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47200
47201         New module 'cond'.
47202         * modules/cond: New file.
47203         * lib/glthread/cond.h: New file.
47204         * lib/glthread/cond.c: New file.
47205         * m4/cond.m4: New file.
47206         * MODULES.html.sh (Multithreading): Add cond.
47207
47208 2008-08-16  Eric Blake  <ebb9@byu.net>
47209
47210         c-stack: fix regression on Irix 5.3 from 2008-06-21
47211         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
47212         sa_sigaction...
47213         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
47214         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
47215         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
47216         * modules/signal (Makefile.am): Use the value.
47217         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
47218         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
47219         * doc/posix-headers/signal.texi (signal.h): Document this
47220         portability issue.
47221         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
47222         Reported by Tom G. Christensen.
47223
47224 2008-08-17  Bruno Haible  <bruno@clisp.org>
47225
47226         New module 'threadlib'.
47227         * modules/threadlib: New file.
47228         * lib/glthread/threadlib.c: New file, extracted from
47229         lib/glthread/lock.c.
47230         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
47231         functions.
47232         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
47233         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
47234         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
47235         macros.
47236         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
47237         (gl_DISABLE_THREADS): Remove macro.
47238         * modules/lock (Files): Remove build-aux/config.rpath.
47239         (Depends-on): Remove havelib. Add threadlib.
47240         (configure.ac-early): Remove section.
47241         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
47242         * modules/tls (Depends-on): Remove lock. Add threadlib.
47243         (Link): New section, copied from threadlib.
47244         * MODULES.html.sh (Multithreading): Add threadlib.
47245
47246 2008-08-14  Bruno Haible  <bruno@clisp.org>
47247
47248         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
47249         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
47250         glthread_rwlock_unlock, glthread_rwlock_destroy,
47251         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
47252         glthread_recursive_lock_destroy): Define as macros always.
47253         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
47254         glthread_lock_lock.
47255         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
47256         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
47257         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
47258         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
47259         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
47260         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
47261         (glthread_recursive_lock_lock_func): Renamed from
47262         glthread_recursive_lock_lock.
47263         (glthread_recursive_lock_unlock_func): Renamed from
47264         glthread_recursive_lock_unlock.
47265         (glthread_recursive_lock_destroy_func): Renamed from
47266         glthread_recursive_lock_destroy.
47267
47268 2008-08-14  Bruno Haible  <bruno@clisp.org>
47269
47270         * lib/glthread/lock.h: Renamed from lib/lock.h.
47271         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
47272         * lib/glthread/tls.h: Renamed from lib/tls.h.
47273         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
47274         * lib/fstrcmp.c: Update includes.
47275         * lib/strsignal.c: Update includes.
47276         * modules/lock (Files, Makefile.am): Update.
47277         (Include): Change to "glthread/lock.h".
47278         * modules/tls (Files, Makefile.am): Update.
47279         (Include): Change to "glthread/tls.h".
47280         * tests/test-lock.c: Update includes.
47281         * tests/test-tls.c: Update includes.
47282         * NEWS: Mention the renamed header files.
47283
47284 2008-08-11  Jim Meyering  <meyering@redhat.com>
47285
47286         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
47287
47288 2008-08-11  Eric Blake  <ebb9@byu.net>
47289
47290         test-c-stack: avoid C99-ism
47291         * tests/test-c-stack.c (main): Fix whitespace, move declaration
47292         before statement.
47293         Reported by Alain Guibert.
47294
47295 2008-08-10  Jim Meyering  <meyering@redhat.com>
47296
47297         ensure that return value of uinttostr et al are not ignored
47298         * lib/inttostr.h (__GNUC_PREREQ): Define.
47299         (__attribute_warn_unused_result__): Define.
47300         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
47301
47302 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
47303
47304         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
47305         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
47306
47307 2008-08-07  Jim Meyering  <meyering@redhat.com>
47308
47309         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
47310
47311         * modules/mkstemp (License): Relicense under LGPLv2+.
47312         * modules/tempname (License): Likewise.
47313
47314 2008-08-06  Bruno Haible  <bruno@clisp.org>
47315
47316         * lib/poll.c (poll): Further micro-optimization.
47317
47318 2008-08-06  Jim Meyering  <meyering@redhat.com>
47319
47320         inet_pton.c: use locale-independent tolower
47321         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
47322         (inet_pton6): Use c_tolower rather than tolower.
47323         * modules/inet_pton (Depends-on): Add c-ctype.
47324
47325 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
47326
47327         * lib/poll.c (poll): Avoid division when timeout is 0, cache
47328         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
47329
47330 2008-08-06  Jim Meyering  <meyering@redhat.com>
47331
47332         * modules/inet_pton (License): Relicense under LGPLv2+.
47333
47334 2008-08-03  Bruno Haible  <bruno@clisp.org>
47335
47336         Additional non-aborting API for lock and tls.
47337         * lib/lock.h: Include <errno.h>.
47338         (glthread_lock_init): New macro/function.
47339         (gl_lock_init): Define as wrapper around glthread_lock_init.
47340         (glthread_lock_lock): New macro/function.
47341         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
47342         (glthread_lock_unlock): New macro/function.
47343         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
47344         (glthread_lock_destroy): New macro/function.
47345         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
47346         (glthread_rwlock_init): New macro/function.
47347         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
47348         (glthread_rwlock_rdlock): New macro/function.
47349         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
47350         (glthread_rwlock_wrlock): New macro/function.
47351         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
47352         (glthread_rwlock_unlock): New macro/function.
47353         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
47354         (glthread_rwlock_destroy): New macro/function.
47355         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
47356         (glthread_recursive_lock_init): New macro/function.
47357         (gl_recursive_lock_init): Define as wrapper around
47358         glthread_recursive_lock_init.
47359         (glthread_recursive_lock_lock): New macro/function.
47360         (gl_recursive_lock_lock): Define as wrapper around
47361         glthread_recursive_lock_lock.
47362         (glthread_recursive_lock_unlock): New macro/function.
47363         (gl_recursive_lock_unlock): Define as wrapper around
47364         glthread_recursive_lock_unlock.
47365         (glthread_recursive_lock_destroy): New macro/function.
47366         (gl_recursive_lock_destroy): Define as wrapper around
47367         glthread_recursive_lock_destroy.
47368         (glthread_once): New macro/function.
47369         (gl_once): Define as wrapper around glthread_once.
47370         Update function declarations.
47371         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
47372         glthread_rwlock_init. Return error code.
47373         (glthread_rwlock_rdlock_multithreaded): Renamed from
47374         glthread_rwlock_rdlock. Return error code.
47375         (glthread_rwlock_wrlock_multithreaded): Renamed from
47376         glthread_rwlock_wrlock. Return error code.
47377         (glthread_rwlock_unlock_multithreaded): Renamed from
47378         glthread_rwlock_unlock. Return error code.
47379         (glthread_rwlock_destroy_multithreaded): Renamed from
47380         glthread_rwlock_destroy. Return error code.
47381         (glthread_recursive_lock_init_multithreaded): Renamed from
47382         glthread_recursive_lock_init. Return error code.
47383         (glthread_recursive_lock_lock_multithreaded): Renamed from
47384         glthread_recursive_lock_lock. Return error code.
47385         (glthread_recursive_lock_unlock_multithreaded): Renamed from
47386         glthread_recursive_lock_unlock. Return error code.
47387         (glthread_recursive_lock_destroy_multithreaded): Renamed from
47388         glthread_recursive_lock_destroy. Return error code.
47389         (glthread_once_call): Make static.
47390         (glthread_once_multithreaded): Renamed from glthread_once.
47391         * lib/tls.h: Include <errno.h>.
47392         (glthread_tls_key_init): New macro/function.
47393         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
47394         (glthread_tls_set): New macro/function.
47395         (gl_tls_set): Define as wrapper around glthread_tls_set.
47396         (glthread_tls_key_destroy): New macro/function.
47397         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
47398         Update function declarations.
47399         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
47400         glthread_tls_get.
47401         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47402
47403 2008-08-04  Eric Blake  <ebb9@byu.net>
47404
47405         gnumakefile: use space, not TAB, outside of targets
47406         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
47407
47408 2008-08-02  Jim Meyering  <meyering@redhat.com>
47409
47410         getdate.y: avoid locale-dependent date parsing failure
47411         In Turkish locales, getdate would fail to recognize keywords
47412         containing a lowercase "i".  The solution is not to rely on
47413         locale-sensitive case-conversion.
47414         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
47415         (lookup_word): Use c_toupper in place of toupper.
47416         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
47417         Reported by Vefa Bicakci <bicave@superonline.com> in
47418         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
47419         * modules/getdate (Depends-on): Add c-ctype.
47420
47421 2008-08-02  Bruno Haible  <bruno@clisp.org>
47422
47423         * gnulib-tool (func_import): When updating or creating a .gitignore
47424         file, prepend each added line with a slash, and ignore leading slashes
47425         from the existing lines.
47426         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47427
47428 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47429
47430         Portability fix for GNU make 3.79.1.
47431         * top/GNUmakefile: Avoid 'else COND', which older GNU make
47432         versions do not understand.
47433
47434 2008-08-01  Bruno Haible  <bruno@clisp.org>
47435
47436         Work around bug of HP-UX 10.20 cc with -0.0 literal.
47437         * tests/test-isnanf.h (zero): New variable.
47438         (main): Avoid literal -0.0f.
47439         * tests/test-isnand.h (zero): New variable.
47440         (main): Avoid literal -0.0.
47441         * tests/test-isnanl.h (zero): New variable.
47442         (main): Avoid literal -0.0L.
47443         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
47444         (test_float, test_double, test_long_double): Avoid literals -0.0f,
47445         -0.0, -0.0L.
47446         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
47447         (test_signbitd): Avoid literal -0.0.
47448         (test_signbitl): Avoid literal -0.0L.
47449         * tests/test-ceilf1.c (zero): New variable.
47450         (main): Avoid literal -0.0f.
47451         * tests/test-ceill.c (zero): New variable.
47452         (main): Avoid literal -0.0L.
47453         * tests/test-floorf1.c (zero): New variable.
47454         (main): Avoid literal -0.0f.
47455         * tests/test-floorl.c (zero): New variable.
47456         (main): Avoid literal -0.0L.
47457         * tests/test-roundf1.c (zero): New variable.
47458         (main): Avoid literal -0.0f.
47459         * tests/test-round1.c (zero): New variable.
47460         (main): Avoid literal -0.0.
47461         * tests/test-roundl.c (zero): New variable.
47462         (main): Avoid literal -0.0L.
47463         * tests/test-truncf1.c (zero): New variable.
47464         (main): Avoid literal -0.0f.
47465         * tests/test-trunc1.c (zero): New variable.
47466         (main): Avoid literal -0.0.
47467         * tests/test-truncl.c (zero): New variable.
47468         (main): Avoid literal -0.0L.
47469         * tests/test-frexp.c (zero): New variable.
47470         (main): Avoid literal -0.0.
47471         * tests/test-frexpl.c (zero): New variable.
47472         (main): Avoid literal -0.0L.
47473         * tests/test-ldexpl.c (zero): New variable.
47474         (main): Avoid literal -0.0L.
47475         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47476         (zerod, zerol): New variables.
47477         (test_function): Avoid literals -0.0, -0.0L.
47478         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47479         (zerod, zerol): New variables.
47480         (test_function): Avoid literals -0.0, -0.0L.
47481         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47482         (zerod, zerol): New variables.
47483         (test_function): Avoid literals -0.0, -0.0L.
47484         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47485         (zerod, zerol): New variables.
47486         (test_function): Avoid literals -0.0, -0.0L.
47487         * tests/test-strtod.c (zero): New variable.
47488         (main): Avoid literal -0.0.
47489         Reported by Jonathan C. Patschke <jp@centtech.com>.
47490
47491 2008-07-31  Jim Meyering  <meyering@redhat.com>
47492
47493         sha256.h: correct definition of SHA224_DIGEST_SIZE
47494         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47495         Reported by Paulie Pena IV <paulie4@gmail.com>.
47496         Define as 224 / 8, rather than as a literal.
47497         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47498         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47499         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47500
47501 2008-07-31  Bruno Haible  <bruno@clisp.org>
47502
47503         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47504         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47505         Reported by Jonathan Patschke <jp@centtech.com>.
47506
47507 2008-07-31  Bruno Haible  <bruno@clisp.org>
47508
47509         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47510         Reported by Paolo Bonzini <bonzini@gnu.org>.
47511
47512 2008-07-30  Eric Blake  <ebb9@byu.net>
47513
47514         test-strtod: allow compilation without -lm
47515         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47516         Reported by Dennis Clarke <blastwave@gmail.com>.
47517
47518 2008-07-28  Jim Meyering  <meyering@redhat.com>
47519
47520         bootstrap: work also when there are no .po files in po/
47521         * build-aux/bootstrap (update_po_files): Complete the change
47522         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47523
47524 2008-07-27  Jim Meyering  <meyering@redhat.com>
47525
47526         * users.txt: Add zile.
47527
47528 2008-07-26  Ben Pfaff  <blp@gnu.org>
47529
47530         Add missing dependencies on new m4/exponent[fdl].m4 files.
47531         * modules/isnanf-nolibm: Add m4/exponentf.m4.
47532         * modules/isnand-nolibm: Add m4/exponentd.m4.
47533         * modules/isnanl-nolibm: Add m4/exponentl.m4.
47534         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
47535         m4/isnan[fdl].m4, because the macros actually used moved.
47536         Reported by Jim Meyering.
47537
47538 2008-07-14  Ben Pfaff  <blp@gnu.org>
47539
47540         Add isinf module.
47541         * lib/isinf.c: New file.
47542         * lib/math.in.h: Define isinf macro if we have decided to replace
47543         it.
47544         * m4/isinf.m4: New file.
47545         * m4/math_h.m4: Initialize and substitute variables for isinf
47546         module.
47547         * modules/isinf: New file.
47548         * modules/isinf-tests: New file.
47549         * modules/math: Add substitutions for new module.
47550         * tests/test-isinf.c: New file.
47551         * doc/posix-functions/isinf.texi: Mention new module.
47552         * MODULES.html.sh: Mention new module.
47553
47554 2008-07-14  Ben Pfaff  <blp@gnu.org>
47555
47556         Factor out some macros for use by additional modules.
47557         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
47558         exponentf.m4.
47559         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
47560         exponentd.m4.
47561         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
47562         file exponentl.m4.
47563         * m4/exponentf.m4: New file.
47564         * m4/exponentd.m4: New file.
47565         * m4/exponentl.m4: New file.
47566         * modules/isnanf: Use new file m4/exponentf.m4.
47567         * modules/isnand: Use new file m4/exponentd.m4.
47568         * modules/isnanl: Use new file m4/exponentl.m4.
47569
47570 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
47571
47572         mktime.c: normalize tp->tm_isdst value to -1/0/1.
47573         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
47574         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
47575         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
47576
47577         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
47578         readlink on platforms without PATH_MAX.
47579
47580 2008-07-21  Eric Blake  <ebb9@byu.net>
47581
47582         Warn, not fail, on stale version.
47583         * top/GNUmakefile (_curr-ver): Tone down previous patch.
47584
47585         Don't allow installation with stale devel version number.
47586         * top/GNUmakefile (_is-install-target): New macro.
47587         (_curr-ver): Forbid installation with stale version number.
47588
47589 2008-07-20  Bruno Haible  <bruno@clisp.org>
47590
47591         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
47592         TESTS_ENVIRONMENT.
47593         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
47594
47595 2008-07-20  Bruno Haible  <bruno@clisp.org>
47596
47597         * lib/c-stack.h (c_stack_action): Add documentation.
47598         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
47599
47600 2008-07-20  Bruno Haible  <bruno@clisp.org>
47601
47602         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
47603         * modules/readlink (License): Likewise.
47604
47605 2008-07-17  Eric Blake  <ebb9@byu.net>
47606
47607         * modules/c-stack (Link): Fix typo.
47608
47609         Make c-stack use libsigsegv, when available.
47610         * modules/c-stack (Depends-on): Add libsigsegv.
47611         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
47612         needed.
47613         * lib/c-stack.c (SIGSTKSZ): Define fallback.
47614         (segv_handler, overflow_handler, c_stack_action)
47615         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
47616         implementation when libsigsegv is available, but only when using
47617         the library is necessary.
47618         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
47619         comment, explaining why XSI check fails on Linux.
47620         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
47621         * tests/test-c-stack2.sh: Tweak skip message.
47622         * NEWS: Document new link-time requirements.
47623
47624 2008-07-16  Eric Blake  <ebb9@byu.net>
47625
47626         c-stack: Expose false positives when not using libsigsegv.
47627         * modules/c-stack-tests (Files): Expand test.
47628         * tests/test-c-stack.c (main): Add means to conditionally trigger
47629         non-overflow SIGSEGV.
47630         * tests/test-c-stack2.sh: New file.
47631
47632 2008-07-14  Bruno Haible  <bruno@clisp.org>
47633
47634         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
47635         Reported by Eric Blake.
47636
47637 2008-07-14  Sam Steingold  <sds@gnu.org>
47638             Bruno Haible  <bruno@clisp.org>
47639
47640         New module libsigsegv.
47641         * modules/libsigsegv: New file.
47642         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
47643         modifications.
47644         * MODULES.html.sh (Signal handling): New section.
47645
47646 2008-07-14  Bruno Haible  <bruno@clisp.org>
47647
47648         * modules/unictype/ctype-* (Description): Add the word "function".
47649         Improves the resulting doc in MODULES.html.
47650
47651 2008-07-12  Ben Pfaff  <blp@gnu.org>
47652
47653         Add longlong module.
47654         * modules/longlong: New file.
47655
47656 2008-07-12  Bruno Haible  <bruno@clisp.org>
47657
47658         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
47659         to empty.
47660
47661 2008-07-10  Ben Pfaff  <blp@gnu.org>
47662
47663         Add isnan module.
47664         * doc/posix-functions/isnan.texi: Mention new module.
47665         * lib/math.in.h: Define isnan macro if we have decided to replace
47666         it.
47667         * m4/isnan.m4: New file.
47668         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
47669         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
47670         also.
47671         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
47672         redundancy.
47673         * m4/math_h.m4: Initialize and substitute variables for isnan
47674         module.
47675         * modules/isnan: New file.
47676         * modules/isnan-tests: New file.
47677         * modules/math: Add substitutions for new module.
47678         * tests/test-isnan.c: New file.
47679         * MODULES.html.sh: Mention new module.
47680
47681 2008-07-10  Ben Pfaff  <blp@gnu.org>
47682
47683         Add isnanf module.
47684         * lib/isnanf.m4: New file.
47685         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
47686         (gl_HAVE_ISNANF_IN_LIBM): New macro.
47687         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
47688         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
47689         * modules/isnanf: New file.
47690         * modules/isnanf-tests: New file.
47691         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
47692         files.
47693         * tests/test-isnanf-nolibm.c: factored most of its contents into
47694         new file tests/test-isnanf.h.
47695         * tests/test-isnanf.h: New file.
47696         * tests/test-isnanf.c: New file.
47697         * MODULES.html.sh: Mention new module.
47698         * doc/glibc-functions/isnanf.texi: Mention new module.
47699
47700 2008-07-10  Ben Pfaff  <blp@gnu.org>
47701
47702         Add isnand module.
47703         * lib/isnand.h: New file.
47704         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
47705         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
47706         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
47707         functionality also.
47708         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
47709         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
47710         (gl_HAVE_ISNAND_IN_LIBM): New macro.
47711         * modules/isnand: New file.
47712         * modules/isnand-tests: New file.
47713         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
47714         files.
47715         * tests/test-isnand-nolibm.c: factored most of its contents into
47716         new file tests/test-isnand.h.
47717         * tests/test-isnand.h: New file.
47718         * tests/test-isnand.c: New file.
47719         * MODULES.html.sh: Mention new module.
47720
47721 2008-07-10  Ben Pfaff  <blp@gnu.org>
47722
47723         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
47724         * lib/isnand.h: Rename lib/isnand-nolibm.h.
47725         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
47726         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
47727         * modules/isnanf-nolibm: Update references to renamed files.
47728         * modules/isnand-nolibm: Likewise.
47729         * modules/isnanf-nolibm-tests: Likewise.
47730         * modules/isnand-nolibm-tests: Likewise.
47731         * lib/frexp.c: Likewise.
47732         * lib/isfinite.c: Likewise.
47733         * lib/signbitd.c: Likewise.
47734         * lib/signbitf.c: Likewise.
47735         * lib/vasnprintf.c: Likewise.
47736         * tests/test-ceilf1.c: Likewise.
47737         * tests/test-ceilf2.c: Likewise.
47738         * tests/test-floorf1.c: Likewise.
47739         * tests/test-floorf2.c: Likewise.
47740         * tests/test-frexp.c: Likewise.
47741         * tests/test-round1.c: Likewise.
47742         * tests/test-round2.c: Likewise.
47743         * tests/test-roundf1.c: Likewise.
47744         * tests/test-strtod.c: Likewise.
47745         * tests/test-trunc1.c: Likewise.
47746         * tests/test-trunc2.c: Likewise.
47747         * tests/test-truncf1.c: Likewise.
47748         * tests/test-truncf2.c: Likewise.
47749         * NEWS: Mention the renamed header files.
47750
47751 2008-07-11  Jim Meyering  <meyering@redhat.com>
47752
47753         vc-list-files: make the last-resort awk code more portable
47754         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
47755         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
47756         does not support it.
47757
47758 2008-07-10  Eric Blake  <ebb9@byu.net>
47759
47760         Work with tar's bootstrap.
47761         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
47762         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
47763         an m4 comment.
47764
47765 2008-07-09  Jim Meyering  <meyering@redhat.com>
47766
47767         posix-shell.m4: fix typo that made this test malfunction
47768         * m4/posix-shell.m4: Remove capitalization in variable name.
47769
47770 2008-07-08  Bruno Haible  <bruno@clisp.org>
47771
47772         * m4/onceonly.m4: Update comments.
47773         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47774
47775 2008-07-04  Jim Meyering  <meyering@redhat.com>
47776
47777         * users.txt: Add vc-dwim.
47778         (bison, coreutils): Use the gitweb URL.
47779
47780 2008-07-03  Jim Meyering  <meyering@redhat.com>
47781
47782         * users.txt: Add libffcall.  From Sam Steingold.
47783
47784 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
47785
47786         getdate.y: do not ignore TZ with relative day, month or year offset
47787         * lib/getdate.y (get_date): Move the tz-handling block to follow the
47788         relative-date-handling, since otherwise, the latter would clobber the
47789         sole output (an updated Start value) of the tz-handling block.
47790         * tests/test-getdate.c: Tests for the fix
47791
47792 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47793
47794         Recognize 'foo_LIBRARIES += libgnu.a'.
47795         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
47796         makefile snippet has already specified an installation location,
47797         also using '+='.
47798
47799 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
47800
47801         getdate.y: factor out common actions
47802         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
47803         Use them in place of open-coded actions.
47804
47805 2008-07-01  Simon Josefsson  <simon@josefsson.org>
47806
47807         Add self-test for getdate module.
47808         * modules/getdate-tests: New file.
47809         * tests/test-getdate.c: New file.
47810
47811 2008-06-29  Bruno Haible  <bruno@clisp.org>
47812
47813         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
47814         .gitignore.
47815         Reported by Sylvain Beucler <beuc@beuc.net>.
47816
47817 2008-06-29  Bruno Haible  <bruno@clisp.org>
47818
47819         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
47820         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
47821
47822 2008-06-29  Bruno Haible  <bruno@clisp.org>
47823
47824         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
47825         EXTRA_DIST.
47826         Reported by Sylvain Beucler <beuc@beuc.net>.
47827
47828 2008-06-26  Jim Meyering  <meyering@redhat.com>
47829
47830         make several modules depend on the "open" module
47831         This provides slightly increased consistency when opening-for-write
47832         the name of a non-directory spelled with a trailing slash.
47833         * modules/chdir-safer: Likewise.
47834         * modules/chown: Likewise.
47835         * modules/clean-temp: Likewise.
47836         * modules/copy-file: Likewise.
47837         * modules/fchdir: Likewise.
47838         * modules/fcntl-safer: Likewise.
47839         * modules/pipe: Likewise.
47840         * modules/utime: Likewise.
47841         Prompted by Eric Blake and Bruno Haible.
47842
47843 2008-06-24  Andreas Schwab  <schwab@suse.de>
47844
47845         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
47846         literals can be used as initializers for global variables.
47847
47848 2008-06-23  Eric Blake  <ebb9@byu.net>
47849
47850         Make gnulib-cache.m4 easier to diff.
47851         * gnulib-tool (func_import): Allow newlines when reading cached
47852         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
47853
47854 2008-06-23  Bruno Haible  <bruno@clisp.org>
47855
47856         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
47857         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
47858         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
47859         m4/signalblocking.m4.
47860         (gl_PREREQ_SIGACTION): Don't invoke it.
47861         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
47862         gl_PREREQ_SIG_HANDLER_H.
47863         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47864         Don't check for sigaction here.
47865
47866 2008-06-23  Bruno Haible  <bruno@clisp.org>
47867
47868         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
47869         (install_handlers): Don't set the SA_RESETHAND flag.
47870
47871 2008-06-23  Bruno Haible  <bruno@clisp.org>
47872
47873         * m4/sigaction.m4: Comment fixes.
47874         * lib/signal.in.h: Likewise.
47875
47876 2008-06-23  Eric Blake  <ebb9@byu.net>
47877
47878         Fix typo.
47879         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
47880
47881         Avoid SA_ namespace.
47882         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
47883         Reported by Ralf Wildenhues.
47884
47885         Avoid test failure due to SA_RESTORER.
47886         * tests/test-sigaction.c (SA_MASK): New macro.
47887         (main): Avoid failing due to extension flags being set.
47888         Reported by Jim Meyering.
47889
47890         Revert use of sig-handler.h in sigprocmask.c.
47891         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
47892         it requires the existence of struct sigaction.
47893         * lib/sigprocmask.c (handler_t): Restore typedef.
47894         (rpl_signal, old_handlers): Use local type.
47895
47896 2008-06-22  Bruno Haible  <bruno@clisp.org>
47897
47898         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
47899         conditionally.
47900         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47901
47902 2008-06-22  Bruno Haible  <bruno@clisp.org>
47903
47904         * doc/posix-functions/siginterrupt.texi: Move note.
47905
47906         * lib/signal.in.h (SA_RESTART): New macro.
47907         * lib/sigaction.c: Update comment.
47908
47909         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
47910
47911         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
47912         (gl_PREREQ_SIGPROCMASK): Invoke it.
47913         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
47914
47915         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
47916
47917         * lib/sigprocmask.c: Update a comment.
47918
47919 2008-06-21  Eric Blake  <ebb9@byu.net>
47920
47921         Use sigaction module rather than signal().
47922         * modules/c-stack (Depends-on): Add sigaction.
47923         * modules/fatal-signal (Depends-on): Likewise.
47924         * modules/nanosleep (Depends-on): Likewise.
47925         * modules/sigprocmask (Files): Add sig-handler.h.
47926         * modules/sigaction (Files): Likewise.
47927         * lib/sig-handler.h (get_handler): New file, suggested by Paul
47928         Eggert.
47929         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
47930         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
47931         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
47932         (init_fatal_signals): Likewise.
47933         * lib/nanosleep.c (rpl_nanosleep): Likewise.
47934         (siginterrupt): Delete fallback.
47935         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
47936         instead.
47937         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
47938         siginterrupt.
47939
47940         New module sigaction, for mingw.
47941         * modules/sigaction: New module...
47942         * modules/sigaction-tests: ...and its test.
47943         * m4/sigaction.m4: New file.
47944         * lib/sigaction.c: Likewise.
47945         * tests/test-sigaction.c: Likewise.
47946         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
47947         * modules/signal (Makefile.am): Likewise.
47948         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
47949         needed.
47950         * doc/posix-headers/signal.texi (signal.h): Mention provided
47951         types.
47952         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
47953         that sigaction is preferable.
47954         * doc/posix-functions/sigaction.texi (sigaction): Mention new
47955         module.
47956         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47957         sigaction.
47958
47959         Improve robustness of sigprocmask by overriding signal.
47960         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
47961         is in use.
47962         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
47963         (SIGKILL, SIGSTOP): Provide fallbacks.
47964         (rpl_signal): Implement.
47965         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
47966         signal can be called inside handlers.
47967
47968         Fix nanosleep module on mingw.
47969         * modules/nanosleep (Depends-on): Add sys_select.
47970         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
47971
47972         Fix licensing of sigprocmask.
47973         * modules/raise (License): Relicense as LGPL.
47974
47975 2008-06-21  Bruno Haible  <bruno@clisp.org>
47976
47977         * lib/propername.c (proper_name_utf8): Don't use the transliterated
47978         result if it contains question marks.
47979         Reported by Michael Geng <linux@michaelgeng.de>.
47980
47981 2008-06-19  Bruno Haible  <bruno@clisp.org>
47982
47983         Fix CVS-ism.
47984         * doc/gnulib.texi: Include updated-stamp.texi.
47985         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
47986         (updated-stamp.texi): New rule.
47987         (gnulib.info): Depend on it.
47988         * doc/.gitignore: Add updated-stamp.texi.
47989         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
47990
47991 2008-06-19  Bruno Haible  <bruno@clisp.org>
47992
47993         * doc/Makefile (gnulib.info): Update and simplify dependencies.
47994         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
47995
47996 2008-06-19  Eric Blake  <ebb9@byu.net>
47997
47998         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
47999         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
48000         Reported by Stepan Kasal.
48001
48002 2008-06-18  Bruno Haible  <bruno@clisp.org>
48003
48004         * lib/fatal-signal.c (init_fatal_signals): Add comment.
48005         Reported by Eric Blake.
48006
48007 2008-06-18  Eric Blake  <ebb9@byu.net>
48008
48009         Work around cygwin 1.5.25 strsignal bug.
48010         * tests/test-strsignal.c: Allow for const char *.
48011         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
48012
48013 2008-06-18  Simon Josefsson  <simon@josefsson.org>
48014
48015         * users.txt: Update URL to article and add author/date
48016         information.
48017
48018 2008-06-17  Bruno Haible  <bruno@clisp.org>
48019
48020         New macro gl_DISABLE_THREADS.
48021         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
48022         if the user did not pass --enable-threads or --disable-threads option.
48023         (gl_DISABLE_THREADS): New macro.
48024         Reported by Eric Blake <ebb9@byu.net>.
48025
48026 2008-06-17  Bruno Haible  <bruno@clisp.org>
48027
48028         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
48029         when the macro ignores it.
48030         Based on a patch by Eric Blake <ebb9@byu.net>.
48031
48032 2008-06-17  Bruno Haible  <bruno@clisp.org>
48033
48034         * modules/tls (License): Change to LGPLv2+.
48035         Reported by Eric Blake.
48036
48037 2008-06-17  Eric Blake  <ebb9@byu.net>
48038
48039         Simplify c-stack prerequisites.
48040         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
48041         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
48042         no longer requires <ucontext.h> to exist.  Optimize setrlimit
48043         check.
48044         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
48045         <sys/resource.h>.
48046
48047         Move c-stack test into testsuite.
48048         * modules/c-stack-tests: New file.
48049         * lib/c-stack.c [DEBUG]: Move test program...
48050         * tests/test-c-stack.c: ...into this new file.  Skip rather than
48051         fail test if sigaltstack is lacking.
48052         * tests/test-c-stack.sh: New driver file.
48053
48054 2008-06-16  Eric Blake  <ebb9@byu.net>
48055
48056         Use raise module consistently.
48057         * modules/fatal-signal (Depends-on): Add raise.
48058         * modules/sigprocmask (Depends-on): Likewise.
48059         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
48060         * lib/sigprocmask.c (sigprocmask): Likewise.
48061         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48062         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
48063
48064         Fix compliance bug in sigpending.
48065         * lib/sigprocmask.c (sigpending): Return pending array via
48066         parameter, not return value.
48067
48068 2008-06-14  Eric Blake  <ebb9@byu.net>
48069
48070         Improve obstack-printf test code.
48071         * tests/test-obstack-printf.c (test_function): Fix comment, and
48072         simplify usage of obstack_* in macros.  Add a test for coverage.
48073         Reported by Bruno Haible.
48074
48075 2008-06-14  Bruno Haible  <bruno@clisp.org>
48076
48077         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
48078         array size as a constant, not as a const variable.
48079         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
48080         AC_USE_SYSTEM_EXTENSIONS.
48081         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48082         Test whether the obstack_printf function actually exists.
48083         * modules/obstack-printf (Depends-on): Add extensions.
48084         (Include): Remove obstack.h.
48085         * modules/obstack-printf-posix (Depends-on): Add extensions.
48086         (Include): Remove obstack.h.
48087
48088 2008-06-13  Eric Blake  <ebb9@byu.net>
48089
48090         Add obstack-printf and obstack-printf-posix modules.
48091         * modules/obstack-printf: New file.
48092         * modules/obstack-printf-posix: Likewise.
48093         * MODULES.html.sh (Misc): Mention them.
48094         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48095         Likewise.
48096         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48097         Likewise.
48098         * modules/stdio (Makefile.am): Accomodate new modules.
48099         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48100         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
48101         Declare.
48102         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
48103         functions.
48104         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
48105         (gl_REPLACE_OBSTACK_PRINTF): New macros
48106         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
48107         * tests/test-obstack-printf.c: New file.
48108         * modules/obstack-printf-tests: Likewise.
48109         * modules/obstack-printf-posix-tests: Likewise.
48110
48111 2008-06-11  Bruno Haible  <bruno@clisp.org>
48112
48113         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
48114         * lib/open.c: Include errno.h.
48115         (open): Fail when attempting to write to a file that has a trailing
48116         slash.
48117         * tests/test-open.c (main): Test against trailing slash bug.
48118         * doc/posix-functions/open.texi: Mention the trailing slash bug.
48119
48120 2008-06-10  Bruno Haible  <bruno@clisp.org>
48121
48122         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
48123         for $? to work inside the trap command, with various /bin/sh-s.
48124         * tests/test-vc-list-files-cvs.sh: Likewise.
48125
48126 2008-06-10  Bruno Haible  <bruno@clisp.org>
48127
48128         * lib/acl-internal.h: Don't include gettext.h here.
48129         * lib/set-mode-acl.c: Include gettext.h here.
48130         * lib/copy-acl.c: Likewise.
48131
48132 2008-06-10  Bruno Haible  <bruno@clisp.org>
48133
48134         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
48135         * lib/wait-process.c (wait_subprocess): Likewise.
48136         * lib/execute.h (execute): Add termsigp argument.
48137         * lib/execute.c (execute): Likewise.
48138         * lib/csharpcomp.c (compile_csharp_using_pnet,
48139         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
48140         * lib/csharpexec.c (execute_csharp_using_pnet,
48141         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
48142         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
48143         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
48144         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
48145         is_jikes_present): Update.
48146         * lib/javaexec.c (execute_java_class): Update.
48147         * lib/javaversion.c (execute_and_read_line): Update.
48148         * NEWS: Document the changes.
48149         Reported by Eric Blake.
48150
48151 2008-06-10  Eric Blake  <ebb9@byu.net>
48152
48153         Add missing include.
48154         * tests/test-strstr.c (includes): Add <signal.h>.
48155         * tests/test-strcasestr.c (includes): Likewise.
48156         * tests/test-memmem.c (includes): Likewise.
48157
48158 2008-06-10  Bruno Haible  <bruno@clisp.org>
48159
48160         * lib/wait-process.c (wait_subprocess): Add an assertion.
48161
48162 2008-06-10  Bruno Haible  <bruno@clisp.org>
48163
48164         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
48165
48166 2008-06-10  Bruno Haible  <bruno@clisp.org>
48167
48168         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
48169         using alarm().
48170         * tests/test-strcasestr.c (main): Likewise.
48171         * tests/test-strstr.c (main): Likewise.
48172
48173 2008-06-09  Bruno Haible  <bruno@clisp.org>
48174
48175         Work around the Solaris 10 ACE ACLs ABI change.
48176         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
48177         declare if ACL_NO_TRIVIAL is present.
48178         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
48179         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
48180         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
48181         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
48182         define if ACL_NO_TRIVIAL is present.
48183         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
48184         and use the current ABI.
48185         (file_has_acl): Use same #if condition as elsewhere.
48186         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
48187         in use, and use the current ABI.
48188         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
48189         Reported by Jim Meyering.
48190
48191 2008-06-09  Eric Blake  <ebb9@byu.net>
48192
48193         Work around environments that (stupidly) ignore SIGALRM.
48194         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
48195         before using alarm().
48196         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48197         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48198         Reported by Ian Beckwith <ianb@erislabs.net>.
48199
48200         Produce autobuild blurb earlier in log.
48201         * modules/autobuild (configure.ac-early): Move AB_INIT here.
48202
48203 2008-06-09  Jim Meyering  <meyering@redhat.com>
48204         and OndÅ™ej Vašík  <ovasik@redhat.com>
48205
48206         utimens.c: correct kernel bug work-around
48207         OndÅ™ej Vašík found that the invalid return value of 280 indicates
48208         failure, not success, and the kernel bug we're trying to work
48209         around affects not just the utimensat call, but also the fallback
48210         futimens call.
48211         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
48212         not success.
48213         [HAVE_FUTIMENS]: Use the same work-around, here.
48214
48215 2008-06-09  Jim Meyering  <meyering@redhat.com>
48216
48217         add more guards around definition of ACE_-related code
48218         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
48219         ALLOW and ACE_OWNER are also defined.
48220
48221 2008-06-08  Bruno Haible  <bruno@clisp.org>
48222
48223         * lib/acl-internal.h: Add me as co-author.
48224         * lib/file-has-acl.c: Likewise.
48225         * lib/set-mode-acl.c: Likewise.
48226         * lib/copy-acl.c: Likewise.
48227
48228 2008-06-08  Bruno Haible  <bruno@clisp.org>
48229
48230         Add support for AIX ACLs.
48231         * lib/acl-internal.h (acl_nontrivial): New declaration.
48232         * lib/file-has-acl.c (acl_nontrivial): New function.
48233         (file_has_acl): Add implementation using AIX 4 ACL API.
48234         * lib/set-mode-acl.c (qset_acl): Likewise.
48235         * lib/copy-acl.c (qcopy_acl): Likewise.
48236
48237 2008-06-08  Bruno Haible  <bruno@clisp.org>
48238
48239         Add support for HP-UX ACLs.
48240         * lib/acl-internal.h (acl_nontrivial): New declaration.
48241         * lib/file-has-acl.c (acl_nontrivial): New function.
48242         (file_has_acl): Add implementation using HP-UX 11 ACL API.
48243         * lib/set-mode-acl.c (qset_acl): Likewise.
48244         * lib/copy-acl.c (qcopy_acl): Likewise.
48245
48246 2008-06-08  Bruno Haible  <bruno@clisp.org>
48247
48248         Add support for Cygwin ACLs.
48249         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
48250         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
48251         the chmod_or_fchmod call.
48252         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
48253
48254 2008-06-08  Bruno Haible  <bruno@clisp.org>
48255
48256         Fix bug with setuid modes in Solaris 10+ code.
48257         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
48258         succeeded, when the mode contains some special bits.
48259
48260 2008-06-08  Bruno Haible  <bruno@clisp.org>
48261
48262         Add support for Solaris 7..10 ACLs.
48263         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
48264         declarations.
48265         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
48266         functions.
48267         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
48268         * lib/set-mode-acl.c (qset_acl): Likewise.
48269         * lib/copy-acl.c (qcopy_acl): Likewise.
48270
48271 2008-06-08  Bruno Haible  <bruno@clisp.org>
48272
48273         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
48274         declaration.
48275         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
48276         (acl_access_nontrivial): Remove MacOS X case.
48277         (file_has_acl): Use acl_extended_nontrivial.
48278         * lib/copy-acl.c (qcopy_acl): Likewise.
48279
48280 2008-06-08  Bruno Haible  <bruno@clisp.org>
48281
48282         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
48283
48284 2008-06-08  Jim Meyering  <meyering@redhat.com>
48285
48286         * modules/acl (Maintainer): Add Bruno Haible.
48287
48288 2008-06-07  Bruno Haible  <bruno@clisp.org>
48289
48290         Improve support for Tru64 ACLs.
48291         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
48292         ACL on OSF/1.
48293
48294 2008-06-07  Bruno Haible  <bruno@clisp.org>
48295
48296         Add support for MacOS X ACLs.
48297         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
48298         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
48299         * lib/set-mode-acl.c (qset_acl): Likewise.
48300         * lib/copy-acl.c (qcopy_acl): Likewise.
48301
48302 2008-06-07  Bruno Haible  <bruno@clisp.org>
48303
48304         Fix memory leak introduced on 2008-05-22.
48305         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
48306         use.
48307
48308 2008-06-07  Bruno Haible  <bruno@clisp.org>
48309
48310         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
48311         to construct an empty ACL.
48312
48313 2008-06-07  Bruno Haible  <bruno@clisp.org>
48314
48315         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
48316         precisely.
48317         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
48318
48319 2008-06-07  Bruno Haible  <bruno@clisp.org>
48320
48321         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
48322         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
48323
48324 2008-06-07  Bruno Haible  <bruno@clisp.org>
48325
48326         * doc/posix-functions/_setjmp.texi: Explain the use of this function
48327         regardless of POSIX.
48328         * doc/posix-functions/_longjmp.texi: Likewise.
48329         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
48330         SystemV platform in this case.
48331
48332 2008-06-06  Eric Blake  <ebb9@byu.net>
48333
48334         Document abort() bugs.
48335         * doc/posix-functions/abort.texi (abort): Mention anomalies.
48336
48337         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
48338         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
48339         sigsetjmp.
48340         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
48341         siglongjmp, but only as a macro.
48342         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
48343         is obsolete.
48344         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
48345
48346         Tweak documentation to cover cygwin argz bugs.
48347         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
48348         argz bug fix; no code change needed since no cygwin releases
48349         occurred between the last fix and the bug being tested.
48350         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
48351         module and recently fixed cygwin bugs.
48352         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
48353         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
48354         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
48355         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
48356         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
48357         Likewise.
48358         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
48359         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
48360         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
48361         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
48362         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
48363         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
48364         Likewise.
48365
48366         Avoid gcc warning on cygwin.
48367         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
48368         !ACL_NO_TRIVIAL]: Avoid unused variable.
48369
48370 2008-06-05  Eric Blake  <ebb9@byu.net>
48371
48372         Be tolerant of UNKNOWN version in gnulib-tool test dir.
48373         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
48374         git-version-gen fails to come up with a version.
48375         Reported by Simon Josefsson.
48376
48377 2008-06-05  Jim Meyering  <meyering@redhat.com>
48378             Paul Eggert  <eggert@cs.ucla.edu>
48379
48380         utimens.c: work around a probable Linux kernel bug
48381         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
48382         appears to be a kernel bug that causes utimensat to return 280
48383         instead of 0, indicating success.
48384
48385 2008-06-04  Bruno Haible  <bruno@clisp.org>
48386
48387         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
48388         2008-06-01 commit.
48389
48390 2008-06-04  Bruno Haible  <bruno@clisp.org>
48391
48392         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
48393         * lib/file-has-acl.c (acl_access_nontrivial): New function.
48394         (file_has_acl): Use it. Save errno afterwards.
48395         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
48396
48397 2008-06-03  Bruno Haible  <bruno@clisp.org>
48398
48399         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
48400         draft code. Simplify #ifs.
48401         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
48402         Put Solaris code after POSIX-draft code. Fix comments regarding
48403         Solaris 10, HP-UX. Mention Cygwin.
48404         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
48405
48406 2008-06-03  Eric Blake  <ebb9@byu.net>
48407
48408         Provide fallback for older kernels.
48409         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
48410         Provide runtime fallback if kernel lacks support.
48411         Reported by Mike Frysinger.
48412
48413 2008-06-02  Bruno Haible  <bruno@clisp.org>
48414
48415         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
48416         it exists.
48417
48418 2008-06-02  Bruno Haible  <bruno@clisp.org>
48419
48420         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
48421         * lib/copy-acl.c (qcopy_acl): Update comment.
48422
48423 2008-06-02  Bruno Haible  <bruno@clisp.org>
48424
48425         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
48426         like ACL APIs.
48427
48428 2008-06-02  Bruno Haible  <bruno@clisp.org>
48429
48430         * tests/test-file-has-acl.sh: Use different code for Cygwin.
48431         * tests/test-set-mode-acl.sh: Likewise.
48432         * tests/test-copy-acl.sh: Likewise.
48433         * tests/test-copy-file.sh: Likewise.
48434
48435 2008-06-02  Bruno Haible  <bruno@clisp.org>
48436
48437         * tests/test-file-has-acl.sh: Remove unused code.
48438
48439 2008-06-01  Bruno Haible  <bruno@clisp.org>
48440
48441         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
48442         (copy_acl): Just a wrapper around qcopy_acl that emits the error
48443         messages.
48444         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
48445
48446 2008-06-01  Bruno Haible  <bruno@clisp.org>
48447
48448         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
48449         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
48450         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
48451         APIs.
48452         * modules/acl-tests (configure.ac): Remove tests now contained in
48453         m4/acl.m4.
48454
48455 2008-06-02  Jim Meyering  <meyering@redhat.com>
48456
48457         announce-gen: use a better key-server host name
48458         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
48459         it may be more consistently reliable.  Suggested by Werner Koch
48460         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
48461
48462 2008-06-01  Bruno Haible  <bruno@clisp.org>
48463
48464         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48465         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48466
48467 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48468
48469         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48470
48471 2008-06-01  Bruno Haible  <bruno@clisp.org>
48472
48473         New ACL tests.
48474         * tests/test-file-has-acl.sh: New file.
48475         * tests/test-file-has-acl.c: New file.
48476         * tests/test-set-mode-acl.sh: New file.
48477         * tests/test-set-mode-acl.c: New file.
48478         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48479         * tests/test-copy-acl.c: New file.
48480         * modules/acl-tests: New file, based on modules/copy-file-tests.
48481         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48482         (Depends-on): Add acl-tests.
48483         (configure.ac): Remove checks.
48484         (Makefile.am): Don't create test-sameacls program here any more.
48485
48486 2008-06-01  Bruno Haible  <bruno@clisp.org>
48487
48488         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48489         * tests/test-sameacls.c: Include progname.h.
48490         (main): Invoke set_program_name. Portability fixes for MacOS X,
48491         Solaris, HP-UX.
48492
48493 2008-06-01  Bruno Haible  <bruno@clisp.org>
48494
48495         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48496         function.
48497         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48498
48499 2008-06-01  Bruno Haible  <bruno@clisp.org>
48500
48501         * modules/rpmatch (Depends-on): Add strdup.
48502
48503 2008-06-01  Bruno Haible  <bruno@clisp.org>
48504
48505         * lib/pipe.c: Include unistd-safer.h.
48506         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48507         * modules/pipe (Depends-on): Add unistd-safer.
48508
48509 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48510
48511         * modules/autobuild (configure.ac): Call AB_INIT.
48512
48513 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48514
48515         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48516         Suggested by Bruno Haible <bruno@clisp.org>.
48517
48518 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48519
48520         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48521         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48522         <bruno@clisp.org>.
48523
48524 2008-05-29  Eric Blake  <ebb9@byu.net>
48525
48526         Prefer new POSIX 200x interfaces over futimesat.
48527         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
48528         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
48529         when available.
48530         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
48531
48532 2008-05-28  Bruno Haible  <bruno@clisp.org>
48533
48534         * modules/stpcpy (License): Change to LGPLv2+.
48535         Requested by David Lutterkort <dlutter@redhat.com>.
48536
48537 2008-05-27  Bruno Haible  <bruno@clisp.org>
48538
48539         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
48540         current mingw.
48541         Reported by Jose E. Marchesi <jemarch@gnu.org>.
48542
48543 2008-05-27  Bruno Haible  <bruno@clisp.org>
48544
48545         * modules/iconv_open (Link): New section, from module 'iconv'.
48546         * modules/striconv (Link): Likewise.
48547         * modules/striconveh (Link): Likewise.
48548         * modules/xstriconv (Link): Likewise.
48549         * modules/unicodeio (Link): Likewise.
48550         * modules/propername (Link): Likewise.
48551         Reported by Jim Meyering.
48552
48553 2008-05-26  Jim Meyering  <meyering@redhat.com>
48554
48555         sha256: do not artificially restrict buffer length to be < 2^32
48556         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
48557         uint32_t to size_t.
48558         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
48559         to match.
48560
48561         avoid unaligned access errors, e.g., on sparc
48562         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
48563         direct access through a possibly-unaligned uint64* pointer.
48564         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
48565         direct access through a possibly-unaligned uint32* pointer.
48566         Prompted by this patch from Tom "spot" Callaway:
48567         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
48568
48569         sha512.c: fix typo in comment
48570         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
48571
48572 2008-05-25  Bruno Haible  <bruno@clisp.org>
48573
48574         * lib/set-mode-acl.c: Renamed from lib/acl.c.
48575         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
48576         (Makefile.am): Update lib_SOURCES.
48577
48578 2008-05-25  Bruno Haible  <bruno@clisp.org>
48579
48580         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
48581
48582 2008-05-25  Jim Meyering  <meyering@redhat.com>
48583
48584         useless-if-before-free: freed expr may have white-space differences
48585         * build-aux/useless-if-before-free: Recognize cases in which the
48586         freed expression differs from the tested one in embedded white
48587         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
48588         $1 was used, so we can't make any regexp shy.  Improved tests now
48589         detect this.
48590
48591         useless-if-before-free: accept white space in the expression.
48592         * build-aux/useless-if-before-free: For now, any white space
48593         in the expression must be identical in the free argument.
48594
48595         useless-if-before-free: efficiency tweak
48596         * build-aux/useless-if-before-free: Make the expression-matching
48597         regexp "shy".
48598         Make the *outer* regexp shy, not the expr-matching one.
48599
48600         update code-in-comment to accept cast of free arg
48601         * build-aux/useless-if-before-free: Update regexp.
48602
48603 2008-05-25  Bruno Haible  <bruno@clisp.org>
48604
48605         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
48606         * modules/copy-file-tests (Files, Makefile.am): Update.
48607         * tests/test-copy-file.c (func_test_copy): Update.
48608
48609 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
48610
48611         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
48612
48613 2008-05-23  Bruno Haible  <bruno@clisp.org>
48614
48615         Improve support for ACLs on OSF/1.
48616         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
48617         Remove fallback for unknown flavors of ACLs.
48618
48619 2008-05-22  Bruno Haible  <bruno@clisp.org>
48620
48621         Add support for ACLs on OSF/1.
48622         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
48623         replacements.
48624         (acl_free_text): New macro fallback.
48625         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
48626         acl_free.
48627         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
48628         acl_free_text function. Require AC_C_INLINE.
48629
48630 2008-05-22  Bruno Haible  <bruno@clisp.org>
48631
48632         Make copy_acl work on MacOS X 10.5.
48633         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
48634         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
48635         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
48636         If MODE_INSIDE_ACL, don't assume that every system has the same text
48637         representation for ACLs as FreeBSD.
48638         * lib/copy-acl.c (copy_acl): Add support for platforms with
48639         !MODE_INSIDE_ACL.
48640         * lib/file-has-acl.c (file_has_acl): Likewise.
48641         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
48642         FreeBSD, MacOS X, or IRIX, respectively.
48643
48644 2008-05-22  Bruno Haible  <bruno@clisp.org>
48645
48646         * lib/acl.h: Don't include <sys/acl.h>.
48647         (GETACLCNT): Move fallback to lib/acl-internal.h.
48648         * lib/acl-internal.h: Include <sys/acl.h> here.
48649         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
48650
48651 2008-05-22  Bruno Haible  <bruno@clisp.org>
48652
48653         Split off copy_acl function to separate file.
48654         * lib/copy-acl.c: New file, extracted from lib/acl.c.
48655         * lib/acl.c (copy_acl): Moved function to separate file.
48656         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
48657         * modules/acl (Files): Add lib/copy-acl.c.
48658         (Makefiles.am): Augment lib_SOURCES.
48659
48660 2008-05-22  Bruno Haible  <bruno@clisp.org>
48661
48662         * modules/copy-file-tests: New file.
48663         * tests/test-copy-file.sh: New file.
48664         * tests/test-copy-file.c: New file.
48665         * tests/test-copy-file-sameacls.c: New file.
48666
48667 2008-05-22  Eric Blake  <ebb9@byu.net>
48668
48669         Avoid gcc warning.
48670         * tests/test-memcmp.c (main): Pass NULL indirectly.
48671
48672 2008-05-21  Bruno Haible  <bruno@clisp.org>
48673
48674         Add reference doc about ACLs.
48675         * doc/acl-resources.txt: New file.
48676         * doc/acl-cygwin.txt: New file.
48677
48678 2008-05-21  Bruno Haible  <bruno@clisp.org>
48679
48680         Avoid one more warning from gcc.
48681         * lib/vasnprintf.c (IF_LINT): Update comments.
48682         (VASNPRINTF): Use it also for the 'prefix' array initializer.
48683
48684 2008-05-21  Jim Meyering  <meyering@redhat.com>
48685
48686         avoid a warning from gcc
48687         * lib/vasnprintf.c (IF_LINT): Define.
48688         (scale10_round_decimal_long_double):
48689         Use it to avoid a "may be used uninitialized" warning.
48690         (scale10_round_decimal_double): Likewise.
48691
48692 2008-05-21  Simon Josefsson  <simon@josefsson.org>
48693
48694         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
48695         declared.
48696
48697 2008-05-20  Bruno Haible  <bruno@clisp.org>
48698
48699         * tests/test-memcmp.c (main): Test also the sign of the result. Test
48700         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
48701
48702 2008-05-20  Simon Josefsson  <simon@josefsson.org>
48703
48704         * modules/memcmp-tests: New file.
48705         * tests/test-memcmp.c: New file.
48706
48707 2008-05-19  Bruno Haible  <bruno@clisp.org>
48708
48709         * modules/propername (Notice, configure.ac): Put quoted "..." into
48710         --keyword option.
48711         * lib/propername.h: Update comments accordingly.
48712         Reported by Eric Blake.
48713
48714 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
48715
48716         * modules/getpass-gnu (Depends-on): Add fseeko.
48717
48718 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48719
48720         * modules/base64-tests: New file.
48721
48722 2008-05-19  Bo Borgerson <gigabo@gmail.com>
48723
48724         * lib/base64.c (base64_decode_ctx): If a decode context structure
48725         was passed in use it to ignore newlines.  If a context structure
48726         was _not_ passed in, continue to treat newlines as garbage (this
48727         is the historical behavior).  Formerly base64_decode.
48728         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48729         takes a decode context structure.
48730         * lib/base64.h (base64_decode): Macro for four-argument calls.
48731         (base64_decode_alloc): Likewise.
48732         * lib/base64.c (base64_decode_ctx): If a decode context structure
48733         was passed in use it to ignore newlines.  If a context structure
48734         was _not_ passed in, continue to treat newlines as garbage (this
48735         is the historical behavior).  Formerly base64_decode.
48736         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48737         takes a decode context structure.
48738         * lib/base64.h (base64_decode): Macro for four-argument calls.
48739         (base64_decode_alloc): Likewise.
48740
48741 2008-05-19  Jim Meyering  <meyering@redhat.com>
48742
48743         avoid a warning from gcc
48744         * lib/trim.c (IF_LINT): Define.
48745         (trim2): Use it to avoid a "may be used uninitialized" warning.
48746
48747         Fix doc typo.
48748         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
48749
48750 2008-05-19  Bruno Haible  <bruno@clisp.org>
48751
48752         * doc/glibc-functions/getpass.texi: Document limits of other
48753         implementations.
48754
48755 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48756             Bruno Haible <bruno@clisp.org>
48757
48758         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
48759
48760 2008-05-18  Bruno Haible  <bruno@clisp.org>
48761
48762         * modules/propername: New file, from GNU gettext.
48763         * lib/propername.h: New file, from GNU gettext.
48764         * lib/propername.c: New file, from GNU gettext.
48765         * MODULES.html.sh (Internationalization functions): Add propername.
48766
48767 2008-05-16  Jim Meyering  <meyering@redhat.com>
48768             Bruno Haible  <bruno@clisp.org>
48769
48770         Avoid some warnings from "gcc -Wshadow".
48771         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
48772
48773 2008-05-15  Eric Blake  <ebb9@byu.net>
48774
48775         Extend previous patch to cygwin 1.7.0.
48776         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
48777         fast implementation in cygwin >= 1.7.0.
48778         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48779         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48780
48781 2008-05-15  Bruno Haible  <bruno@clisp.org>
48782
48783         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
48784         implementation in glibc >= 2.9.
48785         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48786         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48787
48788 2008-05-15  Bruno Haible  <bruno@clisp.org>
48789
48790         * MODULES.html.sh (Internationalization functions): Remove linebreak.
48791         (Unicode string functions): Add unilbrk/*.
48792         Reported by Karl Berry.
48793
48794 2008-05-15  Eric Blake  <ebb9@byu.net>
48795
48796         Fix violation of <stdbool.h> replacement in regex.
48797         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
48798         * lib/regexec.c (re_search_internal): Likewise.
48799         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
48800
48801 2008-05-15  Jim Meyering  <meyering@redhat.com>
48802
48803         avoid distracting test output when git or cvs is not found
48804         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
48805         * tests/test-vc-list-files-git.sh: Likewise.
48806
48807 2008-05-15  Eric Blake  <ebb9@byu.net>
48808
48809         Glibc finally accepted the memmem speedup code, bugzilla #5514.
48810         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
48811         glibc version.
48812         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48813         * doc/posix-functions/strstr.texi (strstr): Likewise.
48814         * lib/str-two-way.h (MAX): Sychronize with glibc.
48815
48816 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
48817
48818         * lib/regcomp.c (optimize_utf8): Add a note on why we test
48819         opr.ctx_type.
48820         (calc_first): Initialize constraint field.
48821         (duplicate_node_closure): Use it instead of special casing ANCHORS.
48822         Fix grammar.
48823         (duplicate_node): Merge constraint field for all node types.
48824         (calc_eclosure_iter): Look at constraint field for all node types.
48825         * lib/regex_internal.c (create_cd_newstate): Don't look at
48826         opr.ctx_type.
48827
48828 2008-05-14  Bruno Haible  <bruno@clisp.org>
48829
48830         Help GCC to do better code generation.
48831         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
48832         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
48833         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
48834         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
48835         Declare with attribute 'malloc' if supported.
48836
48837 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
48838
48839         use "echo STR|wc -c" rather than unportable "expr length STR"
48840         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
48841         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
48842
48843 2008-05-14  Jim Meyering  <meyering@redhat.com>
48844
48845         use dd ibs=$n count=1 ... rather than less-portable head -c$n
48846         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
48847         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
48848         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
48849         via Collin Lasse.
48850
48851 2008-05-14  Eric Blake  <ebb9@byu.net>
48852
48853         Avoid quadratic growth in gl_LIBSOURCES.
48854         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
48855         Suggested by Bruno Haible.
48856
48857         Test xmemdup0.
48858         * modules/xmemdup0-tests: New file.
48859         * tests/test-xmemdup0.c: Likewise.
48860
48861 2008-05-13  Eric Blake  <ebb9@byu.net>
48862
48863         Split xmemdup0 into its own module.
48864         * modules/xmemdup0: New file.
48865         * lib/xmemdup0.h: Likewise.
48866         * lib/xmemdup0.c: Likewise.
48867         * MODULES.html.sh (Memory management functions): Add xmemdup0.
48868         * lib/xalloc.h (xmemdup0): Remove.
48869         * lib/xmalloc.c (xmemdup0): Likewise.
48870
48871 2008-05-13  Eric Blake  <ebb9@byu.net>
48872             Bruno Haible  <bruno@clisp.org>
48873
48874         Reduce number of forks required during autoconf.
48875         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
48876         and gl_LIBSOURCES_DIR.
48877         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
48878         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
48879         m4_syscmd per file.
48880         <m4_foreach_w>: Move...
48881         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
48882
48883 2008-05-13  Eric Blake  <ebb9@byu.net>
48884
48885         * gnulib-tool: Fix various comment typos.
48886
48887 2008-05-12  Bruno Haible  <bruno@clisp.org>
48888
48889         Tailor the linebreaking algorithm.
48890         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
48891
48892 2008-05-12  Bruno Haible  <bruno@clisp.org>
48893
48894         Update to Unicode 5.0.0.
48895         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48896         LBP_JV, LBP_JT. Redistribute values.
48897         (unilbrk_table): Change size.
48898         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
48899         Unicode TR#14 rev. 22.
48900         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48901         LBP_JV, LBP_JT. Redistribute values.
48902         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
48903         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
48904         Update.
48905         * lib/unilbrk/lbrkprop1.h: Regenerated.
48906         * lib/unilbrk/lbrkprop2.h: Regenerated.
48907         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
48908         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
48909         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
48910         Likewise.
48911         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
48912         Likewise.
48913         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
48914         result.
48915         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
48916         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
48917         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
48918         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
48919         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
48920         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
48921
48922 2008-05-11  Bruno Haible  <bruno@clisp.org>
48923
48924         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
48925
48926 2008-05-11  Bruno Haible  <bruno@clisp.org>
48927
48928         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
48929         * modules/unilbrk/gen-lbrk: New file.
48930
48931 2008-05-11  Bruno Haible  <bruno@clisp.org>
48932
48933         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
48934         * m4/sha512.m4 (gl_SHA512): Likewise.
48935
48936 2008-05-11  Jim Meyering  <meyering@redhat.com>
48937
48938         New modules: crypto/sha256, crypto/sha512 (from coreutils)
48939         * modules/crypto/sha256: New file.
48940         * modules/crypto/sha512: Likewise.
48941         * lib/sha256.c: Likewise.
48942         * lib/sha256.h: Likewise.
48943         * lib/sha512.c: Likewise.
48944         * lib/sha512.h: Likewise.
48945         * lib/u64.h: Likewise.
48946         * m4/sha256.m4: Likewise.
48947         * m4/sha512.m4: Likewise.
48948         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
48949
48950 2008-05-10  Bruno Haible  <bruno@clisp.org>
48951
48952         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
48953         (Input/Output <stdio.h>): Add xprintf.
48954         (Signal handling <signal.h>): Add strsignal.
48955         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
48956         (Core language properties): Add func.
48957         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
48958         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
48959         strings.
48960         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
48961         (Input/output): New section.
48962         (File system functions): Add openat-die, stat-macros.
48963         (Networking functions): Add sockets.
48964         (Unicode string functions): Add unictype/*.
48965         (Support for building libraries and executables): Add gperf.
48966         (Support for building documentation): Add agpl-3.0.
48967         (Misc): Add nocrash.
48968
48969 2008-05-10  Bruno Haible  <bruno@clisp.org>
48970
48971         * modules/unictype/gen-ctype: New file.
48972
48973 2008-05-10  Jim Meyering  <meyering@redhat.com>
48974
48975         Make chdir-safer.c more efficient on a system with no symlinks.
48976         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
48977         also if ELOOP is zero.  Suggested by Bruno Haible.
48978
48979         Make chdir-safer.c slightly safer.
48980         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
48981         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
48982
48983         Avoid compile failure on systems without ELOOP (like mingw).
48984         * lib/chdir-safer.c (ELOOP): Define if not already defined.
48985         Reported by Bruno Haible.
48986
48987 2008-05-10  Bruno Haible  <bruno@clisp.org>
48988
48989         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
48990         (is_utf8_encoding): Use a case-insensitive comparison.
48991         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
48992         streq.
48993
48994 2008-05-10  Bruno Haible  <bruno@clisp.org>
48995
48996         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
48997         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
48998         * lib/unilbrk/ulc-common.h (iconv_string_length,
48999         iconv_string_keeping_offsets): Remove declarations.
49000         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
49001         Don't include <iconv.h>, streq.h, xsize.h.
49002         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
49003         conversion.
49004         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
49005         <iconv.h>, streq.h, xsize.h.
49006         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
49007         conversion.
49008         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
49009         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
49010         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
49011         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
49012
49013 2008-05-10  Bruno Haible  <bruno@clisp.org>
49014
49015         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
49016         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
49017
49018         * modules/unilbrk/u32-width-linebreaks-tests: New file.
49019         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
49020
49021         * modules/unilbrk/u16-width-linebreaks-tests: New file.
49022         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
49023
49024         * modules/unilbrk/u8-width-linebreaks-tests: New file.
49025         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
49026
49027         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
49028         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
49029
49030         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
49031         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
49032
49033         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
49034         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
49035
49036         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
49037         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
49038
49039 2008-05-10  Bruno Haible  <bruno@clisp.org>
49040
49041         Split up 'linebreak' module.
49042         * lib/unilbrk.h: New file, based on lib/linebreak.h.
49043         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
49044         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
49045         modifications.
49046         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
49047         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
49048         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
49049         lib/linebreak.c.
49050         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
49051         lib/linebreak.c.
49052         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
49053         lib/linebreak.c.
49054         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
49055         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
49056         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
49057         lib/linebreak.c.
49058         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
49059         lib/linebreak.c.
49060         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
49061         lib/linebreak.c.
49062         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
49063         lib/linebreak.c.
49064         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
49065         lib/linebreak.c.
49066         * modules/unilbrk/base: New file.
49067         * modules/unilbrk/tables: New file.
49068         * modules/unilbrk/u8-possible-linebreaks: New file.
49069         * modules/unilbrk/u16-possible-linebreaks: New file.
49070         * modules/unilbrk/u32-possible-linebreaks: New file.
49071         * modules/unilbrk/ulc-common: New file.
49072         * modules/unilbrk/ulc-possible-linebreaks: New file.
49073         * modules/unilbrk/u8-width-linebreaks: New file.
49074         * modules/unilbrk/u16-width-linebreaks: New file.
49075         * modules/unilbrk/u32-width-linebreaks: New file.
49076         * modules/unilbrk/ulc-width-linebreaks: New file.
49077         * lib/linebreak.h: Remove file.
49078         * lib/linebreak.c: Remove file.
49079         * m4/linebreak.m4: Remove file.
49080         * modules/linebreak: Remove file.
49081         * NEWS: Mention the changes.
49082
49083 2008-05-09  Eric Blake  <ebb9@byu.net>
49084
49085         Add xmemdup0.
49086         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
49087         implementation.
49088         * lib/xmalloc.c (xmemdup0): New C implementation.
49089
49090 2008-05-08  Bruno Haible  <bruno@clisp.org>
49091
49092         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
49093
49094 2008-05-07  Eric Blake  <ebb9@byu.net>
49095
49096         Support cross-compilation of <wctype.h>.
49097         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
49098         AC_CACHE_CHECK.
49099
49100 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
49101
49102         * build-aux/vc-list-files: Add support for bzr.
49103
49104 2008-05-03  Jim Meyering  <meyering@redhat.com>
49105
49106         avoid failed assertion with tight malloc
49107         * tests/test-getndelim2.c: Correct an off-by-one assertion.
49108
49109 2008-05-03  Simon Josefsson  <simon@josefsson.org>
49110
49111         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
49112         are needed from arpa/inet.h.
49113         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
49114         Reported by Bruno Haible.
49115
49116 2008-05-02  Jim Meyering  <meyering@redhat.com>
49117
49118         avoid compilation error on FreeBSD 6
49119         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
49120
49121 2008-05-01  Jim Meyering  <meyering@redhat.com>
49122
49123         useless-if-before-free: correct --help's exit status description
49124         * build-aux/useless-if-before-free (usage): Like grep, exit 0
49125         for one or more matches, etc.  Reported by Bruno Haible.
49126
49127         vc-list-files: make the stand-alone gnulib test work
49128         * modules/vc-list-files-tests (configure.ac):
49129         Define and AC_SUBST abs_aux_dir.
49130         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
49131         $(abs_top_srcdir) to each script and having each of them
49132         duplicate the work of setting PATH, set PATH here, using
49133         the new variable, abs_aux_dir instead.
49134         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
49135         * tests/test-vc-list-files-git.sh: Likewise.
49136         Reported by Bruno Haible.
49137
49138 2008-05-01  Bruno Haible  <bruno@clisp.org>
49139
49140         * lib/getndelim2.c (getndelim2): Fix newsize computation during
49141         reallocation. Rename 'done' to 'found_delimiter'.
49142
49143 2008-05-01  Jim Meyering  <meyering@redhat.com>
49144
49145         vc-list-files: accommodate /bin/sh like the one from Solaris 10
49146         * build-aux/vc-list-files: Use `...`, not $(...).
49147
49148 2008-04-30  Jim Meyering  <meyering@redhat.com>
49149
49150         add tests for vc-list-files
49151         * modules/vc-list-files-tests: New module.
49152         * tests/test-vc-list-files-cvs.sh: New file.
49153         * tests/test-vc-list-files-git.sh: New file.
49154
49155         avoid a warning from gcc
49156         * lib/getndelim2.c (IF_LINT): Define.
49157         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
49158
49159         vc-list-files: work properly with build-aux/cvsu, too
49160         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
49161         to all cvs-based clauses.
49162
49163         vc-list-files: work properly in the CVS+awk case, too
49164         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
49165
49166         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
49167         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
49168         take more than one file argument, so .  Add quotes, just in case $dir
49169         ever contains a shell meta-character.  Prompted by Soren Hansen in
49170         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
49171
49172 2008-04-29  Eric Blake  <ebb9@byu.net>
49173
49174         Optimize getndelim2 to use block operations when possible.
49175         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
49176         freadseek, and memchr2.
49177         * lib/getndelim2.c (getndelim2): Use them for block reads.
49178
49179 2008-04-29  Bruno Haible  <bruno@clisp.org>
49180
49181         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
49182         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49183         * modules/inet_ntop (Depends-on): Add extensions.
49184         * modules/inet_pton (Depends-on): Likewise.
49185         Reported by Simon Josefsson.
49186
49187 2008-04-29  Jim Meyering  <meyering@redhat.com>
49188
49189         When the is more than one match in a block, match all of them.
49190         * build-aux/useless-if-before-free: Iterate through each block
49191         until there are no more matches.
49192
49193         Fix broken useless-if-before-free script.
49194         * build-aux/useless-if-before-free: Fix typo: missing "?" after
49195         the expression to match cast of argument to free-like function.
49196
49197 2008-04-29  Eric Blake  <ebb9@byu.net>
49198
49199         Use new header.
49200         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
49201
49202 2008-04-29  Jim Meyering  <meyering@redhat.com>
49203
49204         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
49205         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
49206         by gnulib to exist and to declare e.g., inet_ntop.
49207         Don't include "inet_ntop.h", now removed.
49208
49209         * m4/arpa_inet_h.m4: Remove trailing blanks.
49210
49211 2008-04-29  Eric Blake  <ebb9@byu.net>
49212
49213         Silence valgrind on safe reads beyond potential array bounds.
49214         * lib/rawmemchr.valgrind: New file.
49215         * lib/strchrnul.valgrind: Likewise.
49216         * modules/rawmemchr (Files): Distribute new file.
49217         * modules/strchrnul (Files): Likewise.
49218         Suggested by Bruno Haible.
49219
49220 2008-04-29  Bruno Haible  <bruno@clisp.org>
49221
49222         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
49223         (inet_ntop, inet_pton): Change portability warning's wording.
49224         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
49225         Invoke gl_CHECK_NEXT_HEADERS.
49226         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
49227         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
49228         set ARPA_INET_H.
49229         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49230         * modules/arpa_inet (Description): No longer only for systems that
49231         lack it.
49232         (Depends-on): Add include_next.
49233         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
49234         HAVE_ARPA_INET_H.
49235
49236 2008-04-29  Jim Meyering  <meyering@redhat.com>
49237
49238         * modules/mkdir (License): Re-license as LGPLv2+.
49239
49240 2008-04-29  Bruno Haible  <bruno@clisp.org>
49241
49242         * modules/rawmemchr (Maintainer): Set to Eric.
49243         * modules/strchrnul (Maintainer): Likewise.
49244
49245 2008-04-29  Simon Josefsson  <simon@josefsson.org>
49246
49247         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
49248         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
49249
49250         * modules/arpa_inet (arpa/inet.h): Use them.
49251
49252 2008-04-28  Eric Blake  <ebb9@byu.net>
49253
49254         Test getndelim2.
49255         * modules/getndelim2-tests: New file.
49256         * tests/test-getndelim2.c: Likewise.
49257         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
49258         stream.
49259         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
49260
49261         * MODULES.html.sh: Document new module.
49262
49263 2008-04-20  Bruno Haible  <bruno@clisp.org>
49264
49265         * lib/c-stack.c (die): Use raise.
49266         * modules/c-stack (Depends-on): Add raise.
49267
49268 2008-04-28  Bruno Haible  <bruno@clisp.org>
49269
49270         Expect rpmatch to be declared.
49271         * lib/yesno.c (rpmatch): Remove declaration.
49272
49273         Declare rpmatch.
49274         * lib/stdlib.in.h (rpmatch): New declaration.
49275         * lib/rpmatch.c: Include <stdlib.h> first.
49276         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
49277         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
49278         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
49279         HAVE_RPMATCH.
49280         * modules/rpmatch (Depends-on): Add stdlib, extensions.
49281         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49282         (Include): Set to <stdlib.h>.
49283         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
49284         HAVE_RPMATCH.
49285         * NEWS: Document the change.
49286
49287 2008-04-28  Bruno Haible  <bruno@clisp.org>
49288
49289         Change rpmatch to use nl_langinfo when appropriate.
49290         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
49291         (N_): New macro.
49292         (localized_pattern): New function/macro.
49293         (try): Remove match, nomatch arguments. Copy the pattern into safe
49294         memory before caching it.
49295         (rpmatch): Use localized_pattern. Add translator comments.
49296         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
49297         Suggested by Eric Blake.
49298         * modules/rpmatch (Depends-on): Add stdbool.
49299
49300 2008-04-28  Eric Blake  <ebb9@byu.net>
49301
49302         Add rawmemchr module, matching glibc.
49303         * modules/string (Makefile.am): New indicator.
49304         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
49305         * lib/string.in.h (rawmemchr): Declare when appropriate.
49306         * modules/rawmemchr: New file.
49307         * m4/rawmemchr.m4: Likewise.
49308         * lib/rawmemchr.c: Likewise.
49309         * modules/rawmemchr-tests: Likewise.
49310         * tests/test-rawmemchr.c: Likewise.
49311         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
49312         module.
49313         * modules/strchrnul (Depends-on): Add rawmemchr.
49314         * lib/strchrnul.c (strchrnul): Optimize a corner case.
49315
49316         Whitespace cleanup.
49317         * tests/test-strchrnul.c: Reindent.
49318         * lib/strchrnul.c: Likewise.
49319
49320         Optimize and test strchrnul.
49321         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
49322         * modules/strchrnul-tests: New file.
49323         * tests/test-strchrnul.c: Likewise.
49324
49325         Remove intprops dependency.
49326         * modules/memchr (Depends-on): Remove intprops.
49327         * modules/memrchr (Depends-on): Likewise.
49328         * modules/memchr2 (Depends-on): Likewise.
49329         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
49330         * lib/memrchr.c (__memrchr): Likewise.
49331         * lib/memrchr2.c (memchr2): Likewise.
49332         Reported by Simon Josefsson.
49333
49334 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49335
49336         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
49337         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49338
49339 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49340
49341         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
49342
49343         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
49344
49345         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
49346
49347         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
49348         declarations.
49349         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
49350
49351         * m4/inet_pton.m4: Don't check for header files.
49352
49353         * m4/inet_ntop.m4: Don't check for header files.
49354
49355 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49356
49357         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
49358         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
49359         trigger for cygwin).
49360         Reported by Bruno Haible  <bruno@clisp.org>.
49361
49362 2008-04-28  Bruno Haible  <bruno@clisp.org>
49363
49364         * doc/posix-functions/strdup.texi: Mention mingw problem.
49365
49366 2008-04-27  Bruno Haible  <bruno@clisp.org>
49367
49368         * modules/stat-time-tests (Depends-on): Add sleep.
49369         * tests/test-stat-time.c (force_unlink): New function.
49370         (cleanup): Use it.
49371         (test_mtime): Remove the ctime related tests.
49372         (test_ctime): New function, containing the ctime related tests.
49373         (main): Call test_ctime, except on native Windows platforms.
49374
49375 2008-04-27  Bruno Haible  <bruno@clisp.org>
49376
49377         * lib/rpmatch.c (rpmatch): Add some comments.
49378         Reported by James Youngman <jay@gnu.org>.
49379
49380 2008-04-27  Bruno Haible  <bruno@clisp.org>
49381
49382         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
49383         quiet NaNs.
49384
49385 2008-04-27  Bruno Haible  <bruno@clisp.org>
49386
49387         Make test-yesno.sh work on mingw.
49388         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
49389         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
49390         (main): Set stdin to binary mode.
49391         * modules/yesno-tests (Depends-on): Add binary-io.
49392
49393 2008-04-27  Bruno Haible  <bruno@clisp.org>
49394
49395         Fix 'isfinite' on x86, x86_64, ia64 platforms.
49396         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
49397         argument that lie outside the IEEE 854 domain.
49398         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
49399         (gl_ISFINITE): Use it.
49400         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
49401
49402 2008-04-27  Bruno Haible  <bruno@clisp.org>
49403
49404         Allow local renaming in config.h.
49405         * lib/memrchr.c (memrchr): Don't undefine outside libc.
49406
49407 2008-04-27  Bruno Haible  <bruno@clisp.org>
49408
49409         * lib/memchr.c (__memchr): Change type of 'i'.
49410         * lib/memchr2.c (memchr2): Likewise.
49411
49412 2008-04-26  Eric Blake  <ebb9@byu.net>
49413         and Bruno Haible  <bruno@clisp.org>
49414
49415         Optimize and test memrchr.
49416         * modules/memrchr (Depends-on): Add intprops.
49417         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
49418         * modules/memrchr-tests: New file.
49419         * tests/test-memrchr.c: New file.
49420
49421 2008-04-26  Bruno Haible  <bruno@clisp.org>
49422
49423         Add tentative support for DragonFly BSD.
49424         * lib/stdio-impl.h: Add macros for DragonFly BSD.
49425         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
49426         fp.
49427         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49428         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
49429         * lib/fpurge.c (fpurge): Likewise.
49430         * lib/freadable.c (freaadable): Likewise.
49431         * lib/freadahead.c (freadahead): Likewise.
49432         * lib/freading.c (freading): Likewise.
49433         * lib/freadptr.c (freadptr): Likewise.
49434         * lib/freadseek.c (freadptrinc): Likewise.
49435         * lib/fseeko.c (fseeko): Likewise.
49436         * lib/fseterr.c (fseterr): Likewise.
49437         * lib/fwritable.c (fwritable): Likewise.
49438         * lib/fwriting.c (fwriting): Likewise.
49439
49440 2008-04-26  Bruno Haible  <bruno@clisp.org>
49441
49442         * lib/stdio-impl.h: New file.
49443         * lib/fbufmode.c: Include stdio-impl.h.
49444         (fbufmode): Use fp_, remove redundant #defines.
49445         * lib/fflush.c: Include stdio-impl.h.
49446         (clear_ungetc_buffer): Remove redundant #defines.
49447         * lib/fpurge.c: Include stdio-impl.h.
49448         (fpurge): Remove redundant #defines.
49449         * lib/freadable.c: Include stdio-impl.h.
49450         (freadable): Remove redundant #defines.
49451         * lib/freadahead.c: Include stdio-impl.h.
49452         (freadahead): Remove redundant #defines.
49453         * lib/freading.c: Include stdio-impl.h.
49454         (freading): Remove redundant #defines.
49455         * lib/freadptr.c: Include stdio-impl.h.
49456         (freadptr): Remove redundant #defines.
49457         * lib/freadseek.c: Include stdio-impl.h.
49458         (freadptrinc): Remove redundant #defines.
49459         * lib/fseeko.c: Include stdio-impl.h.
49460         (rpl_fseeko): Remove redundant #defines.
49461         * lib/fseterr.c: Include stdio-impl.h.
49462         (fseterr): Remove redundant #defines.
49463         * lib/fwritable.c: Include stdio-impl.h.
49464         (fwritable: Remove redundant #defines.
49465         * lib/fwriting.c: Include stdio-impl.h.
49466         (fwriting): Remove redundant #defines.
49467         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49468         * modules/fflush (Files): Likewise.
49469         * modules/fpurge (Files): Likewise.
49470         * modules/freadable (Files): Likewise.
49471         * modules/freadahead (Files): Likewise.
49472         * modules/freading (Files): Likewise.
49473         * modules/freadptr (Files): Likewise.
49474         * modules/freadseek (Files): Likewise.
49475         * modules/fseeko (Files): Likewise.
49476         * modules/fseterr (Files): Likewise.
49477         * modules/fwritable (Files): Likewise.
49478         * modules/fwriting (Files): Likewise.
49479
49480 2008-04-26  Bruno Haible  <bruno@clisp.org>
49481
49482         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49483         restore_seek_optimization, update_fpos_cache): New functions, extracted
49484         from rpl_fflush.
49485         (rpl_fflush): Use them.
49486         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49487         (gl_REPLACE_FFLUSH): Use it.
49488
49489 2008-04-26  Bruno Haible  <bruno@clisp.org>
49490
49491         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49492         on Solaris.
49493         * tests/test-xstrtoimax.sh: Likewise.
49494         * tests/test-xstrtoumax.sh: Likewise.
49495         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49496
49497 2008-04-26  Bruno Haible  <bruno@clisp.org>
49498
49499         * modules/memchr-tests: New file.
49500         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49501
49502 2008-04-26  Eric Blake  <ebb9@byu.net>
49503             Bruno Haible  <bruno@clisp.org>
49504
49505         * lib/memchr.c: Include intprops.h.
49506         (__memchr): Optimize parallel detection of matching bytes. Rename local
49507         variables. Add explanatory comments.
49508
49509 2008-04-26  Bruno Haible  <bruno@clisp.org>
49510
49511         Fix module 'memchr', broken since 2000-10-28.
49512         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49513
49514 2008-04-26  Bruno Haible  <bruno@clisp.org>
49515
49516         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49517         comments.
49518
49519 2008-04-25  Eric Blake  <ebb9@byu.net>
49520
49521         Use native fstatat on cygwin 1.7.0.
49522         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49523         first.
49524
49525 2008-04-23  Eric Blake  <ebb9@byu.net>
49526
49527         Improve memchr2 performance.
49528         * lib/memchr2.c (memchr2): Further optimize parallel detection of
49529         NUL bytes.
49530         * modules/memchr2 (Depends-on): Use intprops.h.
49531
49532 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49533
49534         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
49535         an inline function instead of a CPP macro.  Patch by Ben Pfaff
49536         <blp@cs.stanford.edu>.
49537
49538 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49539
49540         * lib/arpa_inet.in.h: New file.
49541
49542         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
49543         (Makefile.am): Sed in substitute header file.
49544
49545         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
49546         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
49547
49548         * modules/inet_ntop (configure.ac): Use
49549         gl_ARPA_INET_MODULE_INDICATOR.
49550
49551         * modules/inet_pton (configure.ac): Use
49552         gl_ARPA_INET_MODULE_INDICATOR.
49553
49554 2008-04-22  Jim Meyering  <meyering@redhat.com>
49555
49556         * modules/verify (License): Re-license as LGPLv2+.
49557
49558 2008-04-22  Simon Josefsson  <simon@josefsson.org>
49559
49560         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
49561         parameter to void* as per POSIX standard (MinGW uses char*).
49562
49563 2008-04-21  Bruno Haible  <bruno@clisp.org>
49564
49565         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49566         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49567         Define to replacements if REPLACE_ISWCNTRL is 1.
49568         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
49569         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
49570         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
49571         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
49572         what it fixes.
49573         * doc/posix-functions/iswalpha.texi: Likewise.
49574         * doc/posix-functions/iswblank.texi: Likewise.
49575         * doc/posix-functions/iswcntrl.texi: Likewise.
49576         * doc/posix-functions/iswdigit.texi: Likewise.
49577         * doc/posix-functions/iswgraph.texi: Likewise.
49578         * doc/posix-functions/iswlower.texi: Likewise.
49579         * doc/posix-functions/iswprint.texi: Likewise.
49580         * doc/posix-functions/iswpunct.texi: Likewise.
49581         * doc/posix-functions/iswspace.texi: Likewise.
49582         * doc/posix-functions/iswupper.texi: Likewise.
49583         * doc/posix-functions/iswxdigit.texi: Likewise.
49584         Reported by Alain Guibert.
49585
49586 2008-04-21  Bruno Haible  <bruno@clisp.org>
49587
49588         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
49589         Patch by Alain Guibert.
49590
49591 2008-04-21  Bruno Haible  <bruno@clisp.org>
49592
49593         Fix test failures on mingw.
49594         * tests/test-xstrtol.c (print_no_progname): New function.
49595         (main): Install it in error_print_progname hook.
49596         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
49597         * tests/test-xstrtoimax.sh: Likewise.
49598         * tests/test-xstrtoumax.sh: Likewise.
49599
49600 2008-04-21  Bruno Haible  <bruno@clisp.org>
49601
49602         Fix test failure on mingw.
49603         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
49604
49605 2008-04-21  Bruno Haible  <bruno@clisp.org>
49606
49607         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
49608         Actually assign a value.
49609
49610 2008-04-20  Bruno Haible  <bruno@clisp.org>
49611
49612         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
49613         take 2.
49614         * lib/canonicalize.c (canonicalize_file_name): Elide if the
49615         'canonicalize-lgpl' module is also used.
49616         * lib/canonicalize-lgpl.c: Undo last change.
49617         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
49618
49619 2008-04-20  Bruno Haible  <bruno@clisp.org>
49620
49621         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
49622         config.h. Provide _mkdir based fallback for mingw.
49623         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
49624         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
49625         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
49626         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
49627         rather than defining mkdir in config.h.
49628         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
49629         (gl_SYS_STAT_H_DEFAULTS): New macro.
49630         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
49631         HAVE_IO_H any more.
49632         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
49633         HAVE_DECL_MKDIR and HAVE_IO_H.
49634
49635 2008-04-20  Bruno Haible  <bruno@clisp.org>
49636
49637         * lib/isapipe.c: Port to native Windows platforms.
49638
49639 2008-04-20  Bruno Haible  <bruno@clisp.org>
49640
49641         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
49642
49643 2008-04-21  Eric Blake  <ebb9@byu.net>
49644
49645         Work around preprocessors that don't handle UINTMAX_MAX.
49646         * lib/memchr2.c (memchr2): Avoid embedded #if.
49647         Reported by Alain Guibert, fix suggested by Bruno Haible.
49648
49649 2008-04-21  Simon Josefsson  <simon@josefsson.org>
49650
49651         * doc/posix-functions/strftime.texi (strftime): Explain better
49652         Windows incompatibility.  Suggested by Micah Cowan
49653         <micah@cowan.name>.
49654
49655 2008-04-20  Bruno Haible  <bruno@clisp.org>
49656
49657         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
49658         unistr/u8-mblen.
49659
49660 2008-04-20  Bruno Haible  <bruno@clisp.org>
49661
49662         Fix test failure on platforms with non-GNU iconv.
49663         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
49664         (U_TO_U8): Use it, rather than u16_to_u8.
49665         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
49666         units at the end of the input string.
49667         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
49668
49669 2008-04-20  Bruno Haible  <bruno@clisp.org>
49670
49671         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
49672         when the resulting length is 0.
49673         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
49674
49675 2008-04-20  Bruno Haible  <bruno@clisp.org>
49676
49677         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
49678         works.
49679         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
49680
49681 2008-04-20  Bruno Haible  <bruno@clisp.org>
49682
49683         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
49684         * modules/tsearch-tests (configure.ac): Test for initstate function.
49685
49686 2008-04-20  Bruno Haible  <bruno@clisp.org>
49687
49688         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
49689         for nlink_t if missing.
49690         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
49691
49692 2008-04-19  Bruno Haible  <bruno@clisp.org>
49693
49694         Work around snprintf bug on Linux libc5.
49695         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
49696         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49697         gl_SNPRINTF_SIZE1.
49698         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49699         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
49700         that test failed.
49701         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49702         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
49703         * modules/snprintf (Files): Add m4/printf.m4.
49704         * modules/vsnprintf (Files): Likewise.
49705         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
49706         * doc/posix-functions/vsnprintf.texi: Likewise.
49707
49708 2008-04-19  Bruno Haible  <bruno@clisp.org>
49709
49710         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
49711         from 0.0058 to less than 10^-7.
49712
49713 2008-04-19  Bruno Haible  <bruno@clisp.org>
49714
49715         Fix rounding when a precision is given.
49716         * lib/vasnprintf.c (is_borderline): New function.
49717         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
49718         9...9x.
49719         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
49720         %e, %g.
49721         * tests/test-vasprintf-posix.c (test_function): Likewise.
49722         * tests/test-snprintf-posix.h (test_function): Likewise.
49723         * tests/test-sprintf-posix.h (test_function): Likewise.
49724         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
49725         * tests/test-printf-posix.h (test_function): Likewise.
49726         * tests/test-printf-posix.output: Update.
49727         Reported by John Darrington <john@darrington.wattle.id.au> via
49728         Ben Pfaff <blp@cs.stanford.edu>.
49729
49730 2008-04-18  Simon Josefsson  <simon@josefsson.org>
49731
49732         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
49733         Suggested by Bruno Haible <bruno@clisp.org>.
49734
49735 2008-04-17  Bruno Haible  <bruno@clisp.org>
49736
49737         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
49738         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
49739         implementation.
49740         Patch by Bruce Merry <bmerry@gmail.com>.
49741
49742 2008-04-17  Simon Josefsson  <simon@josefsson.org>
49743
49744         * doc/posix-functions/strftime.texi (strftime): Mention that %e
49745         doesn't work under Windows.
49746
49747 2008-04-16  Bruno Haible  <bruno@clisp.org>
49748
49749         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
49750         New macros.
49751         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
49752         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
49753         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
49754         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
49755         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
49756         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
49757         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
49758         macros.
49759         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
49760         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
49761         Northern Sotho, Uighur.
49762
49763 2008-04-16  Bruno Haible  <bruno@clisp.org>
49764
49765         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
49766         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
49767         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
49768         Reported by Daniel Bergström <daniel@octocode.com>.
49769
49770 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
49771             Bruno Haible  <bruno@clisp.org>
49772
49773         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
49774         function.
49775         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
49776         New functions, mostly extracted from gl_locale_name_default.
49777         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
49778
49779 2008-04-16  Eric Blake  <ebb9@byu.net>
49780
49781         Adjust strtod detection to catch glibc 2.7 bug.
49782         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
49783         Reported by John Gatewood Ham.
49784
49785 2008-04-16  Bruno Haible  <bruno@clisp.org>
49786
49787         Add tentative support for Linux libc5.
49788         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
49789         * lib/fpurge.c (fpurge): Likewise.
49790         * lib/freadable.c (freadable): Likewise.
49791         * lib/freadahead.c (freadahead): Likewise.
49792         * lib/freading.c (freading): Likewise.
49793         * lib/freadptr.c (freadptr): Likewise.
49794         * lib/freadseek.c (freadptrinc): Likewise.
49795         * lib/fseeko.c (rpl_fseeko): Likewise.
49796         * lib/fseterr.c (fseterr): Likewise.
49797         * lib/fwritable.c (fwritable): Likewise.
49798         * lib/fwriting.c (fwriting): Likewise.
49799         Reported by Alain Guibert <alguibert+bts@free.fr>.
49800
49801 2008-04-15  Bruno Haible  <bruno@clisp.org>
49802
49803         * modules/mathl (configure.ac): Define module indicator.
49804
49805 2008-04-15  Bruno Haible  <bruno@clisp.org>
49806
49807         * lib/logl.c (logl): Remove unused variables.
49808
49809 2008-04-15  Bruno Haible  <bruno@clisp.org>
49810
49811         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
49812         fails.
49813
49814 2008-04-15  Bruno Haible  <bruno@clisp.org>
49815
49816         * lib/trim.c (trim2): Fix argument of isspace() macro.
49817
49818 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
49819
49820         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
49821         to 0.
49822         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
49823
49824 2008-04-14  Bruno Haible  <bruno@clisp.org>
49825
49826         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
49827         AC_LANG_PROGRAM argument.
49828         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
49829         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
49830         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
49831         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49832         * m4/math_h.m4 (gl_MATH_H): Likewise.
49833         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
49834         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49835         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49836         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
49837         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
49838         * m4/regex.m4 (gl_REGEX): Likewise.
49839         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
49840         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
49841         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49842         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
49843         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49844         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49845         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49846         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49847
49848 2008-04-14  Jim Meyering  <meyering@redhat.com>
49849
49850         test-strtod: fix typos: s/abs/fabs/
49851         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
49852
49853 2008-04-13  Bruno Haible  <bruno@clisp.org>
49854
49855         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
49856         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
49857         module is also used and while not building the reloc-wrapper.
49858
49859 2008-04-13  Bruno Haible  <bruno@clisp.org>
49860
49861         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
49862
49863 2008-04-13  Bruno Haible  <bruno@clisp.org>
49864
49865         Fix AIX compilation failure introduced on 2008-04-02.
49866         * tests/test-frexp.c (exp): Undefine before redefining.
49867         * tests/test-frexpl.c (exp): Likewise.
49868
49869 2008-04-13  Bruno Haible  <bruno@clisp.org>
49870
49871         Work around a HP-UX stdio bug.
49872         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
49873         * tests/test-ftello.c (main): Likewise.
49874         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
49875         * doc/posix-functions/ftello.texi: Likewise.
49876
49877 2008-04-13  Bruno Haible  <bruno@clisp.org>
49878
49879         Make test-signbit pass on HP-UX/hppa.
49880         * tests/test-signbit.c (minus_zerol): New variable.
49881         (test_signbitl): Use it.
49882
49883 2008-04-13  Bruno Haible  <bruno@clisp.org>
49884
49885         Make truncl work on OSF/1 4.0.
49886         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
49887         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49888         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49889         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
49890         HAVE_DECL_TRUNCL.
49891         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
49892         HAVE_DECL_TRUNCL.
49893         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
49894
49895 2008-04-13  Bruno Haible  <bruno@clisp.org>
49896
49897         * lib/unictype.h: Remove trailing comma from enumeration definitions.
49898
49899 2008-04-13  Bruno Haible  <bruno@clisp.org>
49900
49901         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
49902         expression, so as to avoid HP-UX 11 cc compiler bug.
49903
49904 2008-04-13  Bruno Haible  <bruno@clisp.org>
49905
49906         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
49907
49908 2008-04-13  Bruno Haible  <bruno@clisp.org>
49909
49910         * lib/git-merge-changelog.c: Remove empty declaration outside of
49911         functions.
49912
49913 2008-04-13  Bruno Haible  <bruno@clisp.org>
49914
49915         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
49916
49917 2008-04-13  Bruno Haible  <bruno@clisp.org>
49918
49919         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
49920         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
49921         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
49922         also if it exists but lacks definitions of the SHUT_* macros.
49923         * modules/sys_socket (Description): Update.
49924         Reported by Elbert Pol <e.pol@chello.nl>.
49925
49926 2008-04-13  Bruno Haible  <bruno@clisp.org>
49927
49928         * lib/localcharset.c (OS2): Don't redefine if already defined.
49929         Reported by Elbert Pol <e.pol@chello.nl>.
49930
49931 2008-04-13  Bruno Haible  <bruno@clisp.org>
49932
49933         * lib/binary-io.h [__EMX__]: Include <io.h>.
49934         Reported by Elbert Pol <e.pol@chello.nl>.
49935
49936 2008-04-12  Bruno Haible  <bruno@clisp.org>
49937
49938         * lib/fpucw.h: Enable the definitions also for x86_64.
49939         Needed for NetBSD/x86_64.
49940         Reported by Thomas Klausner <tk@giga.or.at>.
49941
49942 2008-04-12  Bruno Haible  <bruno@clisp.org>
49943
49944         * tests/test-strtod.c: Include isnand.h.
49945         (main): Use isnand instead of isnan.
49946         Reported by Jim Meyering.
49947
49948 2008-04-12  Bruno Haible  <bruno@clisp.org>
49949
49950         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
49951         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
49952
49953 2008-04-12  Jim Meyering  <meyering@redhat.com>
49954
49955         * m4/math_h.m4 (gl_MATH_H): Fix typos.
49956
49957 2008-04-12  Bruno Haible  <bruno@clisp.org>
49958
49959         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
49960         Reported by Elbert Pol <e.pol@chello.nl>.
49961
49962 2008-04-12  Eric Blake  <ebb9@byu.net>
49963
49964         Work around Solaris 10 math.h bug.
49965         * m4/math_h.m4 (gl_MATH_H): Check for bug.
49966         (gl_MATH_H_DEFAULTS): Set up default.
49967         * modules/math (Makefile.am): Replace new indicators.
49968         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
49969         * tests/test-math.c (main): Test this.
49970         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
49971         * doc/posix-headers/math.texi (math.h): Mention bug.
49972         Reported by Nelson H. F. Beebe and Jim Meyering.
49973
49974 2008-04-11  Bruno Haible  <bruno@clisp.org>
49975
49976         Adapt to future versions of Apple GCC.
49977         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
49978         Reported by Peter O'Gorman <peter@pogma.com>.
49979
49980 2008-04-11  Bruno Haible  <bruno@clisp.org>
49981
49982         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
49983
49984 2008-04-11  Bruno Haible  <bruno@clisp.org>
49985
49986         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
49987
49988         * modules/getaddrinfo-tests (Makefile.am): Define
49989         test_getaddrinfo_LDADD.
49990
49991 2008-04-11  Bruno Haible  <bruno@clisp.org>
49992
49993         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
49994         (init): Fix syntax error.
49995         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
49996         is declared.
49997
49998 2008-04-11  Bruno Haible  <bruno@clisp.org>
49999
50000         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
50001         * modules/glob (Depends-on): Add stdbool.
50002
50003 2008-04-11  Bruno Haible  <bruno@clisp.org>
50004
50005         * lib/trim.c: Include <string.h>.
50006
50007 2008-04-11  Eric Blake  <ebb9@byu.net>
50008
50009         Avoid compile failure on OS/2.
50010         * lib/regex_internal.h (internal_function): Disable optimization
50011         on OS/2 (__EMX__), where it caused compiler error.
50012         Reported by Elbert Pol.
50013
50014 2008-04-11  Bruno Haible  <bruno@clisp.org>
50015
50016         Flush the standard error stream before aborting. Needed on mingw.
50017         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
50018         * tests/test-array_list.c (ASSERT): Likewise.
50019         * tests/test-array_oset.c (ASSERT): Likewise.
50020         * tests/test-avltree_list.c (ASSERT): Likewise.
50021         * tests/test-avltree_oset.c (ASSERT): Likewise.
50022         * tests/test-avltreehash_list.c (ASSERT): Likewise.
50023         * tests/test-binary-io.c (ASSERT): Likewise.
50024         * tests/test-byteswap.c (ASSERT): Likewise.
50025         * tests/test-c-ctype.c (ASSERT): Likewise.
50026         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
50027         * tests/test-c-strcasestr.c (ASSERT): Likewise.
50028         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
50029         * tests/test-c-strstr.c (ASSERT): Likewise.
50030         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
50031         * tests/test-canonicalize.c (ASSERT): Likewise.
50032         * tests/test-carray_list.c (ASSERT): Likewise.
50033         * tests/test-ceilf1.c (ASSERT): Likewise.
50034         * tests/test-ceilf2.c (ASSERT): Likewise.
50035         * tests/test-ceill.c (ASSERT): Likewise.
50036         * tests/test-count-one-bits.c (ASSERT): Likewise.
50037         * tests/test-fbufmode.c (ASSERT): Likewise.
50038         * tests/test-fflush2.c (ASSERT): Likewise.
50039         * tests/test-floorf1.c (ASSERT): Likewise.
50040         * tests/test-floorf2.c (ASSERT): Likewise.
50041         * tests/test-floorl.c (ASSERT): Likewise.
50042         * tests/test-fopen.c (ASSERT): Likewise.
50043         * tests/test-fpending.c (ASSERT): Likewise.
50044         * tests/test-fprintf-posix.c (ASSERT): Likewise.
50045         * tests/test-fpurge.c (ASSERT): Likewise.
50046         * tests/test-freadable.c (ASSERT): Likewise.
50047         * tests/test-freadahead.c (ASSERT): Likewise.
50048         * tests/test-freading.c (ASSERT): Likewise.
50049         * tests/test-freadptr.c (ASSERT): Likewise.
50050         * tests/test-freadptr2.c (ASSERT): Likewise.
50051         * tests/test-freadseek.c (ASSERT): Likewise.
50052         * tests/test-freopen.c (ASSERT): Likewise.
50053         * tests/test-frexp.c (ASSERT): Likewise.
50054         * tests/test-frexpl.c (ASSERT): Likewise.
50055         * tests/test-fseek.c (ASSERT): Likewise.
50056         * tests/test-fseeko.c (ASSERT): Likewise.
50057         * tests/test-fstrcmp.c (ASSERT): Likewise.
50058         * tests/test-ftell.c (ASSERT): Likewise.
50059         * tests/test-ftello.c (ASSERT): Likewise.
50060         * tests/test-func.c (ASSERT): Likewise.
50061         * tests/test-fwritable.c (ASSERT): Likewise.
50062         * tests/test-fwriting.c (ASSERT): Likewise.
50063         * tests/test-getdelim.c (ASSERT): Likewise.
50064         * tests/test-getline.c (ASSERT): Likewise.
50065         * tests/test-i-ring.c (ASSERT): Likewise.
50066         * tests/test-iconv-utf.c (ASSERT): Likewise.
50067         * tests/test-iconv.c (ASSERT): Likewise.
50068         * tests/test-isfinite.c (ASSERT): Likewise.
50069         * tests/test-isnand.c (ASSERT): Likewise.
50070         * tests/test-isnanf.c (ASSERT): Likewise.
50071         * tests/test-isnanl.h (ASSERT): Likewise.
50072         * tests/test-ldexpl.c (ASSERT): Likewise.
50073         * tests/test-linked_list.c (ASSERT): Likewise.
50074         * tests/test-linkedhash_list.c (ASSERT): Likewise.
50075         * tests/test-localename.c (ASSERT): Likewise.
50076         * tests/test-lseek.c (ASSERT): Likewise.
50077         * tests/test-mbscasecmp.c (ASSERT): Likewise.
50078         * tests/test-mbscasestr1.c (ASSERT): Likewise.
50079         * tests/test-mbscasestr2.c (ASSERT): Likewise.
50080         * tests/test-mbscasestr3.c (ASSERT): Likewise.
50081         * tests/test-mbscasestr4.c (ASSERT): Likewise.
50082         * tests/test-mbschr.c (ASSERT): Likewise.
50083         * tests/test-mbscspn.c (ASSERT): Likewise.
50084         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
50085         * tests/test-mbspbrk.c (ASSERT): Likewise.
50086         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
50087         * tests/test-mbsrchr.c (ASSERT): Likewise.
50088         * tests/test-mbsspn.c (ASSERT): Likewise.
50089         * tests/test-mbsstr1.c (ASSERT): Likewise.
50090         * tests/test-mbsstr2.c (ASSERT): Likewise.
50091         * tests/test-mbsstr3.c (ASSERT): Likewise.
50092         * tests/test-memchr2.c (ASSERT): Likewise.
50093         * tests/test-memmem.c (ASSERT): Likewise.
50094         * tests/test-open.c (ASSERT): Likewise.
50095         * tests/test-printf-frexp.c (ASSERT): Likewise.
50096         * tests/test-printf-frexpl.c (ASSERT): Likewise.
50097         * tests/test-printf-posix.c (ASSERT): Likewise.
50098         * tests/test-quotearg.c (ASSERT): Likewise.
50099         * tests/test-rbtree_list.c (ASSERT): Likewise.
50100         * tests/test-rbtree_oset.c (ASSERT): Likewise.
50101         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
50102         * tests/test-round1.c (ASSERT): Likewise.
50103         * tests/test-roundf1.c (ASSERT): Likewise.
50104         * tests/test-roundl.c (ASSERT): Likewise.
50105         * tests/test-signbit.c (ASSERT): Likewise.
50106         * tests/test-sleep.c (ASSERT): Likewise.
50107         * tests/test-snprintf-posix.c (ASSERT): Likewise.
50108         * tests/test-snprintf.c (ASSERT): Likewise.
50109         * tests/test-sprintf-posix.c (ASSERT): Likewise.
50110         * tests/test-stat-time.c (ASSERT): Likewise.
50111         * tests/test-strcasestr.c (ASSERT): Likewise.
50112         * tests/test-strerror.c (ASSERT): Likewise.
50113         * tests/test-striconv.c (ASSERT): Likewise.
50114         * tests/test-striconveh.c (ASSERT): Likewise.
50115         * tests/test-striconveha.c (ASSERT): Likewise.
50116         * tests/test-strsignal.c (ASSERT): Likewise.
50117         * tests/test-strstr.c (ASSERT): Likewise.
50118         * tests/test-strtod.c (ASSERT): Likewise.
50119         * tests/test-trunc1.c (ASSERT): Likewise.
50120         * tests/test-trunc2.c (ASSERT): Likewise.
50121         * tests/test-truncf1.c (ASSERT): Likewise.
50122         * tests/test-truncf2.c (ASSERT): Likewise.
50123         * tests/test-truncl.c (ASSERT): Likewise.
50124         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
50125         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
50126         * tests/test-vasnprintf.c (ASSERT): Likewise.
50127         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
50128         * tests/test-vasprintf.c (ASSERT): Likewise.
50129         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
50130         * tests/test-vprintf-posix.c (ASSERT): Likewise.
50131         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
50132         * tests/test-vsnprintf.c (ASSERT): Likewise.
50133         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
50134         * tests/test-wcwidth.c (ASSERT): Likewise.
50135         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
50136         * tests/test-xprintf-posix.c (ASSERT): Likewise.
50137         * tests/test-xvasprintf.c (ASSERT): Likewise.
50138         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
50139         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
50140         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
50141         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
50142         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
50143         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
50144         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
50145         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
50146         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
50147         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
50148         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
50149         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
50150         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
50151         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
50152         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
50153         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
50154         * tests/unictype/test-block_list.c (ASSERT): Likewise.
50155         * tests/unictype/test-block_of.c (ASSERT): Likewise.
50156         * tests/unictype/test-block_test.c (ASSERT): Likewise.
50157         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
50158         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
50159         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
50160         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
50161         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
50162         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
50163         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
50164         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
50165         * tests/unictype/test-combining.c (ASSERT): Likewise.
50166         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
50167         * tests/unictype/test-digit.c (ASSERT): Likewise.
50168         * tests/unictype/test-mirror.c (ASSERT): Likewise.
50169         * tests/unictype/test-numeric.c (ASSERT): Likewise.
50170         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
50171         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
50172         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
50173         * tests/unictype/test-scripts.c (ASSERT): Likewise.
50174         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
50175         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
50176         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
50177         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
50178         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
50179         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
50180         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
50181         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
50182         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
50183         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
50184         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
50185         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
50186         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
50187         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
50188         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
50189         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
50190         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
50191         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
50192         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
50193         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
50194         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
50195         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
50196         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
50197         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
50198         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
50199         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
50200         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
50201         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
50202         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
50203         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
50204         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
50205         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
50206         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
50207         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
50208         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
50209         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
50210         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
50211         Reported by Eric Blake.
50212
50213 2008-04-11  Bruno Haible  <bruno@clisp.org>
50214
50215         * lib/wchar.in.h: Tweak comment.
50216
50217 2008-04-11  Bruno Haible  <bruno@clisp.org>
50218
50219         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
50220         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
50221         gl_COMMON.
50222         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
50223
50224 2008-04-11  Bruno Haible  <bruno@clisp.org>
50225
50226         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
50227
50228 2008-04-11  Simon Josefsson  <simon@josefsson.org>
50229
50230         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
50231         of attempting to use non-existing /dev/*random.  Based on patch
50232         from Adam Strzelecki <ono@java.pl> in
50233         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
50234
50235 2008-04-08  Bruno Haible  <bruno@clisp.org>
50236
50237         Add tentative support for emx+gcc.
50238         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
50239         * lib/fpurge.c (fpurge): Likewise.
50240         * lib/freadable.c (freadable): Likewise.
50241         * lib/freadahead.c (freadahead): Likewise.
50242         * lib/freading.c (freading): Likewise.
50243         * lib/freadptr.c (freadptr): Likewise.
50244         * lib/freadseek.c (freadptrinc): Likewise.
50245         * lib/fseeko.c (rpl_fseeko): Likewise.
50246         * lib/fseterr.c (fseterr): Likewise.
50247         * lib/fwritable.c (fwritable): Likewise.
50248         * lib/fwriting.c (fwriting): Likewise.
50249         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
50250
50251 2008-04-09  Eric Blake  <ebb9@byu.net>
50252
50253         Avoid some autoconf warnings.
50254         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
50255         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
50256         * m4/afs.m4 (gl_AFS): Likewise.
50257         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
50258         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
50259         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50260         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
50261         (gl_INTEGER_TYPE_SUFFIX): Likewise.
50262         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
50263         (AC_CHECK_DECLS_ONCE): Likewise.
50264         Rename file...
50265         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
50266         gnulib-tool requires autoconf 2.59 or better.
50267         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
50268
50269 2008-04-08  Eric Blake  <ebb9@byu.net>
50270
50271         Use 'git describe --match' if present (added in git 1.5.5).
50272         * build-aux/git-version-gen: Limit result to tags that match 'v*'
50273         if possible.
50274
50275 2008-04-08  Bruno Haible  <bruno@clisp.org>
50276
50277         Add tentative support for OpenServer.
50278         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
50279         _ptr, _cnt.
50280         * lib/fpurge.c (fpurge): Likewise.
50281         * lib/freadable.c (freadable): Likewise.
50282         * lib/freadahead.c (freadahead): Likewise.
50283         * lib/freading.c (freading): Likewise.
50284         * lib/freadptr.c (freadptr): Likewise.
50285         * lib/freadseek.c (freadptrinc): Likewise.
50286         * lib/fseeko.c (rpl_fseeko): Likewise.
50287         * lib/fseterr.c (fseterr): Likewise.
50288         * lib/fwritable.c (fwritable): Likewise.
50289         * lib/fwriting.c (fwriting): Likewise.
50290         Reported by Roger Cornelius <rac@tenzing.org> and
50291         Brian K. White <brian@aljex.com>.
50292
50293 2008-04-06  Jim Meyering  <meyering@redhat.com>
50294
50295         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
50296
50297 2008-04-06  Bruno Haible  <bruno@clisp.org>
50298
50299         Avoid possible error with non-ASCII bytes in UTF-8 locales.
50300         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
50301         * tests/test-printf-posix.sh: Likewise.
50302         * tests/test-vfprintf-posix.sh: Likewise.
50303         * tests/test-vprintf-posix.sh: Likewise.
50304         * tests/test-xprintf-posix.sh: Likewise.
50305
50306 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50307
50308         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
50309         hide error from 'ls', needed on OS/2.
50310         Report by Elbert Pol <elbert.pol@gmail.com>.
50311
50312 2008-04-04  Eric Blake  <ebb9@byu.net>
50313
50314         Make test-fseeko.c failures meaningful.
50315         * tests/test-fseeko.c: Print line number on failure.
50316         * tests/test-fseek.c: Likewise.
50317         Reported by Nelson H. F. Beebe.
50318
50319         Improve strtod bug detection check.
50320         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
50321         required for Solaris 10.
50322         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
50323
50324 2008-04-04  Bruno Haible  <bruno@clisp.org>
50325
50326         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
50327         by m4/setenv.m4.
50328
50329 2008-04-03  Eric Blake  <ebb9@byu.net>
50330
50331         Ensure sane .version contents.
50332         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
50333         version string.
50334         * build-aux/git-version-gen: Improve documentation.
50335
50336         Make GNU make output nicer.
50337         * top/GNUmakefile [!_have-Makefile]: Add dependency on
50338         MAKECMDGOALS to enforce message for all command line targets.  Set
50339         srcdir for use in maint.mk.
50340
50341         Another maintainer tweak.
50342         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
50343         a target that regenerates version.
50344
50345 2008-04-03  Jim Meyering  <meyering@redhat.com>
50346
50347         vc-list-files: don't cause coreutils "make po-check" failure
50348         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
50349
50350 2008-04-03  Eric Blake  <ebb9@byu.net>
50351
50352         Allow VPATH usage of vc-list-files.
50353         * build-aux/vc-list-files (scriptversion): Add timestamp.
50354         (options): Add --help, --version, -C.
50355         (CVS): Support installed cvsu.
50356
50357 2008-04-02  Bruno Haible  <bruno@clisp.org>
50358
50359         Avoid some "statement with no effect" warnings from gcc.
50360         * tests/test-wctype.c (main): Explicitly ignore unused values.
50361         Reported by Jim Meyering.
50362
50363 2008-04-02  Jim Meyering  <meyering@redhat.com>
50364
50365         Avoid some warnings from "gcc -Wshadow".
50366         * tests/test-frexp.c (exp): Define to a different identifier.
50367         * tests/test-frexpl.c (exp): Likewise.
50368
50369 2008-04-03  Jim Meyering  <meyering@redhat.com>
50370
50371         bootstrap: remove dangling *.[ch] symlinks from lib
50372         * build-aux/bootstrap [dangling symlink removal]: Move find's
50373         -depth option to precede all others, to avoid a warning.
50374         Remove *.[ch] files too, and from "$source_base" (usually lib/).
50375
50376 2008-04-02  Bruno Haible  <bruno@clisp.org>
50377
50378         Avoid some warnings from "gcc -Wshadow".
50379         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
50380         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
50381         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
50382         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
50383         Reported by Jim Meyering.
50384
50385 2008-04-01  Bruno Haible  <bruno@clisp.org>
50386
50387         Fix test to work on IRIX 6.5 with cc.
50388         * tests/test-math.c (numeric_equal): New function.
50389         (main): Use it.
50390
50391 2008-04-01  Bruno Haible  <bruno@clisp.org>
50392
50393         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
50394
50395 2008-04-01  Bruno Haible  <bruno@clisp.org>
50396
50397         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
50398         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50399         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
50400         (Depends-on): Remove math.
50401
50402         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
50403         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50404         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
50405         (Depends-on): Remove math.
50406
50407         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
50408         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50409         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
50410         (Depends-on): Remove math.
50411         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
50412         (Depends-on): Remove math.
50413
50414         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
50415         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50416         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
50417         (Depends-on): Remove math.
50418         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
50419         (Depends-on): Remove math.
50420
50421         * tests/test-round1.c: Include nan.h.
50422         (main): Use NaNd instead of NAN.
50423         * modules/round-tests (Files): Add tests/nan.h.
50424
50425         * tests/test-trunc1.c: Include nan.h.
50426         (main): Use NaNd instead of NAN.
50427         * modules/trunc-tests (Files): Add tests/nan.h.
50428
50429         * tests/test-roundf1.c: Include nan.h.
50430         (main): Use NaNf instead of NAN.
50431         * modules/roundf-tests (Files): Add tests/nan.h.
50432
50433         * tests/test-truncf1.c: Include nan.h.
50434         (main): Use NaNf instead of NAN.
50435         * modules/truncf-tests (Files): Add tests/nan.h.
50436
50437         * tests/test-ceilf1.c: Include nan.h.
50438         (main): Use NaNf instead of NAN.
50439         * modules/ceilf-tests (Files): Add tests/nan.h.
50440
50441         * tests/test-floorf1.c: Include nan.h.
50442         (main): Use NaNf instead of NAN.
50443         * modules/floorf-tests (Files): Add tests/nan.h.
50444
50445         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
50446         (main): Use NaNf instead of NAN.
50447         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
50448
50449         * tests/test-isnand.c: Include nan.h instead of <math.h>.
50450         (main): Use NaNd instead of NAN.
50451         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
50452
50453         * tests/test-frexp.c: Include nan.h.
50454         (main): Use NaNd instead of NAN.
50455         * modules/frexp-tests (Files): Add tests/nan.h.
50456
50457         * lib/isnan.c: Don't include <math.h>.
50458         (FUNC): Don't use NAN macro.
50459         * modules/isnand-nolibm (Depends-on): Remove math.
50460         * modules/isnanf-nolibm (Depends-on): Remove math.
50461         * modules/isnanl (Depends-on): Remove math.
50462         * modules/isnanl-nolibm (Depends-on): Remove math.
50463
50464         * tests/nan.h: New file.
50465
50466 2008-04-01  Eric Blake  <ebb9@byu.net>
50467
50468         Fix typos.
50469         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50470         values to be the right type.
50471
50472         For now, cater to gnulib strtod inaccuracies.
50473         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50474         fractional results.  While not as nice from a QoI perspective, it
50475         is a quicker patch than correctly implementing decimal to binary
50476         rounding.
50477
50478 2008-03-31  Eric Blake  <ebb9@byu.net>
50479
50480         Guarantee a definition of NAN.
50481         * lib/math.in.h (NAN): Define if missing.
50482         * tests/test-math.c (main): Test it.
50483         * doc/posix-headers/math.texi (math.h): Document this.
50484         * lib/isnan.c (rpl_isnand): Use it.
50485         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50486         * tests/test-floorf1.c (NaN): Likewise.
50487         * tests/test-frexp.c (NaN): Likewise.
50488         * tests/test-isnand.c (NaN): Likewise.
50489         * tests/test-isnanf.c (NaN): Likewise.
50490         * tests/test-round1.c (NaN): Likewise.
50491         * tests/test-roundf1.c (NaN): Likewise.
50492         * tests/test-snprintf-posix.h (NaN): Likewise.
50493         * tests/test-sprintf-posix.h (NaN): Likewise.
50494         * tests/test-trunc1.c (NaN): Likewise.
50495         * tests/test-truncf1.c (NaN): Likewise.
50496         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50497         * tests/test-vasprintf-posix.c (NaN): Likewise.
50498         * modules/isnand-nolibm (Depends-on): Add math.
50499         * modules/isnanf-nolibm (Depends-on): Likewise.
50500         * modules/isnanl (Depends-on): Likewise.
50501         * modules/isnanl-nolibm (Depends-on): Likewise.
50502         * modules/snprintf-posix-tests (Depends-on): Likewise.
50503         * modules/sprintf-posix-tests (Depends-on): Likewise.
50504         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50505         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50506         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50507         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50508
50509 2008-03-31  Bruno Haible  <bruno@clisp.org>
50510
50511         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50512         * doc/posix-functions/strtod.texi: Likewise.
50513
50514 2008-03-31  Bruno Haible  <bruno@clisp.org>
50515
50516         * tests/test-strtod.c (main): Don't use C99 syntax.
50517
50518 2008-03-31  Bruno Haible  <bruno@clisp.org>
50519
50520         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50521         Reported by Eric Blake.
50522
50523 2008-03-31  Jim Meyering  <meyering@redhat.com>
50524
50525         Don't compare actual signbit return values.
50526         * tests/test-strtod.c (main): Rather, compare only their
50527         zero/non-zero nature.
50528
50529 2008-03-31  Eric Blake  <ebb9@byu.net>
50530
50531         More strtod documentation.
50532         * doc/posix-functions/strtod.texi (strtod): Interpret more test
50533         failures as distinct bugs.
50534
50535 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50536
50537         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
50538         Problem reported by Erik Benada in
50539         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
50540
50541 2008-03-30  Bruno Haible  <bruno@clisp.org>
50542
50543         * tests/test-strtod.c: Add comments about which assertion fails on which
50544         platform.
50545         * doc/posix-functions/strtod.texi: Add info about many more platforms.
50546
50547 2008-03-30  Eric Blake  <ebb9@byu.net>
50548
50549         Test signbit behavior on zeros.
50550         * tests/test-signbit.c (test_signbitf): Add tests for zero.
50551         (test_signbitd, test_signbitl): Likewise.
50552
50553         More strtod touchups.
50554         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
50555         sign of negative underflow, for now.  Use .5, not .1.
50556         * doc/posix-functions/strtod.texi (strtod): Mention these
50557         limitations.
50558         Reported by Jim Meyering.
50559
50560 2008-03-30  Bruno Haible  <bruno@clisp.org>
50561
50562         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
50563         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
50564
50565 2008-03-30  Bruno Haible  <bruno@clisp.org>
50566
50567         Avoid failure when attempting to return empty iconv results on some
50568         platforms.
50569         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
50570         allocation, don't report ENOMEM when the resulting string is empty.
50571
50572 2008-03-30  Bruno Haible  <bruno@clisp.org>
50573
50574         Fix buffer overrun.
50575         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
50576         Don't consider the width for tmp_length. Check count against tmp_length
50577         before doing the padding. Ensure enough allocation during padding.
50578
50579 2008-03-30  Eric Blake  <ebb9@byu.net>
50580
50581         strtod touchups.
50582         * lib/strtod.c (strtod): Avoid compiler warnings.
50583         Reported by Jim Meyering.
50584
50585 2008-03-30  Bruno Haible  <bruno@clisp.org>
50586
50587         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
50588         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
50589         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
50590         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
50591         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
50592         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
50593         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
50594         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
50595
50596         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
50597         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
50598         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
50599         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
50600         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
50601         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
50602         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
50603         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
50604
50605         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
50606         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
50607         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
50608         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
50609         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
50610         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
50611         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
50612         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
50613
50614         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
50615         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
50616
50617         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
50618         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
50619
50620         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
50621         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
50622
50623         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
50624         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
50625         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
50626
50627         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
50628         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
50629         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
50630
50631         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
50632         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
50633         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
50634
50635         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
50636         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
50637         * modules/vasprintf (Depends-on): Add EOVERFLOW.
50638
50639         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
50640         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
50641         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
50642         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
50643         (Depends-on): Add EOVERFLOW.
50644         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
50645         (Depends-on): Add EOVERFLOW.
50646         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50647         (Depends-on): Add EOVERFLOW.
50648         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50649         (Depends-on): Add EOVERFLOW.
50650         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50651         (Depends-on): Add EOVERFLOW.
50652         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50653         (Depends-on): Add EOVERFLOW.
50654         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50655         (Depends-on): Add EOVERFLOW.
50656         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50657         (Depends-on): Add EOVERFLOW.
50658
50659         * lib/sprintf.c (EOVERFLOW): Remove fallback.
50660         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
50661         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
50662
50663         * lib/snprintf.c (EOVERFLOW): Remove fallback.
50664         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
50665         * modules/snprintf (Depends-on): Add EOVERFLOW.
50666
50667         * lib/poll.c (EOVERFLOW): Remove fallback.
50668         * modules/poll (Depends-on): Add EOVERFLOW.
50669
50670         * lib/getugroups.c (EOVERFLOW): Remove fallback.
50671         * modules/getugroups (Depends-on): Add EOVERFLOW.
50672
50673         * lib/getdelim.c (EOVERFLOW): Remove fallback.
50674         * modules/getdelim (Depends-on): Add EOVERFLOW.
50675
50676         * lib/ftell.c (EOVERFLOW): Remove fallback.
50677         * modules/ftell (Depends-on): Add EOVERFLOW.
50678
50679         * lib/fprintf.c (EOVERFLOW): Remove fallback.
50680         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
50681         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
50682
50683         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
50684
50685         * modules/EOVERFLOW-tests: New file.
50686         * tests/test-EOVERFLOW.c: New file.
50687
50688         * modules/EOVERFLOW: New file.
50689         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
50690
50691 2008-03-30  Bruno Haible  <bruno@clisp.org>
50692
50693         Fix bug introduced on 2007-06-10.
50694         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
50695         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
50696
50697 2008-03-30  Bruno Haible  <bruno@clisp.org>
50698
50699         Improve freadseek's efficiency after ungetc.
50700         * lib/freadseek.c: Include freadahead.h.
50701         (freadptrinc): New function, extracted from freadseek.
50702         (freadseek): Use it in a loop. Use freadahead to determine the number
50703         of loop iterations.
50704         * modules/freadseek (Depends-on): Add freadahead.
50705         (configure.ac): Require AC_C_INLINE.
50706
50707 2008-03-30  Bruno Haible  <bruno@clisp.org>
50708
50709         * lib/freadseek.c (freadseek): Don't ignore the return value of
50710         freadptr.
50711
50712 2008-03-29  Eric Blake  <ebb9@byu.net>
50713
50714         Add hex float support.
50715         * modules/strtod (Depends-on): Add c-ctype.
50716         (Link): Mention POW_LIB.
50717         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
50718         whitespace between 'e' and exponent.
50719         * tests/test-strtod.c (main): Enable hex float tests.
50720         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
50721         now provides.
50722
50723         Document various strtod bugs, with some fixes.
50724         * doc/posix-functions/strtod.texi (strtod): Document bugs with
50725         "-0x", "inf", "nan", and hex constants.
50726         * doc/posix-functions/atof.texi (atof): Likewise.
50727         * modules/stdlib (Makefile.am): Support strtod.
50728         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
50729         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
50730         detect additional strtod bugs.
50731         * lib/stdlib.in.h (rpl_strtod): Add declarations.
50732         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
50733         bool where appropriate.  Parse 'inf' and 'nan'.
50734         * tests/test-strtod.c: New file.
50735         * modules/strtod (Depends-on): Add stdbool, stdlib.
50736         (configure.ac): Turn on module indicator.
50737         * modules/strtod-tests: New module.
50738
50739 2008-03-29  Eric Blake  <ebb9@byu.net>
50740
50741         Fix ftell on mingw.
50742         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
50743         * modules/ftell-tests (Depends-on): Add binary-io.
50744         * modules/ftello-tests (Depends-on): Likewise.
50745         * tests/test-ftell.c (main): Enhance test to cover behavior after
50746         ungetc.  Enforce binary mode.
50747         * tests/test-ftello.c (main): Likewise.
50748
50749         Pass test-freadseek on cygwin.
50750         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
50751         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
50752         ungetc buffer.
50753
50754         * tests/test-fflush2.c (main): Fix typo.
50755
50756 2008-03-29  Bruno Haible  <bruno@clisp.org>
50757
50758         * tests/test-fflush2.c (main): Temporarily disable the contents of
50759         this test.
50760         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
50761         Reported by Eric Blake.
50762
50763 2008-03-28  Simon Josefsson  <simon@josefsson.org>
50764
50765         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
50766         (GC_SHA224_DIGEST_SIZE): Add.
50767
50768         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
50769         (gc_hash_digest_length): Likewise.
50770         (gc_hash_buffer): Likewise.
50771
50772 2008-03-25  Bruno Haible  <bruno@clisp.org>
50773
50774         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
50775         detail which gettext release to use.
50776         Reported by Simon Josefsson.
50777
50778 2008-03-26  Jim Meyering  <meyering@redhat.com>
50779
50780         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
50781         * modules/gnumakefile (clean-GNUmakefile): Also, use
50782         test ... && ... || : syntax rather than if-then ... fi.
50783
50784         gnumakefile: Don't double-quote-expand $(VPATH) value.
50785         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
50786
50787 2008-03-24  Eric Blake  <ebb9@byu.net>
50788
50789         Alter GNUmakefile to install into top directory.
50790         * modules/maintainer-makefile: Split, and add dependency...
50791         * modules/gnumakefile: to this new module.
50792         * build-aux/GNUmakefile: Move...
50793         * top/GNUmakefile: ...here.
50794         * build-aux/maint.mk: Move...
50795         * top/maint.mk: ...here.
50796         * MODULES.html.sh (Support for maintaining...): Document new
50797         module.
50798
50799 2008-03-23  Bruno Haible  <bruno@clisp.org>
50800
50801         * gnulib-tool: New options --vc-files, --no-vc-files.
50802         (func_usage): Document them.
50803         (vc_files): New variable.
50804         (func_import): Consider vc_files.
50805         (func_create_testdir): Set vc_files to empty.
50806         Suggested by Jim Meyering and Karl Berry.
50807
50808 2008-03-23  Bruno Haible  <bruno@clisp.org>
50809
50810         Fix regex compilation error on HP-UX 11.
50811         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
50812         * modules/regex (Files): Add m4/mbstate_t.m4.
50813         Reported by Ton Voon <ton.voon@altinity.com>.
50814
50815 2008-03-23  Bruno Haible  <bruno@clisp.org>
50816
50817         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
50818
50819 2008-03-23  Eric Blake  <ebb9@byu.net>
50820             Bruno Haible  <bruno@clisp.org>
50821
50822         Install files from top/ in the destination directory.
50823         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
50824         augmentation also for the files from top/.
50825         (func_import, func_create_testdir): Rewrite file names:
50826         top/filename -> filename.
50827
50828 2008-03-23  Bruno Haible  <bruno@clisp.org>
50829
50830         Tweak "gnulib --version" output.
50831         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
50832
50833 2008-03-23  Bruno Haible  <bruno@clisp.org>
50834
50835         Tweak "gnulib --version" output.
50836         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
50837         rather than contents of ChangeLog, when possible.
50838
50839 2008-03-21  Eric Blake  <ebb9@byu.net>
50840
50841         More --version tweaks.
50842         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
50843         date of last ChangeLog entry.
50844
50845 2008-03-21  Jim Meyering  <meyering@redhat.com>
50846
50847         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
50848
50849 2008-03-20  Eric Blake  <ebb9@byu.net>
50850
50851         VPATH fix.
50852         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
50853
50854 2008-03-20  Simon Josefsson  <simon@josefsson.org>
50855
50856         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
50857         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
50858
50859 2008-03-20  Eric Blake  <ebb9@byu.net>
50860
50861         Sync GNUmakefile with coreutils.
50862         * build-aux/GNUmakefile (have-Makefile): Rename...
50863         (_have-Makefile): ...to this, for namespace consideration.
50864         (GNUmakefile.cfg): Include, if present.
50865         (_autoreconf): Define a default.
50866         (_is-dist-target): New rule for rebuilds to pick up intra-release
50867         version.
50868         (maint-cfg.mk): Rename...
50869         (cfg.mk): ...to this.
50870
50871 2008-03-18  Jim Meyering  <meyering@redhat.com>
50872
50873         New script and module: mktempd
50874         * MODULES.html.sh (maint+release support): Add mktempd.
50875         * build-aux/mktempd: New file.
50876         * modules/mktempd: New file.
50877
50878 2008-03-15  Jim Meyering  <meyering@redhat.com>
50879
50880         Undo last change.
50881         * lib/sha1.c, lib/md5.c: 63 != ~63.
50882         Reported by Andreas Schwab.
50883
50884         sha1.c, md5.c: Hoist a redundant expression.
50885         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
50886         "ctx->buflen" only once, before calling *_process_block.
50887         * lib/md5.c (md5_process_bytes): Likewise.
50888
50889 2008-03-14  Eric Blake  <ebb9@byu.net>
50890
50891         Bump copyright year in files generated by gnulib-tool.
50892         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
50893         gnulib-tool, rather than hard-coding it.
50894
50895         Fix 'gnulib-tool --version' output to work with git.
50896         * gnulib-tool (func_gnulib_dir): New function, extracted from...
50897         (startup): ...here.
50898         (func_version): Use it to invoke git-version-gen, rather than
50899         relying on CVS keyword expansion.  Modernize wording.
50900         (cvsdatestamp, last_checkin_date, version): Kill unused
50901         variables.
50902
50903 2008-03-12  Jim Meyering  <meyering@redhat.com>
50904
50905         Recognize optional cast of the argument to free.
50906         * build-aux/useless-if-before-free: Update regexps.
50907
50908         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
50909
50910 2008-03-11  Bruno Haible  <bruno@clisp.org>
50911
50912         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
50913         by a single package.
50914         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
50915         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
50916         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
50917         Reported by Sam Steingold <sds@gnu.org>.
50918
50919 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50920
50921         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
50922         repositories.
50923
50924 2008-03-11  Bruno Haible  <bruno@clisp.org>
50925
50926         Avoid conflicts between local macro definitions.
50927         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50928         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
50929
50930 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
50931             Bruno Haible  <bruno@clisp.org>
50932
50933         Make va_copy work with some version of xlc on AIX 5.1.
50934         * lib/stdarg.in.h: New file.
50935         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
50936         On AIX, use a <stdarg.h> file substitute.
50937         * modules/stdarg (Files): Add lib/stdarg.in.h.
50938         (Depends-on): Add include_next.
50939         (Makefile.am): Build a stdarg.h substitute if requested.
50940         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
50941
50942 2008-03-10  Bruno Haible  <bruno@clisp.org>
50943
50944         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
50945         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50946         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
50947
50948 2008-03-10  Bruno Haible  <bruno@clisp.org>
50949
50950         * modules/stdlib (Depends-on): Add include_next, remove
50951         absolute-header.
50952
50953 2008-03-09  Bruno Haible  <bruno@clisp.org>
50954
50955         * lib/freadahead.h (freadahead): Document more precisely.
50956         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
50957         the sum of both buffer sizes.
50958         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
50959         * NEWS: Document the change.
50960
50961 2008-03-09  Bruno Haible  <bruno@clisp.org>
50962
50963         Extend freadptr to return also the buffer size.
50964         * lib/freadptr.h (freadptr): Add sizep argument.
50965         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
50966         (freadptr): Add sizep argument. Determine buffer size like freadahead
50967         does.
50968         * tests/test-freadptr.c: Don't include freadahead.h.
50969         (main): Adapt for new calling convention of freadptr.
50970         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
50971         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
50972         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
50973         tests/test-freadptr2.sh.
50974         (Depends): Remove freadahead.
50975         (TESTS): Add test-freadptr2.sh.
50976         (check_PROGRAMS): Add test-freadptr2.
50977
50978 2008-03-09  Bruno Haible  <bruno@clisp.org>
50979
50980         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
50981         Report and solution by Simon Josefsson.
50982
50983 2008-03-06  Bruno Haible  <bruno@clisp.org>
50984
50985         Make fflush after ungetc work on BSD platforms.
50986         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
50987         * tests/test-fflush2.c: New file.
50988         * tests/test-fflush2.sh: New file.
50989         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
50990         tests/test-fflush2.c.
50991         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
50992         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
50993
50994 2008-03-06  Eric Blake  <ebb9@byu.net>
50995
50996         Likewise for ftello.
50997         * modules/ftello (Dependencies): Add extensions.
50998         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
50999
51000 2008-03-06  Bruno Haible  <bruno@clisp.org>
51001
51002         * modules/fseeko (Dependencies): Add extensions.
51003         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
51004         Needed on glibc systems.
51005
51006 2008-03-06  Bruno Haible  <bruno@clisp.org>
51007
51008         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
51009         email address.
51010         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51011
51012 2008-03-06  Bruno Haible  <bruno@clisp.org>
51013
51014         * users.txt: Add libgnupdf.
51015
51016 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51017
51018         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
51019         (Header File Substitutes, Function Substitutes,
51020         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
51021         (Build robot for gnulib): Fix typo.
51022
51023 2008-03-06  Bruno Haible  <bruno@clisp.org>
51024
51025         * doc/gnulib-tool.texi (VCS Issues): Small updates.
51026         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51027
51028 2008-03-06  Bruno Haible  <bruno@clisp.org>
51029
51030         * doc/func.texi: New file, extracted from doc/gnulib.texi.
51031         * doc/gnulib.texi: Include it.
51032
51033 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51034
51035         * modules/func (License): Change license to unlimited; there was
51036         no LGPL parts in the module anyway.
51037
51038 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51039
51040         * modules/__func__: Renamed to modules/func.
51041         * modules/__func__-tests: Renamed to modules/func-tests.
51042         * tests/test-__func__.c: Renamed to tests/test-func.c.
51043         * m4/__func__.m4: Renamed to m4/func.m4.
51044         * doc/gnulib.texi (__func__): Section renamed to func.
51045         Suggested by Eric Blake <ebb9@byu.net>.
51046
51047 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51048
51049         * doc/gnulib.texi (__func__): Use C99 terminology when talking
51050         about __func__.  Make example self-contained.  Suggested by Eric
51051         Blake <ebb9@byu.net>.
51052
51053         * tests/test-__func__.c (main): Avoid extraneous () around __func.
51054         Suggested by Eric Blake <ebb9@byu.net>.
51055
51056 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51057
51058         * modules/__func__: New file.
51059         * modules/__func__-tests: New file.
51060         * tests/test-__func__.c: New file.
51061         * m4/__func__.m4: New file.
51062         * doc/gnulib.texi (__func__): Document __func__ module.
51063
51064 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51065
51066         * modules/byteswap (License): Re-license as LGPLv2+.
51067
51068 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51069
51070         * doc/Makefile: Add pdf target.
51071
51072 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51073
51074         * modules/inline (License): Use 'unlimited', since there are only
51075         *.m4 files in this module.
51076
51077 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51078             Bruno Haible  <bruno@clisp.org>
51079
51080         Add support for HP C 7.1 on OpenVMS 8.3.
51081         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
51082
51083 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51084
51085         Update VMS specifics.
51086         * lib/getopt.c [VMS]: Remove include of unixlib.h.
51087
51088 2008-03-02  Jim Meyering  <meyering@redhat.com>
51089
51090         Remove the last dependency on the "free" module.
51091         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
51092         Reported by Bob Proulx.
51093
51094         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
51095
51096         Remove useless "if" tests before free.  Deprecate "free" module.
51097         * doc/posix-functions/free.texi: Mention that this
51098         module is no longer useful.
51099         * modules/free (Notice): Say this module is obsolete.
51100         * modules/readutmp (Depends-on): Remove free.
51101         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
51102         * lib/putenv.c (putenv): Likewise.
51103         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
51104         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
51105         * tests/test-c-strcasestr.c (main): Likewise.
51106         * tests/test-c-strstr.c (main): Likewise.
51107         * tests/test-mbscasestr1.c (main): Likewise.
51108         * tests/test-mbscasestr2.c (main): Likewise.
51109         * tests/test-mbsstr1.c (main): Likewise.
51110         * tests/test-mbsstr2.c (main): Likewise.
51111         * tests/test-memmem.c (main): Likewise.
51112         * tests/test-strcasestr.c (main): Likewise.
51113         * tests/test-striconv.c (main): Likewise.
51114         * tests/test-striconveh.c (main): Likewise.
51115         * tests/test-striconveha.c (main): Likewise.
51116         * tests/test-strstr.c (main): Likewise.
51117
51118         * build-aux/git-version-gen: Adjust a comment and the Usage string.
51119
51120         bootstrap: sync from coreutils again
51121         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
51122
51123 2008-03-01  Jim Meyering  <meyering@redhat.com>
51124
51125         bootstrap: sync from coreutils
51126         * build-aux/bootstrap (update_po_files): Copy a .po file into place
51127         also when the target doesn't exist.
51128
51129 2008-03-01  Eric Blake  <ebb9@byu.net>
51130
51131         Fix bugs in last patch.
51132         * lib/memchr2.c (memchr2): Fix typo.
51133         * tests/test-memchr2.c: Test previous bug, and don't use GNU
51134         extension.
51135         Reported by Bruce Korb.
51136
51137         New module 'memchr2'.
51138         * modules/memchr2: New file.
51139         * modules/memchr2-tests: Likewise.
51140         * lib/memchr2.h: Likewise.
51141         * lib/memchr2.c: Likewise, based on memchr.c.
51142         * tests/test-memchr2.c: New test.
51143         * MODULES.html.sh (String handling): Add memchr2.
51144
51145 2008-02-29  Bruno Haible  <bruno@clisp.org>
51146
51147         * modules/freadseek-tests: New file.
51148         * tests/test-freadseek.sh: New file.
51149         * tests/test-freadseek.c: New file.
51150
51151         New module 'freadseek'.
51152         * modules/freadseek: New file.
51153         * lib/freadseek.h: New file.
51154         * lib/freadseek.c: New file.
51155         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
51156
51157 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51158
51159         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
51160         wydawca.
51161
51162         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
51163         program_invocation_name and program_invocation_short_name are
51164         present.
51165
51166 2008-02-28  Bruno Haible  <bruno@clisp.org>
51167
51168         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
51169         * tests/test-freadptr.sh: Also test non-seekable stdin.
51170
51171 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
51172
51173         * build-aux/bootstrap (source_base, m4_base)
51174         (doc_base, tests_base): New variables.
51175         (gnulib_tool_options): Do not hardcode base directories, use
51176         the above variables instead.
51177
51178 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
51179
51180         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
51181
51182 2008-02-28  Bruno Haible  <bruno@clisp.org>
51183
51184         * modules/freadptr-tests: New file.
51185         * tests/test-freadptr.sh: New file.
51186         * tests/test-freadptr.c: New file.
51187
51188         New module 'freadptr'.
51189         * modules/freadptr: New file.
51190         * lib/freadptr.h: New file.
51191         * lib/freadptr.c: New file.
51192         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
51193
51194 2008-02-26  Karl Berry  <karl@freefriends.org>
51195
51196         Sync from Libtool:
51197         * libltdl/argz.c (argz_add, argz_count): New functions.
51198         * libltdl/argz.in.h: Declare them.
51199         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
51200
51201 2008-02-22  Bruno Haible  <bruno@clisp.org>
51202
51203         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
51204         is a pointer type.  Needed for HP-UX 10.
51205         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
51206         * doc/posix-functions/gmtime_r.texi: Likewise.
51207         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51208
51209 2008-02-24  Bruno Haible  <bruno@clisp.org>
51210
51211         * modules/environ-tests: New file.
51212         * tests/test-environ.c: New file.
51213
51214         New module 'environ'.
51215         * modules/environ: New file.
51216         * lib/unistd.in.h (environ): New declaration.
51217         * m4/environ.m4: New file.
51218         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
51219         after use.
51220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
51221         HAVE_DECL_ENVIRON.
51222         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
51223         HAVE_DECL_ENVIRON.
51224         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
51225         wrong claim that 'environ' is missing on some systems.
51226         * modules/execute (Depends-on): Add environ.
51227         * lib/execute.c (environ): Remove fallback declaration.
51228         * modules/pipe (Depends-on): Add environ.
51229         * lib/pipe.c (environ): Remove fallback declaration.
51230         * modules/setenv (Depends-on): Add environ.
51231         * lib/setenv.c (environ): Remove fallback declaration.
51232         * modules/unsetenv (Depends-on): Add environ.
51233         * lib/unsetenv.c (environ): Remove fallback declaration.
51234         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
51235         m4/environ.m4.
51236         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
51237         (gl_PREREQ_UNSETENV): Likewise.
51238
51239 2008-02-24  Bruno Haible  <bruno@clisp.org>
51240
51241         * doc/posix-functions/environ.texi: Document the MacOS X problem.
51242
51243 2008-02-20  Bob Proulx  <bob@proulx.com>
51244
51245         Enable use of older two part flavor 'git describe'.
51246         * build-aux/git-version-gen: If using the older two part flavor of
51247         git version then recreate the third part now present in the
51248         newer three part flavor of git describe.
51249
51250 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
51251
51252         * lib/fts.c (fts_build): Typo correction to comment.
51253
51254 2008-02-17  Bruno Haible  <bruno@clisp.org>
51255
51256         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
51257         generating no-op conflicts.
51258
51259 2008-02-17  Bruno Haible  <bruno@clisp.org>
51260
51261         Speed up by 10%.
51262         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
51263         result_entries, rather than an index-based loop.
51264
51265 2008-02-17  Bruno Haible  <bruno@clisp.org>
51266
51267         Speed up by 25%.
51268         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
51269         'hashcode_cached'.
51270         (entry_create): New function.
51271         (entry_hashcode): Use the cached hashcode if possible.
51272         (read_changelog_file, try_split_merged_entry): Use entry_create.
51273
51274 2008-02-17  Bruno Haible  <bruno@clisp.org>
51275
51276         Speed up from O(n^2) to O(n) for long ChangeLog files.
51277         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
51278         (read_changelog_file): Change implementation of entries_reversed list
51279         to rbtreehash.
51280         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
51281
51282 2008-02-17  Bruno Haible  <bruno@clisp.org>
51283
51284         New option --split-merged-entry.
51285         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
51286         (find_paragraph_end, try_split_merged_entry): New functions.
51287         (long_options): Add option --split-merged-entry.
51288         (usage): Document option --split-merged-entry.
51289         (main): Implement option --split-merged-entry.
51290         Reported by Eric Blake.
51291
51292 2008-02-17  Bruno Haible  <bruno@clisp.org>
51293
51294         * lib/git-merge-changelog.c: Include c-strstr.h.
51295         (main): Support the "git pull --rebase" situation.
51296         * modules/git-merge-changelog (Depends-on): Add c-strstr.
51297         Reported by Eric Blake.
51298
51299 2008-02-16  Eric Blake  <ebb9@byu.net>
51300
51301         Avoid doubling \ in common case of "c-maybe" quoting style.
51302         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
51303         eliding outer quotes.
51304         * lib/quotearg.h: Document this.
51305         * tests/test-quotearg.c (result_strings, inputs, results_g)
51306         (flag_results, locale_results): Test it by adding a new string to
51307         each test group.
51308         (compare_strings): Test new string.
51309
51310 2008-02-13  Eric Blake  <ebb9@byu.net>
51311
51312         Avoid trigraph quoting in default output.
51313         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
51314         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
51315         unless explicitly requested.
51316         * tests/test-quotearg.c (flag_results, main): Add additional tests.
51317
51318 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
51319
51320         Don't rely on signed integer overflowing to negative value.
51321         * lib/getugroups.c (getugroups): Include <limits.h>.
51322         Instead, compare against INT_MAX, and increment only if the test passes.
51323
51324 2008-02-13  Jim Meyering  <meyering@redhat.com>
51325         and Eric Blake  <ebb9@byu.net>
51326
51327         Avoid shadowing warning and compile errors on Linux.
51328         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
51329         forwarding macros on Linux.
51330         (dcgettext): Define a stub, for Linux.
51331         (results_g, main): Avoid warnings.
51332
51333 2008-02-12  Eric Blake  <ebb9@byu.net>
51334
51335         Silence warning in last patch.
51336         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
51337
51338         Quotearg part 4: add tests, fix c-maybe colon quoting.
51339         * lib/quotearg.h: Improve documentation.
51340         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
51341         escapes when adding outer quotes.  When quoting trigraphs, use
51342         valid C notation.  When quoting NUL, omit extra characters if next
51343         character is not digit.  Alter prototype.
51344         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
51345         callers.
51346         * modules/quotearg-tests: New module.
51347         * tests/test-quotearg.c: New test.
51348
51349 2008-02-07  Eric Blake  <ebb9@byu.net>
51350
51351         Quotearg part 3: add flag to control outer quote elision.
51352         * lib/quotearg.h (c_maybe_quoting_style): New style.
51353         (enum quoting_flags): Better documentation of flags.
51354         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
51355         c-maybe style.
51356         (quotearg_buffer_restyled): Handle new flag to elide outer
51357         quotes.
51358
51359         Quotearg part 2: add flag that can control NUL elision.
51360         * lib/quotearg.h (set_quoting_flags): New prototype.
51361         * lib/quotearg.c (struct quoting_options): Add flag field.
51362         (set_quoting_flags): New function.
51363         (quotearg_buffer_restyled): Add flags parameter.
51364         (quotearg_alloc_mem): Set the flag if length cannot be returned.
51365         (quotearg_n_options): Set the flag, since length cannot be
51366         returned.
51367         (quoting_options_from_style): Default flags correctly.
51368
51369         Quotearg part 1: more wrappers, restore quotearg_char state.
51370         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
51371         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
51372         (quotearg_colon_mem): New wrappers.
51373         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
51374         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
51375         functions.
51376         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
51377         (quotearg_colon_mem): New functions.
51378
51379 2008-02-11  Bruno Haible  <bruno@clisp.org>
51380
51381         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
51382         library in the current directory: it does not work with parallel make.
51383         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51384
51385 2008-02-11  Bruno Haible  <bruno@clisp.org>
51386
51387         * .gitattributes: New file.
51388
51389 2008-02-11  Jim Meyering  <meyering@redhat.com>
51390
51391         useless-if-before-free: Fix reversed exit values.
51392         * build-aux/useless-if-before-free: Use correct values
51393         for EXIT_MATCH and EXIT_NO_MATCH.
51394
51395         * build-aux/useless-if-before-free: Close stdout carefully.
51396
51397 2008-02-10  Bruno Haible  <bruno@clisp.org>
51398
51399         New module 'git-merge-changelog'.
51400         * modules/git-merge-changelog: New file.
51401         * lib/git-merge-changelog.c: New file.
51402
51403 2008-02-10  Jim Meyering  <meyering@redhat.com>
51404
51405         useless-if-before-free: New option: --list (-l).
51406
51407         useless-if-before-free: Don't exit immediately upon open failure.
51408         * build-aux/useless-if-before-free: Exit 2 for errors.
51409         Upon failure to open a file, don't exit immediately.
51410         Rather, just warn and continue with any remaining files.
51411
51412 2008-02-10  Bruno Haible  <bruno@clisp.org>
51413
51414         New abstract list operation 'node_set_value'.
51415         * lib/gl_list.h (gl_list_node_set_value): New function.
51416         (struct gl_list_implementation): New field node_set_value.
51417         * lib/gl_list.c (gl_list_node_set_value): New function.
51418         * lib/gl_array_list.c (gl_array_node_set_value): New function.
51419         (gl_array_list_implementation): Update.
51420         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
51421         (gl_carray_list_implementation): Update.
51422         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
51423         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51424         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51425         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
51426         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51427         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51428         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51429         Update.
51430         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51431         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
51432         (gl_sublist_list_implementation): Update.
51433
51434 2008-02-10  Bruno Haible  <bruno@clisp.org>
51435
51436         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
51437         Needed when ELEMENT is #defined to 'some_type *'.
51438
51439 2008-02-10  Jim Meyering  <meyering@redhat.com>
51440
51441         New script and module: useless-if-before-free
51442         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
51443         * build-aux/useless-if-before-free: New file.
51444         * modules/useless-if-before-free: New file.
51445
51446         * build-aux/gitlog-to-changelog: Use committer date, not author date.
51447
51448         xstrtol_error: Fix typo.
51449         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
51450         s/exit_failure/exit_status/.
51451
51452 2008-02-09  Jim Meyering  <meyering@redhat.com>
51453
51454         New script and module: gitlog-to-changelog
51455         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
51456         * modules/gitlog-to-changelog: New file.
51457         * build-aux/gitlog-to-changelog: New file.
51458
51459 2008-02-08  Jim Meyering  <meyering@redhat.com>
51460
51461         Avoid two "parameter unused" warnings.
51462         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51463         Mark "st" as used.
51464
51465         Use "git COMMAND", not "git-COMMAND".
51466         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51467         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51468         * build-aux/git-version-gen: Use "git status", not "git-status".
51469
51470 2008-02-07  Bruno Haible  <bruno@clisp.org>
51471
51472         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51473         Avoids a crash on Windows Vista.
51474         Reported by Adam Strzelecki <ono@java.pl> via
51475         Simon Josefsson <simon@josefsson.org>.
51476
51477 2008-02-06  Bruno Haible  <bruno@clisp.org>
51478
51479         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51480         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51481         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51482         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51483         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51484         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51485         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51486         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51487         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51488         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51489         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51490         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51491         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51492         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51493         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51494         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51495         left-adjust flag.
51496         * tests/test-snprintf-posix.h (test_function): Likewise.
51497         * tests/test-sprintf-posix.h (test_function): Likewise.
51498         * tests/test-vasprintf-posix.c (test_function): Likewise.
51499         * doc/posix-functions/fprintf.texi: Update.
51500         * doc/posix-functions/printf.texi: Update.
51501         * doc/posix-functions/snprintf.texi: Update.
51502         * doc/posix-functions/sprintf.texi: Update.
51503         * doc/posix-functions/vfprintf.texi: Update.
51504         * doc/posix-functions/vprintf.texi: Update.
51505         * doc/posix-functions/vsnprintf.texi: Update.
51506         * doc/posix-functions/vsprintf.texi: Update.
51507         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51508
51509 2008-02-06  Bruno Haible  <bruno@clisp.org>
51510
51511         Fix bug introduced on 2008-01-26.
51512         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51513
51514 2008-02-06  Bruno Haible  <bruno@clisp.org>
51515
51516         Fix bug introduced on 2007-06-10.
51517         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51518         !NEED_PRINTF_FLAG_ZERO.
51519
51520 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51521
51522         getloadavg: use libperfstat on AIX5
51523         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51524
51525 2008-02-03  Bruno Haible  <bruno@clisp.org>
51526
51527         * lib/diffseq.h: Add comments about required #includes.
51528         Reported by Michael Biggs <gnulib@doubleplum.net>.
51529
51530 2008-02-01  Bruno Haible  <bruno@clisp.org>
51531
51532         * users.txt: Add gnuit.
51533
51534 2008-01-31  Bruno Haible  <bruno@clisp.org>
51535
51536         * lib/md4.c (set_uint32): Mark as inline.
51537         * lib/md5.c (set_uint32): Likewise.
51538         * lib/sha1.c (set_uint32): Likewise.
51539         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
51540         * m4/md5.m4 (gl_MD5): Likewise.
51541         * m4/sha1.m4 (gl_SHA1): Likewise.
51542
51543 2008-01-31  Jim Meyering  <meyering@redhat.com>
51544
51545         Use "sizeof VAR", rather than a literal "4".
51546         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
51547         * lib/md4.c (md4_read_ctx): Likewise.
51548         * lib/sha1.c (sha1_read_ctx): Likewise.
51549
51550 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51551
51552         * tests/test-sha1.c: New file, based on test-md5.c.
51553
51554         * modules/crypto/sha1-tests: New file.
51555
51556 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51557
51558         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
51559
51560 2008-01-31  Jim Meyering  <meyering@redhat.com>
51561
51562         Prefer "sizeof v" over the equivalent "4".
51563         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
51564         * lib/md5.c (set_uint32): Likewise.
51565         * lib/sha1.c (set_uint32): Likewise.
51566
51567 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51568
51569         * lib/sha1.c (set_uint32): Mark function as static.
51570
51571 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51572
51573         md2: clarify comments to say that alignment is not required.
51574         * lib/md2.h: Remove warning about alignment in comment.
51575         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
51576         never been required.
51577
51578 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51579
51580         md4: adapt alignment constraint fix from sha1.
51581         * lib/md4.c (set_uint32): New function, from sha1.c
51582         (md4_read_ctx): Use it.
51583         (md4_finish_ctx): Doc fix.
51584         * lib/md4.h: Doc fix.
51585
51586 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51587
51588         md5: adapt alignment constraint fix from sha1.
51589         * lib/md5.c (set_uint32): New function, from sha1.c
51590         (md5_read_ctx): Use it.
51591         (md5_finish_ctx): Doc fix.
51592         * lib/md5.h: Doc fix.
51593
51594 2008-01-30  Peter Palfrader  <weasel@debian.org>
51595
51596         sha1: remove the result buffer alignment constraint
51597         * lib/sha1.c (set_uint32): New function.
51598         (sha1_read_ctx): Rewrite to remove the result buffer alignment
51599         constraint.
51600         (sha1_finish_ctx): Remove comment warning about alignment constraint.
51601         * lib/sha1.h: Likewise.
51602
51603 2008-01-30  Andreas Schwab  <schwab@suse.de>
51604             Bruno Haible  <bruno@clisp.org>
51605
51606         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
51607         correct definition of LDBL_MIN_EXP.
51608
51609 2008-01-30  Karl Berry  <karl@gnu.org>
51610
51611         * config/srclist-update: try to preserve x bit on updates.
51612         * config/srclistvars.sh: update for karl.
51613
51614 2008-01-29  Jim Meyering  <meyering@redhat.com>
51615
51616         vasnprintf.c: Avoid warning about unused label
51617         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
51618         "overflow" label definition and associated code with the
51619         same cpp condition that guards the sole use of that label.
51620
51621 2008-01-26  Bruno Haible  <bruno@clisp.org>
51622
51623         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
51624         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
51625         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
51626         * lib/isnanl-nolibm.h (isnanl): Likewise.
51627         Reported by Paul Eggert <eggert@cs.ucla.edu>.
51628
51629 2008-01-26  Bruno Haible  <bruno@clisp.org>
51630
51631         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
51632         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
51633
51634 2008-01-26  Bruno Haible  <bruno@clisp.org>
51635
51636         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
51637         GCC >= 4.0 built-in.
51638         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
51639
51640 2008-01-26  Bruno Haible  <bruno@clisp.org>
51641
51642         Rename isnan, applicable to 'double' only, to isnand.
51643         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
51644         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
51645         (configure.ac): Update.
51646         (Include): Replace "isnan.h" with "isnand.h".
51647         * m4/isnand.m4: Renamed from m4/isnan.m4.
51648         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
51649         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
51650         instead of isnan.c.
51651         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
51652         instead of HAVE_ISNAN_IN_LIBC.
51653         (isnand): Renamed from isnan.
51654         * lib/isnand.c: New file.
51655         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
51656         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
51657         (Makefile.am): Update.
51658         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
51659         Include isnand.h instead of isnan.h.
51660         (main): Test isnand instead of isnan.
51661         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
51662         isnan-nolibm.
51663         * modules/frexp (Depends-on): Likewise.
51664         * modules/frexp-tests (Depends-on): Likewise.
51665         * modules/frexp-nolibm (Depends-on): Likewise.
51666         * modules/frexp-nolibm-tests (Depends-on): Likewise.
51667         * modules/isfinite (Depends-on): Likewise.
51668         * modules/round-tests (Depends-on): Likewise.
51669         * modules/signbit (Depends-on): Likewise.
51670         * modules/signbit-tests (Depends-on): Likewise.
51671         * modules/snprintf-posix (Depends-on): Likewise.
51672         * modules/sprintf-posix (Depends-on): Likewise.
51673         * modules/trunc-tests (Depends-on): Likewise.
51674         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51675         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51676         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51677         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51678         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51679         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51680         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51681         * modules/vasnprintf-posix (Depends-on): Likewise.
51682         * modules/vasprintf-posix (Depends-on): Likewise.
51683         * modules/vfprintf-posix (Depends-on): Likewise.
51684         * modules/vsnprintf-posix (Depends-on): Likewise.
51685         * modules/vsprintf-posix (Depends-on): Likewise.
51686         * lib/frexp.c: Include isnand.h instead of isnan.h.
51687         (ISNAN): Set to isnand instead of isnan.
51688         * lib/isfinite.c: Include isnand.h instead of isnan.h.
51689         (gl_isfinited): Use isnand instead of isnan.
51690         * lib/signbitd.c: Include isnand.h instead of isnan.h.
51691         (gl_signbitd): Use isnand instead of isnan.
51692         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
51693         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
51694         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
51695         (main): Use isnand instead of isnan.
51696         * tests/test-round1.c: Include isnand.h.
51697         (main): Use isnand instead of isnan.
51698         * tests/test-round2.c: Include isnand.h instead of isnan.h.
51699         (ISNAN): Set to isnand instead of isnan.
51700         * tests/test-trunc1.c: Include isnand.h.
51701         (main): Use isnand instead of isnan.
51702         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
51703         (equal): Use isnand instead of isnan.
51704         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
51705         isnand-nolibm.
51706         * NEWS: Mention the change.
51707
51708 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51709             Bruno Haible  <bruno@clisp.org>
51710
51711         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
51712         the GCC builtins for signbits are present and set
51713         REPLACE_SIGNBIT_USING_GCC if so.
51714         * lib/math.in.h (signbit): Define using GCC builtins if
51715         REPLACE_SIGNBIT_USING_GCC is set.
51716         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
51717         REPLACE_SIGNBIT_USING_GCC.
51718         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
51719
51720 2008-01-25  Jim Meyering  <meyering@redhat.com>
51721
51722         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
51723         * lib/poll.c: Include <config.h>, not "config.h".
51724         * tests/test-getaddrinfo.c: Likewise.
51725
51726 2008-01-25  Simon Josefsson  <simon@josefsson.org>
51727
51728         * modules/sockets-tests: New file.
51729
51730 2008-01-24  Simon Josefsson  <simon@josefsson.org>
51731
51732         * modules/sockets: New module, can be used to call WSA_Startup and
51733         WSA_Cleanup when needed.
51734
51735         * lib/sockets.h, lib/sockets.c: New files.
51736
51737         * m4/sockets.m4: New file.
51738
51739         * tests/test-sockets.c: New file.
51740
51741 2008-01-19  Bruno Haible  <bruno@clisp.org>
51742
51743         * doc/posix-headers: Renamed from doc/headers.
51744         * doc/posix-functions: Renamed from doc/functions.
51745         * doc/gnulib.texi: Update.
51746
51747 2008-01-19  Bruno Haible  <bruno@clisp.org>
51748
51749         * doc/glibc-functions/strcasestr.texi: Include contents of
51750         doc/functions/strcasestr.texi, fixing the list of platforms.
51751         * doc/functions/strcasestr.texi: Remove file.
51752
51753 2008-01-19  Bruno Haible  <bruno@clisp.org>
51754
51755         * doc/glibc-functions/memmem.texi: Include contents of
51756         doc/functions/memmem.texi.
51757         * doc/functions/memmem.texi: Remove file.
51758
51759 2008-01-18  Bruno Haible  <bruno@clisp.org>
51760
51761         * doc/glibc-functions/*.texi: New files.
51762         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
51763         to use the new files.
51764
51765 2008-01-17  Bruno Haible  <bruno@clisp.org>
51766
51767         * tests/test-gethostname.c (main): Fix printf statement.
51768
51769 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51770
51771         * modules/gethostname-tests: New file.
51772
51773         * tests/test-gethostname.c: New file.
51774
51775 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51776
51777         * lib/gethostname.c: Include string.h unconditionally, strncpy is
51778         used by the UNAME case.  Reported by Bruno Haible
51779         <bruno@clisp.org>.
51780
51781 2008-01-17  Eric Blake  <ebb9@byu.net>
51782
51783         Convert c-strcasestr to be more efficient.
51784         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
51785         (Depends-on): Add c-strcase, remove malloca, strnlen.
51786         * tests/test-c-strcasestr.c (main): Enhance test.
51787         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
51788
51789 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
51790
51791         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
51792         Use it in creating po/Makevars.
51793
51794 2008-01-15  Simon Josefsson  <simon@josefsson.org>
51795
51796         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
51797         Applications that requires it should initialize libgcrypt
51798         manually.
51799
51800 2008-01-16  Simon Josefsson  <simon@josefsson.org>
51801
51802         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
51803
51804 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
51805
51806         Fix problem with getdate on mingw32 reported by Simon Josefsson
51807         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
51808         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
51809         tzname", when deciding whether to declare tzname.
51810         * lib/strftime.c (tzname): Likewise.
51811
51812 2008-01-15  Bruno Haible  <bruno@clisp.org>
51813
51814         Work around a MacOS X 10.5 bug in frexpl().
51815         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
51816         * doc/functions/frexpl.texi: Document the bug.
51817         Reported by Elias Pipping <pipping@gentoo.org>.
51818
51819 2008-01-14  Eric Blake  <ebb9@byu.net>
51820
51821         Touch up previous patch.
51822         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
51823         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
51824
51825         Convert strcasestr module to use Two-Way algorithm.
51826         * modules/strcasestr-simple: New module, based on the old
51827         strcasestr, but with Two-Way rather than KMP.
51828         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
51829         * lib/string.in.h (rpl_strcasestr): Declare.
51830         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
51831         performance.
51832         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
51833         * modules/string (Makefile.am): Support strcasestr.
51834         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
51835         * modules/strcasestr-tests (Depends-on): Check for alarm.
51836         * tests/test-strcasestr.c: Augment test.
51837         * lib/str-two-way.h: Clean up stray macro.
51838         * NEWS: Document new module.
51839         * MODULES.html.sh (string handling): Likewise.
51840         * doc/functions/strcasestr.texi: New file.
51841         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
51842         here, since it is not a POSIX function.
51843
51844 2008-01-14  Colin Watson  <cjwatson@debian.org>
51845             Bruno Haible  <bruno@clisp.org>
51846
51847         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
51848         works fine; if not, set REPLACE_STRSIGNAL.
51849         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
51850         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51851         REPLACE_STRSIGNAL.
51852         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
51853         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
51854         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
51855
51856 2008-01-14  Bruno Haible  <bruno@clisp.org>
51857
51858         * modules/strsignal (Include): Change to <string.h>.
51859
51860 2008-01-14  Colin Watson  <cjwatson@debian.org>
51861
51862         * modules/argp (Notice): Add a notice recommending to change
51863         XGETTEXT_OPTIONS.
51864         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
51865
51866 2008-01-13  Colin Watson  <cjwatson@debian.org>
51867
51868         * modules/strsignal-tests: New file.
51869         * tests/test-strsignal.c: New file.
51870
51871         * lib/strsignal.c: New file, from glibc with modifications.
51872         * lib/siglist.h: New file, from glibc with modifications.
51873         * lib/string.in.h (strsignal): New declaration.
51874         * m4/strsignal.m4: New file.
51875         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51876         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
51877         * modules/strsignal: New file.
51878         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
51879         HAVE_DECL_STRSIGNAL.
51880
51881 2008-01-13  Bruno Haible  <bruno@clisp.org>
51882
51883         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
51884         locale encoding is not ASCII. Needed for OpenBSD 4.0.
51885         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
51886         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51887
51888 2008-01-13  Bruno Haible  <bruno@clisp.org>
51889
51890         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
51891         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
51892         * lib/argp.h (__attribute__): Likewise.
51893         * lib/c-stack.c (__attribute__): Likewise.
51894         * lib/error.h (__attribute__): Likewise.
51895         * lib/fts.c (__attribute__): Likewise.
51896         * lib/openat.h (__attribute__): Likewise.
51897         * lib/stdio.in.h (__attribute__): Likewise.
51898         * lib/string.in.h (__attribute__): Likewise.
51899         * lib/utimens.c (__attribute__): Likewise.
51900         * lib/vasnprintf.h (__attribute__): Likewise.
51901         * lib/xalloc.h (__attribute__): Likewise.
51902         * lib/xprintf.h (__attribute__): Likewise.
51903         * lib/xstrtol.h (__attribute__): Likewise.
51904         * lib/xvasprintf.h (__attribute__): Likewise.
51905
51906 2008-01-12  Bruno Haible  <bruno@clisp.org>
51907
51908         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
51909         * doc/glibc-headers/a.out.texi: New file.
51910         * doc/glibc-headers/aliases.texi: New file.
51911         * doc/glibc-headers/alloca.texi: New file.
51912         * doc/glibc-headers/ar.texi: New file.
51913         * doc/glibc-headers/argp.texi: New file.
51914         * doc/glibc-headers/argz.texi: New file.
51915         * doc/glibc-headers/byteswap.texi: New file.
51916         * doc/glibc-headers/crypt.texi: New file.
51917         * doc/glibc-headers/endian.texi: New file.
51918         * doc/glibc-headers/envz.texi: New file.
51919         * doc/glibc-headers/err.texi: New file.
51920         * doc/glibc-headers/error.texi: New file.
51921         * doc/glibc-headers/execinfo.texi: New file.
51922         * doc/glibc-headers/fpu_control.texi: New file.
51923         * doc/glibc-headers/fstab.texi: New file.
51924         * doc/glibc-headers/fts.texi: New file.
51925         * doc/glibc-headers/getopt.texi: New file.
51926         * doc/glibc-headers/ieee754.texi: New file.
51927         * doc/glibc-headers/ifaddrs.texi: New file.
51928         * doc/glibc-headers/libintl.texi: New file.
51929         * doc/glibc-headers/mcheck.texi: New file.
51930         * doc/glibc-headers/mntent.texi: New file.
51931         * doc/glibc-headers/obstack.texi: New file.
51932         * doc/glibc-headers/paths.texi: New file.
51933         * doc/glibc-headers/printf.texi: New file.
51934         * doc/glibc-headers/pty.texi: New file.
51935         * doc/glibc-headers/resolv.texi: New file.
51936         * doc/glibc-headers/shadow.texi: New file.
51937         * doc/glibc-headers/sysexits.texi: New file.
51938         * doc/glibc-headers/ttyent.texi: New file.
51939
51940 2008-01-12  Jim Meyering  <meyering@redhat.com>
51941
51942         announce-gen: emit Gnulib's git-based version string.
51943         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
51944         New option --gnulib-version=V, where V is expected to be
51945         the output of running git describe in the gnulib directory.
51946         (get_tool_versions): Request feedback on xdelta.  I suspect it's
51947         not useful, and plan to stop publishing an xdelta file with each
51948         coreutils release.
51949
51950         * build-aux/announce-gen: Also check for lzma-compressed files.
51951
51952 2008-01-11  Bruno Haible  <bruno@clisp.org>
51953
51954         * tests/test-memmem.c (main): Increase maximum allowed time.
51955         * tests/test-strstr.c (main): Likewise.
51956
51957 2008-01-11  Bruno Haible  <bruno@clisp.org>
51958
51959         * doc/functions/memmem.texi: Add more precisions about platforms.
51960         * doc/functions/strstr.texi: Likewise.
51961
51962 2008-01-10  Eric Blake  <ebb9@byu.net>
51963
51964         * m4/strstr.m4: Delete cruft from copy-n-paste.
51965         Reported by Bruno Haible.
51966
51967 2008-01-10  Bruno Haible  <bruno@clisp.org>
51968
51969         Make c-strstr rely on strstr.
51970         * lib/c-strstr.c: Don't include str-kmp.h.
51971         (c_strstr): Define in terms of strstr.
51972         * modules/c-strstr (Files): Remove lib/str-kmp.h.
51973         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
51974
51975 2008-01-10  Bruno Haible  <bruno@clisp.org>
51976
51977         * doc/gnulib.texi (String Functions in C Locale): New section.
51978         * doc/c-ctype.texi: New file.
51979         * doc/c-strcase.texi: New file.
51980         * doc/c-strcaseeq.texi: New file.
51981         * doc/c-strcasestr.texi: New file.
51982         * doc/c-strstr.texi: New file.
51983         * doc/c-strtod.texi: New file.
51984         * doc/c-strtold.texi: New file.
51985
51986 2008-01-10  Eric Blake  <ebb9@byu.net>
51987
51988         * lib/relocatable.h: Fix a comment.
51989
51990 2008-01-10  Eric Blake  <ebb9@byu.net>
51991
51992         Share two-way algorithm.
51993         * lib/str-two-way.h: New file, merged from...
51994         * lib/memmem.c: ...here...
51995         * lib/strstr.c: ...and here.
51996         * modules/memmem (Files): Use it.
51997         * modules/strstr (Files): Likewise.
51998
51999         Avoid quadratic strstr implementations.
52000         * lib/strstr.c: New file.
52001         * m4/strstr.m4: Likewise.
52002         * modules/strstr: Likewise.
52003         * modules/strstr-tests: Likewise.
52004         * tests/test-strstr.c: Likewise.
52005         * lib/string.in.h (rpl_strstr): Declare.
52006         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
52007         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
52008         * modules/string (Makefile.am): Likewise.
52009         * MODULES.html.sh (string handling): Mention new module.
52010         * doc/functions/strstr.texi (strstr): Document the bug.
52011
52012 2008-01-10  Bruno Haible  <bruno@clisp.org>
52013
52014         * lib/relocatable.h (relocate): State whether result is freshly
52015         allocated or not.
52016         * lib/relocatable.c (relocate): Return a freshly allocated string
52017         instead of a pointer to a privately held string.
52018         Reported by Sylvain Beucler <beuc@gnu.org>.
52019
52020 2008-01-10  Colin Watson  <cjwatson@debian.org>
52021
52022         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
52023         s/S_ISNLK/S_ISLNK/.
52024
52025 2008-01-09  Bruno Haible  <bruno@clisp.org>
52026
52027         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
52028         and other files.
52029         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
52030         if it's only a guess.
52031         * modules/memmem: Simplify by depending on memmem-simple.
52032
52033 2008-01-09  Bruno Haible  <bruno@clisp.org>
52034
52035         Work around OpenBSD 4.0 tdelete() bug.
52036         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
52037         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
52038         macros and don't redefine the enum values.
52039         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
52040         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
52041         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
52042
52043 2008-01-09  Bruno Haible  <bruno@clisp.org>
52044
52045         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
52046         (main): Don't perform the tests if setlocale did not install a UTF-8
52047         locale. Needed on OpenBSD 4.0.
52048         * modules/wcwidth-tests (Depends-on): Add localcharset.
52049
52050 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52051
52052         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
52053         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
52054         * NEWS: announce this.
52055         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
52056
52057 2008-01-09  Simon Josefsson  <simon@josefsson.org>
52058         and Eric Blake  <ebb9@byu.net>
52059
52060         Add memmem-simple module.
52061         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
52062         (gl_FUNC_MEMMEM): Separate performance from presence checks.
52063         * modules/memmem-simple: New file.
52064         * modules/memmem (Description): Tweak.
52065         * MODULES.html.sh (string handling): Mention new module.
52066         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
52067         addressed by memmem-simple.
52068         * NEWS: Document the difference.
52069
52070 2008-01-09  Eric Blake  <ebb9@byu.net>
52071
52072         Give gcc some memmem optimization hints.
52073         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
52074         (strcasestr): Declare as pure.
52075         * modules/memmem (Maintainer): Claim my implementation.
52076
52077 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52078
52079         Support AIX 6.1 and higher.
52080         * build-aux/config.libpath: Likewise.
52081         * build-aux/config.rpath: Likewise.
52082
52083 2008-01-08  Jim Meyering  <meyering@redhat.com>
52084             Bruno Haible  <bruno@clisp.org>
52085
52086         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
52087         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
52088         Reported by Peter Fales in
52089         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
52090
52091 2008-01-08  Bruno Haible  <bruno@clisp.org>
52092
52093         * modules/unictype/category-of (Depends-on): Add
52094         unictype/category-none.
52095         * modules/unictype/category-and-tests (Depends-on): Add
52096         unictype/category-{L,N,Lu,Nd}.
52097         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
52098         * modules/unictype/category-or-tests (Depends-on): Add
52099         unictype/category-{L,N}.
52100         * modules/unictype/category-name-tests (Depends-on): Add
52101         unictype/category-{Z,Nl}.
52102         Reported by Simon Josefsson.
52103
52104 2008-01-08  Bruno Haible  <bruno@clisp.org>
52105
52106         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
52107         convention better.
52108         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
52109         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
52110         Reported by Peter Miller <millerp@canb.auug.org.au>.
52111
52112 2008-01-08  Eric Blake  <ebb9@byu.net>
52113
52114         Rewrite memmem to guarantee linear complexity without malloc.
52115         * lib/memmem.c (memmem): Use Two-Way rather than
52116         Knuth-Morris-Pratt, to allow O(1) space usage.
52117         (critical_factorization, two_way_short_needle)
52118         (two_way_long_needle): New functions.
52119         (knuth_morris_pratt): Delete.
52120         * modules/memmem (Depends-on): No longer need malloca or stdbool.
52121         Add stdint.
52122         * tests/test-memmem.c (main): Add tests for periodic needle and
52123         sublinear performance.
52124         * doc/functions/memmem.texi (memmem): Document other deficiencies
52125         in cygwin and older glibc.
52126
52127 2008-01-08  Bruno Haible  <bruno@clisp.org>
52128
52129         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
52130         augmentation.
52131
52132 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
52133
52134         Add a configure time option: --disable-acl.
52135         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
52136         AC_ARG_ENABLE(acl).
52137
52138 2008-01-06  Simon Josefsson  <simon@josefsson.org>
52139
52140         * tests/test-localename.c: Don't include obsolete "setenv.h".
52141
52142         * modules/localename-tests (Depends-on): Need unsetenv.
52143
52144 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52145
52146         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
52147
52148 2008-01-06  Colin Watson  <cjwatson@debian.org>
52149
52150         * users.txt: Add man-db.
52151
52152 2008-01-07  Bruno Haible  <bruno@clisp.org>
52153
52154         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
52155         previous section name.
52156
52157 2008-01-07  Bruno Haible  <bruno@clisp.org>
52158
52159         * lib/progname.c (set_program_name): Don't strip off a leading
52160         "lt-" prefix outside a .libs directory.
52161         Suggested by Paul Eggert.
52162
52163 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
52164             Bruno Haible  <bruno@clisp.org>
52165
52166         Improve memory cleanup in 'relocatable' module.
52167         * lib/relocatable.h (compute_curr_prefix): Change return type to
52168         'char *'.
52169         * lib/relocatable.c (compute_curr_prefix): Change return type to
52170         'char *'. Free curr_installdir after use.
52171         (relocate): Free curr_prefix_better after use.
52172         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
52173
52174 2008-01-01  Bruno Haible  <bruno@clisp.org>
52175
52176         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
52177         failure on older glibc systems.
52178         Reported by Peter Fales <psfales@alcatel-lucent.com>.
52179
52180 2008-01-05  Eric Blake  <ebb9@byu.net>
52181
52182         Avoid quadratic system memmem.
52183         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
52184         Reported by Ralf Wildenhues.
52185
52186         Fix memmem test for mingw.
52187         * modules/memmem-tests (configure.ac): Check for alarm.
52188         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
52189         it.
52190         * doc/functions/memmem.texi: New file.
52191         * doc/gnulib.texi (Function Substitutes): Add memmem.
52192         Reported by Bruno Haible.
52193
52194 2008-01-04  Bruno Haible  <bruno@clisp.org>
52195
52196         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
52197         Require gl_HEADER_STRINGS_H_DEFAULTS, not
52198         gl_HEADER_STRING_H_DEFAULTS.
52199
52200 2008-01-04  Eric Blake  <ebb9@byu.net>
52201
52202         Shorten duration of memmem test.
52203         * tests/test-memmem.c (main): Use alarm to declare failure if test
52204         is taking too long.
52205         Reported by Ralf Wildenhues.
52206
52207 2007-12-21  Simon Josefsson  <simon@josefsson.org>
52208
52209         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
52210         string, needed by strerror.
52211
52212 2008-01-03  Colin Watson  <cjwatson@debian.org>
52213             Bruno Haible  <bruno@clisp.org>
52214
52215         * doc/gnulib-tool.texi (Localization): New section.
52216
52217 2008-01-02  Bruno Haible  <bruno@clisp.org>
52218
52219         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
52220         variables to 'unsigned char *' type.
52221         Reported by Paul Eggert.
52222
52223 2008-01-02  Jim Meyering  <jim@meyering.net>
52224
52225         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
52226
52227 2007-12-31  Jim Meyering  <jim@meyering.net>
52228
52229         Avoid use of private FTS type name.
52230         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
52231
52232 2007-12-30  Karl Berry  <karl@gnu.org>
52233
52234         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
52235         work around defect in Texinfo and/or the standalone Info browser.
52236
52237 2007-12-30  Bruno Haible  <bruno@clisp.org>
52238
52239         Unify 5 copies of the KMP code.
52240         * lib/str-kmp.h: New file.
52241         * lib/c-strcasestr.c: Include str-kmp.h.
52242         (knuth_morris_pratt): Remove function.
52243         (c_strcasestr): Update.
52244         * lib/c-strstr.c: Include str-kmp.h.
52245         (knuth_morris_pratt): Remove function.
52246         (c_strcasestr): Update.
52247         * lib/mbscasestr.c: Include str-kmp.h.
52248         (knuth_morris_pratt_unibyte): Remove function.
52249         * lib/mbsstr.c: Include str-kmp.h.
52250         (knuth_morris_pratt_unibyte): Remove function.
52251         * lib/strcasestr.c: Include str-kmp.h.
52252         (knuth_morris_pratt): Remove function.
52253         (strcasestr): Update.
52254         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
52255         * modules/c-strstr (Files): Likewise.
52256         * modules/mbscasestr (Files): Likewise.
52257         * modules/mbsstr (Files): Likewise.
52258         * modules/strcasestr (Files): Likewise.
52259         Suggested by Paul Eggert.
52260
52261 2007-12-30  Bruno Haible  <bruno@clisp.org>
52262
52263         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
52264         defined.
52265
52266 2007-12-30  Bruno Haible  <bruno@clisp.org>
52267
52268         * lib/xmalloca.h: Include xalloc.h.
52269         (xnmalloca): New macro.
52270
52271 2007-12-30  Bruno Haible  <bruno@clisp.org>
52272
52273         * lib/malloca.h (nmalloca): New macro.
52274         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
52275         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
52276         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
52277         knuth_morris_pratt_multibyte): Likewise.
52278         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
52279         knuth_morris_pratt_multibyte): Likewise.
52280         * lib/memmem.c (knuth_morris_pratt): Likewise.
52281         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
52282
52283 2007-12-25  Bruno Haible  <bruno@clisp.org>
52284
52285         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
52286         * lib/glob.c: Don't include openat.h.
52287         (link_exists2_p): Add back the code that deals with the
52288         !GLOB_ALTDIRFUNC case.
52289         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
52290         let it do the filename concatenation.
52291         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
52292         * modules/glob (Depends-on): Remove openat.
52293
52294 2007-12-31  Bruno Haible  <bruno@clisp.org>
52295
52296         * modules/dirfd (License): Change to LGPLv2+.
52297         Approved by Jim Meyering.
52298
52299 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52300
52301         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
52302         when multiplying M by sizeof (size_t).
52303
52304 2007-12-10  Martin Lambers  <marlam@marlam.de>
52305
52306         Override getpagesize on mingw.
52307         * lib/getpagesize.c: New file.
52308         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
52309         * modules/getpagesize (Files): Add lib/getpagesize.c.
52310         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
52311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52312         REPLACE_GETPAGESIZE.
52313         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
52314
52315 2007-12-25  Bruno Haible  <bruno@clisp.org>
52316
52317         * modules/localcharset (Notice): New field.
52318         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
52319         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
52320
52321 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52322             Bruno Haible  <bruno@clisp.org>
52323
52324         Avoid using the syntax symbol() in formatted documentation.
52325         * MODULES.html.sh (func_module): When replacing symbol() with a
52326         hyperlink, remove the parentheses. Show an error if some remain.
52327         Recognize and render the '...' syntax.
52328         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
52329         Rework. Add paragraph about GCC's inlining.
52330         * doc/alloca.texi: Likewise.
52331         * doc/error.texi: Remove parentheses from symbol reference.
52332         * doc/gnulib-intro.texi: Likewise.
52333         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
52334         * modules/fnmatch (Description): Reword to say "the ... function".
52335         * modules/full-read (Description): Likewise.
52336         * modules/full-write (Description): Likewise.
52337         * modules/safe-read (Description): Likewise.
52338         * modules/safe-write (Description): Likewise.
52339         * modules/strchrnul (Description): Likewise.
52340         * modules/trim (Description): Likewise.
52341         * modules/error (Description): Remove parentheses from symbol
52342         references.
52343         * modules/verror (Description): Likewise.
52344         Reported by Karl Berry.
52345
52346 2007-12-25  Bruno Haible  <bruno@clisp.org>
52347
52348         Fixup after 2007-10-16 commit.
52349         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
52350
52351 2007-12-24  Bruno Haible  <bruno@clisp.org>
52352
52353         Make --enable-relocatable work with DESTDIR.
52354         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
52355         to compute installdir from destprog.
52356         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
52357         also set the RELOC_DESTDIR variable.
52358         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52359
52360 2007-12-24  Bruno Haible  <bruno@clisp.org>
52361
52362         Fix link error due to xalloc_die().
52363         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
52364         of xreadlink.
52365         * lib/relocwrapper.c: Update comments.
52366         * build-aux/install-reloc: Remove xreadlink.c from file list.
52367         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
52368         xreadlink.c.
52369         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52370
52371 2007-12-24  Bruno Haible  <bruno@clisp.org>
52372
52373         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
52374         * lib/setenv.h: Remove file.
52375         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
52376         lib/setenv.h.
52377         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
52378         (Depends-on): Add stdlib.
52379         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
52380         gl_FUNC_UNSETENV.
52381         (Include): Replace setenv.h with <stdlib.h>.
52382         * modules/unsetenv: New file.
52383         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
52384         * lib/unsetenv.c: Include <stdlib.h> first.
52385         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
52386         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
52387         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
52388         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
52389         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
52390         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52391         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
52392         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52393         * doc/functions/unsetenv.texi: Update.
52394         * modules/xsetenv (Depends-on): Add unsetenv.
52395         * modules/getdate (Depends-on): Likewise.
52396         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
52397         * lib/xsetenv.c: Don't include setenv.h.
52398         * lib/getdate.y: Likewise.
52399         * lib/relocwrapper.c: Likewise.
52400         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
52401         (Depends-on): Add stdlib.
52402         * NEWS: Mention the changes.
52403         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52404
52405 2007-12-23  Bruno Haible  <bruno@clisp.org>
52406
52407         * lib/memmem.c (memmem): Use lowercase variable names. Tab
52408         indentation.
52409
52410 2007-12-23  Bruno Haible  <bruno@clisp.org>
52411
52412         * lib/c-strcasestr.c: Add more comments.
52413         * lib/c-strstr.c: Likewise.
52414         * lib/mbscasestr.c: Likewise.
52415         * lib/mbsstr.c: Likewise.
52416         * lib/strcasestr.c: Likewise.
52417         * lib/memmem.c: Likewise.
52418
52419 2007-12-23  Bruno Haible  <bruno@clisp.org>
52420
52421         * tests/test-memmem.c: Include <string.h> first.
52422
52423 2007-12-22  Bruno Haible  <bruno@clisp.org>
52424
52425         * gnulib-tool (func_create_testdir): Change $auxdir while generating
52426         the contents of $testsbase.
52427         Reported by Ralf Wildenhues.
52428
52429 2007-12-22  Bruno Haible  <bruno@clisp.org>
52430
52431         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
52432         two variables local_ldadd_before, local_ldadd_last.
52433
52434 2007-12-20  Eric Blake  <ebb9@byu.net>
52435
52436         Work around circular library issue when cross-compiling.
52437         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
52438         that progname.o does not need to pull in rpl_memcmp.
52439
52440 2007-12-19  Eric Blake  <ebb9@byu.net>
52441
52442         Fix memmem to avoid O(n^2) worst-case complexity.
52443         * lib/memmem.c (knuth_morris_pratt): New function.
52444         (memmem): Use it if first few naive iterations fail.
52445         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
52446         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
52447         * modules/memchr (License): Likewise.
52448         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
52449         malloca.
52450         * tests/test-memmem.c: Rewrite, borrowing ideas from
52451         test-mbsstr1.c; the old version wouldn't even compile!
52452         * modules/memmem-tests: New file.
52453         * lib/string.in.h (rpl_memmem): Add declaration.
52454         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
52455         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
52456         REPLACE_MEMMEM.
52457
52458 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52459
52460         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
52461         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52462         before any system include files, and undef after them all.  This
52463         should fix a problem on VMS reported by John E. Malmberg in
52464         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52465
52466 2007-12-17  Eric Blake  <ebb9@byu.net>
52467
52468         Revert addition of verify, for BSD/OS.
52469         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52470         can't handle large files, for the sake of obsolete platforms.
52471         * modules/fseeko (Depends-on): Remove verify.
52472         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52473         * doc/functions/ftello.texi (ftello): Likewise.
52474         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52475         Reported by Larry Jones.
52476
52477 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52478
52479         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52480         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52481
52482 2007-12-17  Jim Meyering  <meyering@redhat.com>
52483
52484         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52485         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52486         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52487         * modules/getcwd (Depends-on): Add openat.
52488         Reported by Petr Salinger.
52489
52490 2007-12-17  Bruno Haible  <bruno@clisp.org>
52491
52492         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52493         avoid a segmentation fault of the configure test on x86_64 systems.
52494
52495 2007-12-15  Jim Meyering  <meyering@redhat.com>
52496
52497         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52498
52499 2007-12-13  Eric Blake  <ebb9@byu.net>
52500
52501         Another fseek test.
52502         * tests/test-fseek.c (main): Also test ungetc handling.
52503         * tests/test-fseeko.c (main): Likewise.
52504         * modules/fseeko (Depends-on): Add verify.
52505         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52506         large.
52507         Reported by Larry Jones.
52508
52509         Fix fseeko on mingw.
52510         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52511         seek.
52512
52513         Beef up fseek tests.
52514         * tests/test-fseek.c (main): Also test eof handling.
52515         * tests/test-fseeko.c (main): Likewise.
52516         Reported by Larry Jones.
52517
52518 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52519
52520         Fix fseeko on BSD-based platforms.
52521         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52522         successful seek.
52523
52524 2007-12-12  Eric Blake  <ebb9@byu.net>
52525
52526         Allow circular dependency of separate libtests.a
52527         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
52528         when use_libtests.
52529
52530 2007-12-11  Eric Blake  <ebb9@byu.net>
52531
52532         Fix bug with -0.0L in previous patch.
52533         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
52534         * tests/test-isnan.c (main): Also test on zeroes.
52535         * tests/test-isnanf.c (main): Likewise.
52536         * tests/test-isnanl.h (main): Likewise.
52537
52538         Detect pseudo-denormals on x86 even when cross-compiling.
52539         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
52540         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
52541         invalid bit patterns that happen to satisfy ==.
52542
52543         Avoid link failures with separate libtests.a.
52544         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
52545         last, to satisfy circular dependencies.
52546
52547 2007-12-11  Eric Blake  <ebb9@byu.net>
52548         and Bruno Haible  <bruno@clisp.org>
52549
52550         Fix OpenBSD 4.0 <float.h> handling of long double.
52551         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
52552         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
52553         * doc/headers/float.texi (float.h): Document OpenBSD bug.
52554
52555 2007-12-11  Jim Meyering  <meyering@redhat.com>
52556
52557         * users.txt: Add libvirt.
52558
52559         Support versions of autoconf prior to 2.59c.
52560         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
52561         if it is not already defined.
52562
52563 2007-12-09  Bruno Haible  <bruno@clisp.org>
52564
52565         Let 'gnulib-tool --import' collect sources needed for the tests in
52566         tests/ rather than in lib/.
52567         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
52568         argument. If true, add rules to generate libtests.a, and put libtests.a
52569         into $(LDADD). Consider source files in subdirectories and set
52570         uses_subdirs.
52571         (func_emit_initmacro_start, func_emit_initmacro_end,
52572         func_emit_initmacro_done): Pass all arguments explicitly.
52573         (func_import): Determine two module lists main_modules,
52574         testsrelated_modules. Determine use_libtests. Determine two variables
52575         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
52576         instead of just sed_transform_lib_file. Determine two variables
52577         main_files and testsrelated_files. Compute 'files' as the union of
52578         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
52579         func_add_or_update. In the generated gnulib-comp.m4, collect the
52580         object files for tests/ in different variables than those for lib/.
52581         Substitute LIBTESTS_LIBDEPS.
52582         (func_create_testdir): Combine the uses_subdirs results from
52583         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
52584
52585 2007-12-09  Bruno Haible  <bruno@clisp.org>
52586
52587         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
52588         the build-aux directory.
52589
52590 2007-12-09  Bruno Haible  <bruno@clisp.org>
52591
52592         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
52593         introduced on 2006-09-09.
52594
52595 2007-12-07  Jim Meyering  <meyering@redhat.com>
52596
52597         Let these macros work also with autoconf-2.59.
52598         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
52599         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
52600         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52601
52602 2007-12-06  Jim Meyering  <meyering@redhat.com>
52603
52604         Avoid a configure-time syntax error in gl_FUNC_ACL.
52605         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
52606         function in each branch, before testing the cache variable.
52607
52608 2007-12-04  Eric Blake  <ebb9@byu.net>
52609
52610         Make scripts executable.
52611         * build-aux/config.guess: Add execute permissions.
52612         * build-aux/config.sub: Likewise.
52613         * build-aux/gendocs.sh: Likewise.
52614
52615         Fix frexp on mingw.
52616         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
52617         cross-compiling.
52618         * doc/functions/frexp.texi (frexp): Document the bug.
52619
52620         Make cygwin fseeko check more reliable.
52621         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
52622         version numbers, rather than unrelated feature check.
52623         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
52624         * doc/functions/ftello.texi (ftello): Likewise.
52625         Reported by Bruno Haible.
52626
52627         * m4/strerror.m4: Bump version number.
52628
52629 2007-12-03  Bruno Haible  <bruno@clisp.org>
52630
52631         * doc/functions/mprotect.texi: Mention the mingw problem.
52632
52633 2007-12-03  Eric Blake  <ebb9@byu.net>
52634
52635         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
52636         REPLACE_STRERROR is initialized before this macro.
52637
52638 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52639
52640         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
52641         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
52642         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
52643         put -lsec in even for programs other than 'ls'.  This fixes a problem
52644         for gettext reported by Bruno Haible in
52645         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
52646         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
52647         Add support for Solaris 10.  This isn't efficient, but should get the
52648         job done for now.
52649
52650 2007-12-03  James Youngman  <jay@gnu.org>
52651
52652         * doc/regexprops-generic.texi: change "an close-group" to "a
52653         close-group" and "illegal" to "not allowed".
52654
52655 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52656
52657         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
52658         pr_byname.h. Needed for the rare case when the maintainer has done
52659         "make maintainer-clean" in the source directory and then attempts a
52660         build outside the source directory.
52661         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
52662         scripts_byname.h.
52663
52664 2007-12-02  Martin Lambers <marlam@marlam.de>
52665             Bruno Haible  <bruno@clisp.org>
52666
52667         * lib/getpagesize.h: Remove file.
52668         * lib/unistd.in.h: Include declaration of getpagesize here.
52669         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
52670         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
52671         HAVE_SYS_PARAM_H.
52672         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
52673         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52674         * modules/getpagesize (Files): Remove lib/getpagesize.h.
52675         (Depends-on): Add unistd.
52676         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52677         (Include): Use <unistd.h> instead of getpagesize.h.
52678         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
52679         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52680         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
52681         gl_GETPAGESIZE invocation, already handled by module dependency.
52682         * lib/pagealign_alloc.c: Don't include getpagesize.h.
52683
52684 2007-12-02  Bruno Haible  <bruno@clisp.org>
52685
52686         * modules/strings-tests: New file.
52687         * tests/test-strings.c: New file.
52688
52689         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
52690         * lib/strings.in.h: New file.
52691         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
52692         * m4/strings_h.m4: New file.
52693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
52694         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
52695         * modules/strings: New file.
52696         * modules/string (Makefile.am): Update.
52697         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
52698         Reported by Karl Berry.
52699
52700 2007-12-01  Eric Blake  <ebb9@byu.net>
52701
52702         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
52703         accomodate fix in cygwin 1.5.25.
52704
52705 2007-12-01  Jim Meyering  <meyering@redhat.com>
52706
52707         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
52708         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
52709         that would inhibit utf8-optimization of a regexp containing line-
52710         or buffer-anchors, e.g., `^', `$'.
52711
52712 2007-11-30  Bruno Haible  <bruno@clisp.org>
52713
52714         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
52715         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
52716         glthread_recursive_lock_init.
52717         * lib/lock.c (glthread_recursive_lock_init)
52718         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
52719         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52720
52721 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
52722
52723         New function qset_acl, like set_acl but with syscall semantics.
52724         * lib/acl.h (qset_acl): New decl.
52725         * lib/acl.c (qset_acl): New function.
52726         (set_acl): Use new function.  Use more-consistent diagnostics.
52727
52728 2007-11-28  Jim Meyering  <meyering@redhat.com>
52729
52730         * modules/physmem (License): Change from GPL to LGPLv2+.
52731
52732 2007-11-26  Bruno Haible  <bruno@clisp.org>
52733
52734         * lib/vasnprintf.c (decode_long_double): Don't abort if the
52735         'long double' type has excess precision.
52736         Reported by Jim Meyering in
52737         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
52738
52739 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52740
52741         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
52742         Sync from <http://gnu.org/licenses>.
52743         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
52744         with license text from same location.
52745         * doc/maintain.texi, doc/standards.texi:  Sync from
52746         <http://savannah.gnu.org/projects/gnustandards>.
52747
52748 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
52749         and Jim Meyering  <meyering@redhat.com>
52750
52751         Adjust getdate' grammar to accept a slightly more regular language.
52752         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
52753         Before, the former was rejected.
52754         * lib/getdate.y (digits_to_date_time): New function, factored
52755         out of ...
52756         (number): ...here.  Just call digits_to_date_time.
52757         (hybrid): New non-terminal to handle an <unsigned number,
52758         signed relative offset> sequence consistently.
52759
52760 2007-11-18  Jim Meyering  <meyering@redhat.com>
52761
52762         Pull my changes from coreutils:
52763         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
52764         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
52765         use of $gnulib_tool_option_extras, so that it's separated from the
52766         preceding argument.
52767
52768         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
52769         * build-aux/bootstrap (cp_mark_as_generated): Create any required
52770         parent destination directories before copying a file into place.
52771
52772 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52773
52774         bootstrap: work also with 4-argument variant of AC_INIT
52775         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
52776
52777 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52778
52779         Port test-getaddrinfo to Solaris.
52780         Problem reported by Bruno Haible in
52781         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
52782         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
52783         explanation of setting 'hints'.
52784         Don't reject an implementation merely because it returns EAI_SERVICE.
52785         (EAI_SERVICE): Define to 0 if not defined.
52786
52787 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52788
52789         The license of gnu-make and posix-shell is now "GPLed build tool".
52790         * modules/gnu-make (License): Likewise.
52791         * modules/posix-shell (License): Likewise.
52792
52793         New module posix-shell, for determining a POSIX shell
52794         or perhaps something that is close enough to a POSIX shell.
52795         * m4/posix-shell.m4: New file.
52796         * modules/posix-shell: New file.
52797
52798         * MODULES.html.sh: Mention new module.
52799
52800         New module gnu-make, for determining whether we're using GNU Make.
52801         * m4/gnu-make.m4: New file.
52802         * modules/gnu-make: New file.
52803         * MODULES.html.sh: Mention new module.
52804
52805 2007-11-14  Jim Meyering  <meyering@redhat.com>
52806
52807         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
52808         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
52809         use this macro to create a function _definition_.
52810         Remove useless "#undef ARGMATCH_DIE".
52811
52812 2007-11-14  Bruno Haible  <bruno@clisp.org>
52813
52814         * lib/config.charset: Update for OpenBSD 4.1.
52815         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
52816
52817 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
52818
52819         Document 64-bit #if problems in stdint.texi.
52820         * doc/headers/stdint.texi (stdint.h): Mention problems with
52821         64-bit-#if, and how to work around them.
52822
52823         Don't insist on 'long long int' support in the preprocessor.  It
52824         breaks too many things.  For example, PRIdMAX still uses a 'long
52825         long int' format with the latest Sun compiler, even though
52826         HAVE_LONG_LONG_INT isn't defined due to that compiler's
52827         preprocessor problem.  This causes the latest coreutils to dump
52828         core on Solaris 10 sparc with the Sun C compiler.
52829         Instead, fix the 2007-10-16 problem in a different way, by evaluating
52830         the troublesome expressions at configure-time, not at #if-time.
52831         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
52832         preprocessor.
52833         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
52834         compile-time C checks, done at 'configure'-time.
52835         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
52836         * modules/inttypes (Makefile): Substitute the new symbols that
52837         gl_INTTYPES_H now generates.
52838         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
52839
52840 2007-11-12  Bruno Haible  <bruno@clisp.org>
52841
52842         Tests for Unicode character classification functions.
52843
52844         * modules/unictype/bidicategory-byname-tests: New file.
52845         * modules/unictype/bidicategory-name-tests: New file.
52846         * modules/unictype/bidicategory-of-tests: New file.
52847         * modules/unictype/bidicategory-test-tests: New file.
52848         * modules/unictype/block-list-tests: New file.
52849         * modules/unictype/block-of-tests: New file.
52850         * modules/unictype/block-test-tests: New file.
52851         * modules/unictype/category-C-tests: New file.
52852         * modules/unictype/category-Cc-tests: New file.
52853         * modules/unictype/category-Cf-tests: New file.
52854         * modules/unictype/category-Cn-tests: New file.
52855         * modules/unictype/category-Co-tests: New file.
52856         * modules/unictype/category-Cs-tests: New file.
52857         * modules/unictype/category-L-tests: New file.
52858         * modules/unictype/category-Ll-tests: New file.
52859         * modules/unictype/category-Lm-tests: New file.
52860         * modules/unictype/category-Lo-tests: New file.
52861         * modules/unictype/category-Lt-tests: New file.
52862         * modules/unictype/category-Lu-tests: New file.
52863         * modules/unictype/category-M-tests: New file.
52864         * modules/unictype/category-Mc-tests: New file.
52865         * modules/unictype/category-Me-tests: New file.
52866         * modules/unictype/category-Mn-tests: New file.
52867         * modules/unictype/category-N-tests: New file.
52868         * modules/unictype/category-Nd-tests: New file.
52869         * modules/unictype/category-Nl-tests: New file.
52870         * modules/unictype/category-No-tests: New file.
52871         * modules/unictype/category-P-tests: New file.
52872         * modules/unictype/category-Pc-tests: New file.
52873         * modules/unictype/category-Pd-tests: New file.
52874         * modules/unictype/category-Pe-tests: New file.
52875         * modules/unictype/category-Pf-tests: New file.
52876         * modules/unictype/category-Pi-tests: New file.
52877         * modules/unictype/category-Po-tests: New file.
52878         * modules/unictype/category-Ps-tests: New file.
52879         * modules/unictype/category-S-tests: New file.
52880         * modules/unictype/category-Sc-tests: New file.
52881         * modules/unictype/category-Sk-tests: New file.
52882         * modules/unictype/category-Sm-tests: New file.
52883         * modules/unictype/category-So-tests: New file.
52884         * modules/unictype/category-Z-tests: New file.
52885         * modules/unictype/category-Zl-tests: New file.
52886         * modules/unictype/category-Zp-tests: New file.
52887         * modules/unictype/category-Zs-tests: New file.
52888         * modules/unictype/category-and-not-tests: New file.
52889         * modules/unictype/category-and-tests: New file.
52890         * modules/unictype/category-byname-tests: New file.
52891         * modules/unictype/category-name-tests: New file.
52892         * modules/unictype/category-none-tests: New file.
52893         * modules/unictype/category-of-tests: New file.
52894         * modules/unictype/category-or-tests: New file.
52895         * modules/unictype/category-test-withtable-tests: New file.
52896         * modules/unictype/combining-class-tests: New file.
52897         * modules/unictype/ctype-alnum-tests: New file.
52898         * modules/unictype/ctype-alpha-tests: New file.
52899         * modules/unictype/ctype-blank-tests: New file.
52900         * modules/unictype/ctype-cntrl-tests: New file.
52901         * modules/unictype/ctype-digit-tests: New file.
52902         * modules/unictype/ctype-graph-tests: New file.
52903         * modules/unictype/ctype-lower-tests: New file.
52904         * modules/unictype/ctype-print-tests: New file.
52905         * modules/unictype/ctype-punct-tests: New file.
52906         * modules/unictype/ctype-space-tests: New file.
52907         * modules/unictype/ctype-upper-tests: New file.
52908         * modules/unictype/ctype-xdigit-tests: New file.
52909         * modules/unictype/decimal-digit-tests: New file.
52910         * modules/unictype/digit-tests: New file.
52911         * modules/unictype/mirror-tests: New file.
52912         * modules/unictype/numeric-tests: New file.
52913         * modules/unictype/property-alphabetic-tests: New file.
52914         * modules/unictype/property-ascii-hex-digit-tests: New file.
52915         * modules/unictype/property-bidi-arabic-digit-tests: New file.
52916         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
52917         * modules/unictype/property-bidi-block-separator-tests: New file.
52918         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
52919         * modules/unictype/property-bidi-common-separator-tests: New file.
52920         * modules/unictype/property-bidi-control-tests: New file.
52921         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
52922         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
52923         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
52924         * modules/unictype/property-bidi-european-digit-tests: New file.
52925         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
52926         * modules/unictype/property-bidi-left-to-right-tests: New file.
52927         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
52928         * modules/unictype/property-bidi-other-neutral-tests: New file.
52929         * modules/unictype/property-bidi-pdf-tests: New file.
52930         * modules/unictype/property-bidi-segment-separator-tests: New file.
52931         * modules/unictype/property-bidi-whitespace-tests: New file.
52932         * modules/unictype/property-byname-tests: New file.
52933         * modules/unictype/property-combining-tests: New file.
52934         * modules/unictype/property-composite-tests: New file.
52935         * modules/unictype/property-currency-symbol-tests: New file.
52936         * modules/unictype/property-dash-tests: New file.
52937         * modules/unictype/property-decimal-digit-tests: New file.
52938         * modules/unictype/property-default-ignorable-code-point-tests: New file.
52939         * modules/unictype/property-deprecated-tests: New file.
52940         * modules/unictype/property-diacritic-tests: New file.
52941         * modules/unictype/property-extender-tests: New file.
52942         * modules/unictype/property-format-control-tests: New file.
52943         * modules/unictype/property-grapheme-base-tests: New file.
52944         * modules/unictype/property-grapheme-extend-tests: New file.
52945         * modules/unictype/property-grapheme-link-tests: New file.
52946         * modules/unictype/property-hex-digit-tests: New file.
52947         * modules/unictype/property-hyphen-tests: New file.
52948         * modules/unictype/property-id-continue-tests: New file.
52949         * modules/unictype/property-id-start-tests: New file.
52950         * modules/unictype/property-ideographic-tests: New file.
52951         * modules/unictype/property-ids-binary-operator-tests: New file.
52952         * modules/unictype/property-ids-trinary-operator-tests: New file.
52953         * modules/unictype/property-ignorable-control-tests: New file.
52954         * modules/unictype/property-iso-control-tests: New file.
52955         * modules/unictype/property-join-control-tests: New file.
52956         * modules/unictype/property-left-of-pair-tests: New file.
52957         * modules/unictype/property-line-separator-tests: New file.
52958         * modules/unictype/property-logical-order-exception-tests: New file.
52959         * modules/unictype/property-lowercase-tests: New file.
52960         * modules/unictype/property-math-tests: New file.
52961         * modules/unictype/property-non-break-tests: New file.
52962         * modules/unictype/property-not-a-character-tests: New file.
52963         * modules/unictype/property-numeric-tests: New file.
52964         * modules/unictype/property-other-alphabetic-tests: New file.
52965         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
52966         * modules/unictype/property-other-grapheme-extend-tests: New file.
52967         * modules/unictype/property-other-id-continue-tests: New file.
52968         * modules/unictype/property-other-id-start-tests: New file.
52969         * modules/unictype/property-other-lowercase-tests: New file.
52970         * modules/unictype/property-other-math-tests: New file.
52971         * modules/unictype/property-other-uppercase-tests: New file.
52972         * modules/unictype/property-paired-punctuation-tests: New file.
52973         * modules/unictype/property-paragraph-separator-tests: New file.
52974         * modules/unictype/property-pattern-syntax-tests: New file.
52975         * modules/unictype/property-pattern-white-space-tests: New file.
52976         * modules/unictype/property-private-use-tests: New file.
52977         * modules/unictype/property-punctuation-tests: New file.
52978         * modules/unictype/property-quotation-mark-tests: New file.
52979         * modules/unictype/property-radical-tests: New file.
52980         * modules/unictype/property-sentence-terminal-tests: New file.
52981         * modules/unictype/property-soft-dotted-tests: New file.
52982         * modules/unictype/property-space-tests: New file.
52983         * modules/unictype/property-terminal-punctuation-tests: New file.
52984         * modules/unictype/property-test-tests: New file.
52985         * modules/unictype/property-titlecase-tests: New file.
52986         * modules/unictype/property-unassigned-code-value-tests: New file.
52987         * modules/unictype/property-unified-ideograph-tests: New file.
52988         * modules/unictype/property-uppercase-tests: New file.
52989         * modules/unictype/property-variation-selector-tests: New file.
52990         * modules/unictype/property-white-space-tests: New file.
52991         * modules/unictype/property-xid-continue-tests: New file.
52992         * modules/unictype/property-xid-start-tests: New file.
52993         * modules/unictype/property-zero-width-tests: New file.
52994         * modules/unictype/scripts-tests: New file.
52995         * modules/unictype/syntax-c-ident-tests: New file.
52996         * modules/unictype/syntax-c-whitespace-tests: New file.
52997         * modules/unictype/syntax-java-ident-tests: New file.
52998         * modules/unictype/syntax-java-whitespace-tests: New file.
52999         * tests/unictype/test-bidi_byname.c: New file.
53000         * tests/unictype/test-bidi_name.c: New file.
53001         * tests/unictype/test-bidi_of.c: New file.
53002         * tests/unictype/test-bidi_test.c: New file.
53003         * tests/unictype/test-block_list.c: New file.
53004         * tests/unictype/test-block_of.c: New file.
53005         * tests/unictype/test-block_test.c: New file.
53006         * tests/unictype/test-categ_and.c: New file.
53007         * tests/unictype/test-categ_and_not.c: New file.
53008         * tests/unictype/test-categ_byname.c: New file.
53009         * tests/unictype/test-categ_name.c: New file.
53010         * tests/unictype/test-categ_none.c: New file.
53011         * tests/unictype/test-categ_of.c: New file.
53012         * tests/unictype/test-categ_or.c: New file.
53013         * tests/unictype/test-categ_test_withtable.c: New file.
53014         * tests/unictype/test-combining.c: New file.
53015         * tests/unictype/test-decdigit.c: New file.
53016         * tests/unictype/test-digit.c: New file.
53017         * tests/unictype/test-mirror.c: New file.
53018         * tests/unictype/test-numeric.c: New file.
53019         * tests/unictype/test-pr_byname.c: New file.
53020         * tests/unictype/test-pr_test.c: New file.
53021         * tests/unictype/test-predicate-part1.h: New file.
53022         * tests/unictype/test-predicate-part2.h: New file.
53023         * tests/unictype/test-scripts.c: New file.
53024         * tests/unictype/test-sy_c_ident.c: New file.
53025         * tests/unictype/test-sy_java_ident.c: New file.
53026
53027         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
53028         for Unicode 5.0.0.
53029         * tests/unictype/test-categ_Cc.c: Likewise.
53030         * tests/unictype/test-categ_Cf.c: Likewise.
53031         * tests/unictype/test-categ_Cn.c: Likewise.
53032         * tests/unictype/test-categ_Co.c: Likewise.
53033         * tests/unictype/test-categ_Cs.c: Likewise.
53034         * tests/unictype/test-categ_L.c: Likewise.
53035         * tests/unictype/test-categ_Ll.c: Likewise.
53036         * tests/unictype/test-categ_Lm.c: Likewise.
53037         * tests/unictype/test-categ_Lo.c: Likewise.
53038         * tests/unictype/test-categ_Lt.c: Likewise.
53039         * tests/unictype/test-categ_Lu.c: Likewise.
53040         * tests/unictype/test-categ_M.c: Likewise.
53041         * tests/unictype/test-categ_Mc.c: Likewise.
53042         * tests/unictype/test-categ_Me.c: Likewise.
53043         * tests/unictype/test-categ_Mn.c: Likewise.
53044         * tests/unictype/test-categ_N.c: Likewise.
53045         * tests/unictype/test-categ_Nd.c: Likewise.
53046         * tests/unictype/test-categ_Nl.c: Likewise.
53047         * tests/unictype/test-categ_No.c: Likewise.
53048         * tests/unictype/test-categ_P.c: Likewise.
53049         * tests/unictype/test-categ_Pc.c: Likewise.
53050         * tests/unictype/test-categ_Pd.c: Likewise.
53051         * tests/unictype/test-categ_Pe.c: Likewise.
53052         * tests/unictype/test-categ_Pf.c: Likewise.
53053         * tests/unictype/test-categ_Pi.c: Likewise.
53054         * tests/unictype/test-categ_Po.c: Likewise.
53055         * tests/unictype/test-categ_Ps.c: Likewise.
53056         * tests/unictype/test-categ_S.c: Likewise.
53057         * tests/unictype/test-categ_Sc.c: Likewise.
53058         * tests/unictype/test-categ_Sk.c: Likewise.
53059         * tests/unictype/test-categ_Sm.c: Likewise.
53060         * tests/unictype/test-categ_So.c: Likewise.
53061         * tests/unictype/test-categ_Z.c: Likewise.
53062         * tests/unictype/test-categ_Zl.c: Likewise.
53063         * tests/unictype/test-categ_Zp.c: Likewise.
53064         * tests/unictype/test-categ_Zs.c: Likewise.
53065         * tests/unictype/test-ctype_alnum.c: Likewise.
53066         * tests/unictype/test-ctype_alpha.c: Likewise.
53067         * tests/unictype/test-ctype_blank.c: Likewise.
53068         * tests/unictype/test-ctype_cntrl.c: Likewise.
53069         * tests/unictype/test-ctype_digit.c: Likewise.
53070         * tests/unictype/test-ctype_graph.c: Likewise.
53071         * tests/unictype/test-ctype_lower.c: Likewise.
53072         * tests/unictype/test-ctype_print.c: Likewise.
53073         * tests/unictype/test-ctype_punct.c: Likewise.
53074         * tests/unictype/test-ctype_space.c: Likewise.
53075         * tests/unictype/test-ctype_upper.c: Likewise.
53076         * tests/unictype/test-ctype_xdigit.c: Likewise.
53077         * tests/unictype/test-decdigit.h: Likewise.
53078         * tests/unictype/test-digit.h: Likewise.
53079         * tests/unictype/test-numeric.h: Likewise.
53080         * tests/unictype/test-pr_alphabetic.c: Likewise.
53081         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
53082         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
53083         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
53084         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
53085         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
53086         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
53087         * tests/unictype/test-pr_bidi_control.c: Likewise.
53088         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
53089         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
53090         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
53091         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
53092         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
53093         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
53094         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
53095         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
53096         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
53097         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
53098         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
53099         * tests/unictype/test-pr_combining.c: Likewise.
53100         * tests/unictype/test-pr_composite.c: Likewise.
53101         * tests/unictype/test-pr_currency_symbol.c: Likewise.
53102         * tests/unictype/test-pr_dash.c: Likewise.
53103         * tests/unictype/test-pr_decimal_digit.c: Likewise.
53104         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
53105         * tests/unictype/test-pr_deprecated.c: Likewise.
53106         * tests/unictype/test-pr_diacritic.c: Likewise.
53107         * tests/unictype/test-pr_extender.c: Likewise.
53108         * tests/unictype/test-pr_format_control.c: Likewise.
53109         * tests/unictype/test-pr_grapheme_base.c: Likewise.
53110         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
53111         * tests/unictype/test-pr_grapheme_link.c: Likewise.
53112         * tests/unictype/test-pr_hex_digit.c: Likewise.
53113         * tests/unictype/test-pr_hyphen.c: Likewise.
53114         * tests/unictype/test-pr_id_continue.c: Likewise.
53115         * tests/unictype/test-pr_id_start.c: Likewise.
53116         * tests/unictype/test-pr_ideographic.c: Likewise.
53117         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
53118         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
53119         * tests/unictype/test-pr_ignorable_control.c: Likewise.
53120         * tests/unictype/test-pr_iso_control.c: Likewise.
53121         * tests/unictype/test-pr_join_control.c: Likewise.
53122         * tests/unictype/test-pr_left_of_pair.c: Likewise.
53123         * tests/unictype/test-pr_line_separator.c: Likewise.
53124         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
53125         * tests/unictype/test-pr_lowercase.c: Likewise.
53126         * tests/unictype/test-pr_math.c: Likewise.
53127         * tests/unictype/test-pr_non_break.c: Likewise.
53128         * tests/unictype/test-pr_not_a_character.c: Likewise.
53129         * tests/unictype/test-pr_numeric.c: Likewise.
53130         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
53131         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
53132         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
53133         * tests/unictype/test-pr_other_id_continue.c: Likewise.
53134         * tests/unictype/test-pr_other_id_start.c: Likewise.
53135         * tests/unictype/test-pr_other_lowercase.c: Likewise.
53136         * tests/unictype/test-pr_other_math.c: Likewise.
53137         * tests/unictype/test-pr_other_uppercase.c: Likewise.
53138         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
53139         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
53140         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
53141         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
53142         * tests/unictype/test-pr_private_use.c: Likewise.
53143         * tests/unictype/test-pr_punctuation.c: Likewise.
53144         * tests/unictype/test-pr_quotation_mark.c: Likewise.
53145         * tests/unictype/test-pr_radical.c: Likewise.
53146         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
53147         * tests/unictype/test-pr_soft_dotted.c: Likewise.
53148         * tests/unictype/test-pr_space.c: Likewise.
53149         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
53150         * tests/unictype/test-pr_titlecase.c: Likewise.
53151         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
53152         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
53153         * tests/unictype/test-pr_uppercase.c: Likewise.
53154         * tests/unictype/test-pr_variation_selector.c: Likewise.
53155         * tests/unictype/test-pr_white_space.c: Likewise.
53156         * tests/unictype/test-pr_xid_continue.c: Likewise.
53157         * tests/unictype/test-pr_xid_start.c: Likewise.
53158         * tests/unictype/test-pr_zero_width.c: Likewise.
53159         * tests/unictype/test-sy_c_whitespace.c: Likewise.
53160         * tests/unictype/test-sy_java_whitespace.c: Likewise.
53161
53162 2007-11-12  Bruno Haible  <bruno@clisp.org>
53163
53164         Unicode character classification functions.
53165         * lib/unictype.h: New file.
53166         * modules/unictype/base: New file.
53167         * modules/unictype/category-L: New file.
53168         * modules/unictype/category-Lu: New file.
53169         * modules/unictype/category-Ll: New file.
53170         * modules/unictype/category-Lt: New file.
53171         * modules/unictype/category-Lm: New file.
53172         * modules/unictype/category-Lo: New file.
53173         * modules/unictype/category-M: New file.
53174         * modules/unictype/category-Mn: New file.
53175         * modules/unictype/category-Mc: New file.
53176         * modules/unictype/category-Me: New file.
53177         * modules/unictype/category-N: New file.
53178         * modules/unictype/category-Nd: New file.
53179         * modules/unictype/category-Nl: New file.
53180         * modules/unictype/category-No: New file.
53181         * modules/unictype/category-P: New file.
53182         * modules/unictype/category-Pc: New file.
53183         * modules/unictype/category-Pd: New file.
53184         * modules/unictype/category-Ps: New file.
53185         * modules/unictype/category-Pe: New file.
53186         * modules/unictype/category-Pi: New file.
53187         * modules/unictype/category-Pf: New file.
53188         * modules/unictype/category-Po: New file.
53189         * modules/unictype/category-S: New file.
53190         * modules/unictype/category-Sm: New file.
53191         * modules/unictype/category-Sc: New file.
53192         * modules/unictype/category-Sk: New file.
53193         * modules/unictype/category-So: New file.
53194         * modules/unictype/category-Z: New file.
53195         * modules/unictype/category-Zs: New file.
53196         * modules/unictype/category-Zl: New file.
53197         * modules/unictype/category-Zp: New file.
53198         * modules/unictype/category-C: New file.
53199         * modules/unictype/category-Cc: New file.
53200         * modules/unictype/category-Cf: New file.
53201         * modules/unictype/category-Cs: New file.
53202         * modules/unictype/category-Co: New file.
53203         * modules/unictype/category-Cn: New file.
53204         * modules/unictype/category-or: New file.
53205         * modules/unictype/category-of: New file.
53206         * modules/unictype/category-test: New file.
53207         * modules/unictype/category-test-withtable: New file.
53208         * modules/unictype/category-byname: New file.
53209         * modules/unictype/category-none: New file.
53210         * modules/unictype/category-and: New file.
53211         * modules/unictype/category-and-not: New file.
53212         * modules/unictype/category-name: New file.
53213         * modules/unictype/combining-class: New file.
53214         * modules/unictype/category-all: New file.
53215         * modules/unictype/bidicategory-all: New file.
53216         * modules/unictype/bidicategory-byname: New file.
53217         * modules/unictype/bidicategory-name: New file.
53218         * modules/unictype/bidicategory-of: New file.
53219         * modules/unictype/bidicategory-test: New file.
53220         * modules/unictype/decimal-digit: New file.
53221         * modules/unictype/digit: New file.
53222         * modules/unictype/numeric: New file.
53223         * modules/unictype/mirror: New file.
53224         * modules/unictype/property-white-space: New file.
53225         * modules/unictype/property-alphabetic: New file.
53226         * modules/unictype/property-other-alphabetic: New file.
53227         * modules/unictype/property-not-a-character: New file.
53228         * modules/unictype/property-default-ignorable-code-point: New file.
53229         * modules/unictype/property-other-default-ignorable-code-point: New
53230         file.
53231         * modules/unictype/property-deprecated: New file.
53232         * modules/unictype/property-logical-order-exception: New file.
53233         * modules/unictype/property-variation-selector: New file.
53234         * modules/unictype/property-private-use: New file.
53235         * modules/unictype/property-unassigned-code-value: New file.
53236         * modules/unictype/property-uppercase: New file.
53237         * modules/unictype/property-other-uppercase: New file.
53238         * modules/unictype/property-lowercase: New file.
53239         * modules/unictype/property-other-lowercase: New file.
53240         * modules/unictype/property-titlecase: New file.
53241         * modules/unictype/property-soft-dotted: New file.
53242         * modules/unictype/property-id-start: New file.
53243         * modules/unictype/property-other-id-start: New file.
53244         * modules/unictype/property-id-continue: New file.
53245         * modules/unictype/property-other-id-continue: New file.
53246         * modules/unictype/property-xid-start: New file.
53247         * modules/unictype/property-xid-continue: New file.
53248         * modules/unictype/property-pattern-white-space: New file.
53249         * modules/unictype/property-pattern-syntax: New file.
53250         * modules/unictype/property-join-control: New file.
53251         * modules/unictype/property-grapheme-base: New file.
53252         * modules/unictype/property-grapheme-extend: New file.
53253         * modules/unictype/property-other-grapheme-extend: New file.
53254         * modules/unictype/property-grapheme-link: New file.
53255         * modules/unictype/property-bidi-control: New file.
53256         * modules/unictype/property-bidi-left-to-right: New file.
53257         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
53258         * modules/unictype/property-bidi-arabic-right-to-left: New file.
53259         * modules/unictype/property-bidi-european-digit: New file.
53260         * modules/unictype/property-bidi-eur-num-separator: New file.
53261         * modules/unictype/property-bidi-eur-num-terminator: New file.
53262         * modules/unictype/property-bidi-arabic-digit: New file.
53263         * modules/unictype/property-bidi-common-separator: New file.
53264         * modules/unictype/property-bidi-block-separator: New file.
53265         * modules/unictype/property-bidi-segment-separator: New file.
53266         * modules/unictype/property-bidi-whitespace: New file.
53267         * modules/unictype/property-bidi-non-spacing-mark: New file.
53268         * modules/unictype/property-bidi-boundary-neutral: New file.
53269         * modules/unictype/property-bidi-pdf: New file.
53270         * modules/unictype/property-bidi-embedding-or-override: New file.
53271         * modules/unictype/property-bidi-other-neutral: New file.
53272         * modules/unictype/property-hex-digit: New file.
53273         * modules/unictype/property-ascii-hex-digit: New file.
53274         * modules/unictype/property-ideographic: New file.
53275         * modules/unictype/property-unified-ideograph: New file.
53276         * modules/unictype/property-radical: New file.
53277         * modules/unictype/property-ids-binary-operator: New file.
53278         * modules/unictype/property-ids-trinary-operator: New file.
53279         * modules/unictype/property-zero-width: New file.
53280         * modules/unictype/property-space: New file.
53281         * modules/unictype/property-non-break: New file.
53282         * modules/unictype/property-iso-control: New file.
53283         * modules/unictype/property-format-control: New file.
53284         * modules/unictype/property-dash: New file.
53285         * modules/unictype/property-hyphen: New file.
53286         * modules/unictype/property-punctuation: New file.
53287         * modules/unictype/property-line-separator: New file.
53288         * modules/unictype/property-paragraph-separator: New file.
53289         * modules/unictype/property-quotation-mark: New file.
53290         * modules/unictype/property-sentence-terminal: New file.
53291         * modules/unictype/property-terminal-punctuation: New file.
53292         * modules/unictype/property-currency-symbol: New file.
53293         * modules/unictype/property-math: New file.
53294         * modules/unictype/property-other-math: New file.
53295         * modules/unictype/property-paired-punctuation: New file.
53296         * modules/unictype/property-left-of-pair: New file.
53297         * modules/unictype/property-combining: New file.
53298         * modules/unictype/property-composite: New file.
53299         * modules/unictype/property-decimal-digit: New file.
53300         * modules/unictype/property-numeric: New file.
53301         * modules/unictype/property-diacritic: New file.
53302         * modules/unictype/property-extender: New file.
53303         * modules/unictype/property-ignorable-control: New file.
53304         * modules/unictype/property-test: New file.
53305         * modules/unictype/property-byname: New file.
53306         * modules/unictype/property-all: New file.
53307         * modules/unictype/scripts: New file.
53308         * modules/unictype/scripts-all: New file.
53309         * modules/unictype/block-of: New file.
53310         * modules/unictype/block-test: New file.
53311         * modules/unictype/block-list: New file.
53312         * modules/unictype/block-all: New file.
53313         * modules/unictype/syntax-c-whitespace: New file.
53314         * modules/unictype/syntax-java-whitespace: New file.
53315         * modules/unictype/syntax-c-ident: New file.
53316         * modules/unictype/syntax-java-ident: New file.
53317         * modules/unictype/ctype-alnum: New file.
53318         * modules/unictype/ctype-alpha: New file.
53319         * modules/unictype/ctype-cntrl: New file.
53320         * modules/unictype/ctype-digit: New file.
53321         * modules/unictype/ctype-graph: New file.
53322         * modules/unictype/ctype-lower: New file.
53323         * modules/unictype/ctype-print: New file.
53324         * modules/unictype/ctype-punct: New file.
53325         * modules/unictype/ctype-space: New file.
53326         * modules/unictype/ctype-upper: New file.
53327         * modules/unictype/ctype-xdigit: New file.
53328         * modules/unictype/ctype-blank: New file.
53329         * lib/unictype/bidi_byname.c: New file.
53330         * lib/unictype/bidi_name.c: New file.
53331         * lib/unictype/bidi_of.c: New file.
53332         * lib/unictype/bidi_test.c: New file.
53333         * lib/unictype/bitmap.h: New file.
53334         * lib/unictype/block_test.c: New file.
53335         * lib/unictype/blocks.c: New file.
53336         * lib/unictype/categ_C.c: New file.
53337         * lib/unictype/categ_Cc.c: New file.
53338         * lib/unictype/categ_Cf.c: New file.
53339         * lib/unictype/categ_Cn.c: New file.
53340         * lib/unictype/categ_Co.c: New file.
53341         * lib/unictype/categ_Cs.c: New file.
53342         * lib/unictype/categ_L.c: New file.
53343         * lib/unictype/categ_Ll.c: New file.
53344         * lib/unictype/categ_Lm.c: New file.
53345         * lib/unictype/categ_Lo.c: New file.
53346         * lib/unictype/categ_Lt.c: New file.
53347         * lib/unictype/categ_Lu.c: New file.
53348         * lib/unictype/categ_M.c: New file.
53349         * lib/unictype/categ_Mc.c: New file.
53350         * lib/unictype/categ_Me.c: New file.
53351         * lib/unictype/categ_Mn.c: New file.
53352         * lib/unictype/categ_N.c: New file.
53353         * lib/unictype/categ_Nd.c: New file.
53354         * lib/unictype/categ_Nl.c: New file.
53355         * lib/unictype/categ_No.c: New file.
53356         * lib/unictype/categ_P.c: New file.
53357         * lib/unictype/categ_Pc.c: New file.
53358         * lib/unictype/categ_Pd.c: New file.
53359         * lib/unictype/categ_Pe.c: New file.
53360         * lib/unictype/categ_Pf.c: New file.
53361         * lib/unictype/categ_Pi.c: New file.
53362         * lib/unictype/categ_Po.c: New file.
53363         * lib/unictype/categ_Ps.c: New file.
53364         * lib/unictype/categ_S.c: New file.
53365         * lib/unictype/categ_Sc.c: New file.
53366         * lib/unictype/categ_Sk.c: New file.
53367         * lib/unictype/categ_Sm.c: New file.
53368         * lib/unictype/categ_So.c: New file.
53369         * lib/unictype/categ_Z.c: New file.
53370         * lib/unictype/categ_Zl.c: New file.
53371         * lib/unictype/categ_Zp.c: New file.
53372         * lib/unictype/categ_Zs.c: New file.
53373         * lib/unictype/categ_and.c: New file.
53374         * lib/unictype/categ_and_not.c: New file.
53375         * lib/unictype/categ_byname.c: New file.
53376         * lib/unictype/categ_name.c: New file.
53377         * lib/unictype/categ_none.c: New file.
53378         * lib/unictype/categ_of.c: New file.
53379         * lib/unictype/categ_or.c: New file.
53380         * lib/unictype/categ_test.c: New file.
53381         * lib/unictype/combining.c: New file.
53382         * lib/unictype/ctype_alnum.c: New file.
53383         * lib/unictype/ctype_alpha.c: New file.
53384         * lib/unictype/ctype_blank.c: New file.
53385         * lib/unictype/ctype_cntrl.c: New file.
53386         * lib/unictype/ctype_digit.c: New file.
53387         * lib/unictype/ctype_graph.c: New file.
53388         * lib/unictype/ctype_lower.c: New file.
53389         * lib/unictype/ctype_print.c: New file.
53390         * lib/unictype/ctype_punct.c: New file.
53391         * lib/unictype/ctype_space.c: New file.
53392         * lib/unictype/ctype_upper.c: New file.
53393         * lib/unictype/ctype_xdigit.c: New file.
53394         * lib/unictype/decdigit.c: New file.
53395         * lib/unictype/digit.c: New file.
53396         * lib/unictype/identsyntaxmap.h: New file.
53397         * lib/unictype/mirror.c: New file.
53398         * lib/unictype/numeric.c: New file.
53399         * lib/unictype/pr_alphabetic.c: New file.
53400         * lib/unictype/pr_ascii_hex_digit.c: New file.
53401         * lib/unictype/pr_bidi_arabic_digit.c: New file.
53402         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
53403         * lib/unictype/pr_bidi_block_separator.c: New file.
53404         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
53405         * lib/unictype/pr_bidi_common_separator.c: New file.
53406         * lib/unictype/pr_bidi_control.c: New file.
53407         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
53408         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
53409         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
53410         * lib/unictype/pr_bidi_european_digit.c: New file.
53411         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
53412         * lib/unictype/pr_bidi_left_to_right.c: New file.
53413         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
53414         * lib/unictype/pr_bidi_other_neutral.c: New file.
53415         * lib/unictype/pr_bidi_pdf.c: New file.
53416         * lib/unictype/pr_bidi_segment_separator.c: New file.
53417         * lib/unictype/pr_bidi_whitespace.c: New file.
53418         * lib/unictype/pr_byname.c: New file.
53419         * lib/unictype/pr_byname.gperf: New file.
53420         * lib/unictype/pr_combining.c: New file.
53421         * lib/unictype/pr_composite.c: New file.
53422         * lib/unictype/pr_currency_symbol.c: New file.
53423         * lib/unictype/pr_dash.c: New file.
53424         * lib/unictype/pr_decimal_digit.c: New file.
53425         * lib/unictype/pr_default_ignorable_code_point.c: New file.
53426         * lib/unictype/pr_deprecated.c: New file.
53427         * lib/unictype/pr_diacritic.c: New file.
53428         * lib/unictype/pr_extender.c: New file.
53429         * lib/unictype/pr_format_control.c: New file.
53430         * lib/unictype/pr_grapheme_base.c: New file.
53431         * lib/unictype/pr_grapheme_extend.c: New file.
53432         * lib/unictype/pr_grapheme_link.c: New file.
53433         * lib/unictype/pr_hex_digit.c: New file.
53434         * lib/unictype/pr_hyphen.c: New file.
53435         * lib/unictype/pr_id_continue.c: New file.
53436         * lib/unictype/pr_id_start.c: New file.
53437         * lib/unictype/pr_ideographic.c: New file.
53438         * lib/unictype/pr_ids_binary_operator.c: New file.
53439         * lib/unictype/pr_ids_trinary_operator.c: New file.
53440         * lib/unictype/pr_ignorable_control.c: New file.
53441         * lib/unictype/pr_iso_control.c: New file.
53442         * lib/unictype/pr_join_control.c: New file.
53443         * lib/unictype/pr_left_of_pair.c: New file.
53444         * lib/unictype/pr_line_separator.c: New file.
53445         * lib/unictype/pr_logical_order_exception.c: New file.
53446         * lib/unictype/pr_lowercase.c: New file.
53447         * lib/unictype/pr_math.c: New file.
53448         * lib/unictype/pr_non_break.c: New file.
53449         * lib/unictype/pr_not_a_character.c: New file.
53450         * lib/unictype/pr_numeric.c: New file.
53451         * lib/unictype/pr_other_alphabetic.c: New file.
53452         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
53453         * lib/unictype/pr_other_grapheme_extend.c: New file.
53454         * lib/unictype/pr_other_id_continue.c: New file.
53455         * lib/unictype/pr_other_id_start.c: New file.
53456         * lib/unictype/pr_other_lowercase.c: New file.
53457         * lib/unictype/pr_other_math.c: New file.
53458         * lib/unictype/pr_other_uppercase.c: New file.
53459         * lib/unictype/pr_paired_punctuation.c: New file.
53460         * lib/unictype/pr_paragraph_separator.c: New file.
53461         * lib/unictype/pr_pattern_syntax.c: New file.
53462         * lib/unictype/pr_pattern_white_space.c: New file.
53463         * lib/unictype/pr_private_use.c: New file.
53464         * lib/unictype/pr_punctuation.c: New file.
53465         * lib/unictype/pr_quotation_mark.c: New file.
53466         * lib/unictype/pr_radical.c: New file.
53467         * lib/unictype/pr_sentence_terminal.c: New file.
53468         * lib/unictype/pr_soft_dotted.c: New file.
53469         * lib/unictype/pr_space.c: New file.
53470         * lib/unictype/pr_terminal_punctuation.c: New file.
53471         * lib/unictype/pr_test.c: New file.
53472         * lib/unictype/pr_titlecase.c: New file.
53473         * lib/unictype/pr_unassigned_code_value.c: New file.
53474         * lib/unictype/pr_unified_ideograph.c: New file.
53475         * lib/unictype/pr_uppercase.c: New file.
53476         * lib/unictype/pr_variation_selector.c: New file.
53477         * lib/unictype/pr_white_space.c: New file.
53478         * lib/unictype/pr_xid_continue.c: New file.
53479         * lib/unictype/pr_xid_start.c: New file.
53480         * lib/unictype/pr_zero_width.c: New file.
53481         * lib/unictype/scripts.c: New file.
53482         * lib/unictype/sy_c_ident.c: New file.
53483         * lib/unictype/sy_c_whitespace.c: New file.
53484         * lib/unictype/sy_java_ident.c: New file.
53485         * lib/unictype/sy_java_whitespace.c: New file.
53486
53487         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53488         Unicode 5.0.0.
53489         * lib/unictype/blocks.h: Likewise.
53490         * lib/unictype/categ_C.h: Likewise.
53491         * lib/unictype/categ_Cc.h: Likewise.
53492         * lib/unictype/categ_Cf.h: Likewise.
53493         * lib/unictype/categ_Cn.h: Likewise.
53494         * lib/unictype/categ_Co.h: Likewise.
53495         * lib/unictype/categ_Cs.h: Likewise.
53496         * lib/unictype/categ_L.h: Likewise.
53497         * lib/unictype/categ_Ll.h: Likewise.
53498         * lib/unictype/categ_Lm.h: Likewise.
53499         * lib/unictype/categ_Lo.h: Likewise.
53500         * lib/unictype/categ_Lt.h: Likewise.
53501         * lib/unictype/categ_Lu.h: Likewise.
53502         * lib/unictype/categ_M.h: Likewise.
53503         * lib/unictype/categ_Mc.h: Likewise.
53504         * lib/unictype/categ_Me.h: Likewise.
53505         * lib/unictype/categ_Mn.h: Likewise.
53506         * lib/unictype/categ_N.h: Likewise.
53507         * lib/unictype/categ_Nd.h: Likewise.
53508         * lib/unictype/categ_Nl.h: Likewise.
53509         * lib/unictype/categ_No.h: Likewise.
53510         * lib/unictype/categ_P.h: Likewise.
53511         * lib/unictype/categ_Pc.h: Likewise.
53512         * lib/unictype/categ_Pd.h: Likewise.
53513         * lib/unictype/categ_Pe.h: Likewise.
53514         * lib/unictype/categ_Pf.h: Likewise.
53515         * lib/unictype/categ_Pi.h: Likewise.
53516         * lib/unictype/categ_Po.h: Likewise.
53517         * lib/unictype/categ_Ps.h: Likewise.
53518         * lib/unictype/categ_S.h: Likewise.
53519         * lib/unictype/categ_Sc.h: Likewise.
53520         * lib/unictype/categ_Sk.h: Likewise.
53521         * lib/unictype/categ_Sm.h: Likewise.
53522         * lib/unictype/categ_So.h: Likewise.
53523         * lib/unictype/categ_Z.h: Likewise.
53524         * lib/unictype/categ_Zl.h: Likewise.
53525         * lib/unictype/categ_Zp.h: Likewise.
53526         * lib/unictype/categ_Zs.h: Likewise.
53527         * lib/unictype/categ_of.h: Likewise.
53528         * lib/unictype/combining.h: Likewise.
53529         * lib/unictype/ctype_alnum.h: Likewise.
53530         * lib/unictype/ctype_alpha.h: Likewise.
53531         * lib/unictype/ctype_blank.h: Likewise.
53532         * lib/unictype/ctype_cntrl.h: Likewise.
53533         * lib/unictype/ctype_digit.h: Likewise.
53534         * lib/unictype/ctype_graph.h: Likewise.
53535         * lib/unictype/ctype_lower.h: Likewise.
53536         * lib/unictype/ctype_print.h: Likewise.
53537         * lib/unictype/ctype_punct.h: Likewise.
53538         * lib/unictype/ctype_space.h: Likewise.
53539         * lib/unictype/ctype_upper.h: Likewise.
53540         * lib/unictype/ctype_xdigit.h: Likewise.
53541         * lib/unictype/decdigit.h: Likewise.
53542         * lib/unictype/digit.h: Likewise.
53543         * lib/unictype/mirror.h: Likewise.
53544         * lib/unictype/numeric.h: Likewise.
53545         * lib/unictype/pr_alphabetic.h: Likewise.
53546         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
53547         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
53548         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
53549         * lib/unictype/pr_bidi_block_separator.h: Likewise.
53550         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
53551         * lib/unictype/pr_bidi_common_separator.h: Likewise.
53552         * lib/unictype/pr_bidi_control.h: Likewise.
53553         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
53554         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
53555         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
53556         * lib/unictype/pr_bidi_european_digit.h: Likewise.
53557         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
53558         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
53559         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
53560         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
53561         * lib/unictype/pr_bidi_pdf.h: Likewise.
53562         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
53563         * lib/unictype/pr_bidi_whitespace.h: Likewise.
53564         * lib/unictype/pr_combining.h: Likewise.
53565         * lib/unictype/pr_composite.h: Likewise.
53566         * lib/unictype/pr_currency_symbol.h: Likewise.
53567         * lib/unictype/pr_dash.h: Likewise.
53568         * lib/unictype/pr_decimal_digit.h: Likewise.
53569         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
53570         * lib/unictype/pr_deprecated.h: Likewise.
53571         * lib/unictype/pr_diacritic.h: Likewise.
53572         * lib/unictype/pr_extender.h: Likewise.
53573         * lib/unictype/pr_format_control.h: Likewise.
53574         * lib/unictype/pr_grapheme_base.h: Likewise.
53575         * lib/unictype/pr_grapheme_extend.h: Likewise.
53576         * lib/unictype/pr_grapheme_link.h: Likewise.
53577         * lib/unictype/pr_hex_digit.h: Likewise.
53578         * lib/unictype/pr_hyphen.h: Likewise.
53579         * lib/unictype/pr_id_continue.h: Likewise.
53580         * lib/unictype/pr_id_start.h: Likewise.
53581         * lib/unictype/pr_ideographic.h: Likewise.
53582         * lib/unictype/pr_ids_binary_operator.h: Likewise.
53583         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
53584         * lib/unictype/pr_ignorable_control.h: Likewise.
53585         * lib/unictype/pr_iso_control.h: Likewise.
53586         * lib/unictype/pr_join_control.h: Likewise.
53587         * lib/unictype/pr_left_of_pair.h: Likewise.
53588         * lib/unictype/pr_line_separator.h: Likewise.
53589         * lib/unictype/pr_logical_order_exception.h: Likewise.
53590         * lib/unictype/pr_lowercase.h: Likewise.
53591         * lib/unictype/pr_math.h: Likewise.
53592         * lib/unictype/pr_non_break.h: Likewise.
53593         * lib/unictype/pr_not_a_character.h: Likewise.
53594         * lib/unictype/pr_numeric.h: Likewise.
53595         * lib/unictype/pr_other_alphabetic.h: Likewise.
53596         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
53597         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
53598         * lib/unictype/pr_other_id_continue.h: Likewise.
53599         * lib/unictype/pr_other_id_start.h: Likewise.
53600         * lib/unictype/pr_other_lowercase.h: Likewise.
53601         * lib/unictype/pr_other_math.h: Likewise.
53602         * lib/unictype/pr_other_uppercase.h: Likewise.
53603         * lib/unictype/pr_paired_punctuation.h: Likewise.
53604         * lib/unictype/pr_paragraph_separator.h: Likewise.
53605         * lib/unictype/pr_pattern_syntax.h: Likewise.
53606         * lib/unictype/pr_pattern_white_space.h: Likewise.
53607         * lib/unictype/pr_private_use.h: Likewise.
53608         * lib/unictype/pr_punctuation.h: Likewise.
53609         * lib/unictype/pr_quotation_mark.h: Likewise.
53610         * lib/unictype/pr_radical.h: Likewise.
53611         * lib/unictype/pr_sentence_terminal.h: Likewise.
53612         * lib/unictype/pr_soft_dotted.h: Likewise.
53613         * lib/unictype/pr_space.h: Likewise.
53614         * lib/unictype/pr_terminal_punctuation.h: Likewise.
53615         * lib/unictype/pr_titlecase.h: Likewise.
53616         * lib/unictype/pr_unassigned_code_value.h: Likewise.
53617         * lib/unictype/pr_unified_ideograph.h: Likewise.
53618         * lib/unictype/pr_uppercase.h: Likewise.
53619         * lib/unictype/pr_variation_selector.h: Likewise.
53620         * lib/unictype/pr_white_space.h: Likewise.
53621         * lib/unictype/pr_xid_continue.h: Likewise.
53622         * lib/unictype/pr_xid_start.h: Likewise.
53623         * lib/unictype/pr_zero_width.h: Likewise.
53624         * lib/unictype/scripts.h: Likewise.
53625         * lib/unictype/scripts_byname.gperf: Likewise.
53626         * lib/unictype/sy_c_ident.h: Likewise.
53627         * lib/unictype/sy_c_whitespace.h: Likewise.
53628         * lib/unictype/sy_java_ident.h: Likewise.
53629         * lib/unictype/sy_java_whitespace.h: Likewise.
53630
53631         * lib/unictype/Makefile: New file.
53632         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
53633         glibc.
53634         * lib/unictype/3level.h: New file, copied from glibc.
53635         * lib/unictype/3levelbit.h: New file.
53636
53637 2007-11-11  Bruno Haible  <bruno@clisp.org>
53638
53639         * modules/gperf: New file.
53640         * modules/iconv_open (Depends-on): Add it.
53641         (Makefile.am): Remove the GPERF definition.
53642
53643 2007-11-11  Bruno Haible  <bruno@clisp.org>
53644
53645         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
53646         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
53647
53648 2007-11-11  Bruno Haible  <bruno@clisp.org>
53649
53650         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
53651         (usage): Remove function.
53652
53653 2007-11-11  Bruno Haible  <bruno@clisp.org>
53654
53655         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
53656         gl_FUNC_CEILF_LIBS.
53657         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
53658         gl_FUNC_CEIL_LIBS.
53659         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
53660         gl_FUNC_CEILL_LIBS.
53661         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
53662         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
53663         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
53664
53665 2007-11-11  Bruno Haible  <bruno@clisp.org>
53666
53667         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
53668         roundf were declared but do not exist on functions.
53669         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
53670         roundl were declared but do not exist on functions.
53671         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
53672         HAVE_FLOORL_AND_CEILL, respectively.
53673         Needed for Sun C on Solaris 10.
53674
53675 2007-11-11  Bruno Haible  <bruno@clisp.org>
53676
53677         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
53678         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
53679         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
53680         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
53681         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
53682         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
53683         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
53684         HAVE_DECL_ROUNDF.
53685         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
53686         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
53687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
53688         of HAVE_DECL_ROUND*.
53689         * modules/math (Makefile.am): Update.
53690
53691 2007-11-10  Bruno Haible  <bruno@clisp.org>
53692
53693         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
53694         ptrdiff_t as m4/intl.m4.
53695
53696 2007-11-10  Jim Meyering  <meyering@redhat.com>
53697
53698         Avoid link failure for the argmatch test.
53699         * tests/test-argmatch.c (usage): Define function to avoid a link
53700         failure: argmatch_die requires a usage function.
53701
53702 2007-11-09  Bruno Haible  <bruno@clisp.org>
53703
53704         * doc/functions/snprintf.texi: Mention BeOS deficiency.
53705         * doc/functions/vsnprintf.texi: Likewise.
53706         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
53707         with a size argument < 2.
53708
53709 2007-11-09  Bruno Haible  <bruno@clisp.org>
53710
53711         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
53712         buffer. Fixes an inefficiency introduced on 2007-11-03.
53713
53714 2007-11-09  Bruno Haible  <bruno@clisp.org>
53715
53716         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
53717         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
53718
53719 2007-11-08  Jim Meyering  <meyering@redhat.com>
53720
53721         Change cache variable name prefix "jm_" to "gl_" everywhere.
53722         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
53723         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
53724         * m4/uptime.m4: s/gl_/jm_/
53725
53726 2007-11-07  Bruno Haible  <bruno@clisp.org>
53727
53728         Update to GNU gettext 0.17.
53729         * m4/intl.m4: Update to GNU gettext 0.17.
53730         * m4/po.m4: Likewise.
53731         * modules/gettext (Files): Remove m4/ulonglong.m4.
53732         (configure.ac): Require gettext infrastructure from version 0.17.
53733
53734 2007-11-06  Bruno Haible  <bruno@clisp.org>
53735
53736         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
53737         symbolic values are not defined in a public header.
53738         * lib/freadable.c (freadable) [QNX]: Likewise.
53739         * lib/freadahead.c (freadahead) [QNX]: Likewise.
53740         * lib/freading.c (freading) [QNX]: Likewise.
53741         * lib/fseterr.c (fseterr) [QNX]: Likewise.
53742         * lib/fwritable.c (fwritable) [QNX]: Likewise.
53743         * lib/fwriting.c (fwriting) [QNX]: Likewise.
53744         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
53745         Reported by Alain Magloire.
53746
53747         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
53748
53749 2007-11-05  Bruno Haible  <bruno@clisp.org>
53750
53751         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
53752         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
53753         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
53754         Reported by Eric Blake.
53755
53756 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53757             Bruno Haible  <bruno@clisp.org>
53758
53759         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
53760         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
53761         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
53762         (malloc): Undefine also before including <stdlib.h>.
53763         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
53764         Needed on OSF/1 4.0.
53765
53766 2007-11-05  Jim Meyering  <meyering@redhat.com>
53767
53768         git-version-gen: sync from coreutils.
53769         * build-aux/git-version-gen: Add comments.
53770         Change the first '-' to '.' in the snapshot version string,
53771         e.g., 6.9-377-08144 -> 6.9.377-08144
53772         Remove first parameter.
53773         Don't declare a version "-dirty" merely because a time
53774         stamp has changed.
53775
53776 2007-11-04  Bruno Haible  <bruno@clisp.org>
53777
53778         * lib/lock.h: Protect all macro definitions containing an 'if'
53779         statement through a "do { ... } while (0)".
53780         * lib/tls.h: Likewise.
53781
53782 2007-11-04  Bruno Haible  <bruno@clisp.org>
53783
53784         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
53785
53786 2007-11-04  Bruno Haible  <bruno@clisp.org>
53787
53788         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
53789         * modules/fprintf-posix (Depends-on): Add nocrash.
53790         * modules/snprintf-posix (Depends-on): Likewise.
53791         * modules/sprintf-posix (Depends-on): Likewise.
53792         * modules/vasnprintf-posix (Depends-on): Likewise.
53793         * modules/vasprintf-posix (Depends-on): Likewise.
53794         * modules/vfprintf-posix (Depends-on): Likewise.
53795         * modules/vsnprintf-posix (Depends-on): Likewise.
53796         * modules/vsprintf-posix (Depends-on): Likewise.
53797         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53798         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53799         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53800         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53801         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53802         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53803         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53804
53805 2007-11-04  Bruno Haible  <bruno@clisp.org>
53806
53807         * modules/nocrash: New file.
53808         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
53809         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
53810
53811 2007-11-04  Bruno Haible  <bruno@clisp.org>
53812
53813         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
53814         precision handling.
53815         * tests/test-vasprintf-posix.c (test_function): Likewise.
53816         * tests/test-snprintf-posix.h (test_function): Likewise.
53817         * tests/test-sprintf-posix.h (test_function): Likewise.
53818
53819         Fix *printf behaviour for large precisions on mingw and BeOS.
53820         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
53821         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
53822         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
53823         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53824         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53825         gl_PRINTF_PRECISION and test its result. Invoke
53826         gl_PREREQ_VASNPRINTF_PRECISION.
53827         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53828         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53829         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53830         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53831         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53832         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53833         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53834         * doc/functions/fprintf.texi: Update.
53835         * doc/functions/printf.texi: Update.
53836         * doc/functions/snprintf.texi: Update.
53837         * doc/functions/sprintf.texi: Update.
53838         * doc/functions/vfprintf.texi: Update.
53839         * doc/functions/vprintf.texi: Update.
53840         * doc/functions/vsnprintf.texi: Update.
53841         * doc/functions/vsprintf.texi: Update.
53842
53843 2007-11-04  Bruno Haible  <bruno@clisp.org>
53844
53845         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
53846
53847 2007-11-04  Bruno Haible  <bruno@clisp.org>
53848
53849         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
53850         Reported by Sylvain Beucler <beuc@gnu.org>.
53851
53852 2007-11-03  Bruno Haible  <bruno@clisp.org>
53853
53854         * tests/test-fprintf-posix2.sh: New file.
53855         * tests/test-fprintf-posix2.c: New file.
53856         * modules/fprintf-posix-tests (Files): Add them.
53857         (TESTS): Add test-fprintf-posix2.sh.
53858         (configure.ac): Check for getrlimit and setrlimit.
53859         (check_PROGRAMS): Add test-fprintf-posix2.
53860
53861         * tests/test-printf-posix2.sh: New file.
53862         * tests/test-printf-posix2.c: New file.
53863         * modules/printf-posix-tests (Files): Add them.
53864         (TESTS): Add test-printf-posix2.sh.
53865         (configure.ac): Check for getrlimit and setrlimit.
53866         (check_PROGRAMS): Add test-printf-posix2.
53867
53868         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
53869         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
53870         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
53871         (decode_double): New function, copied from decode_long_double.
53872         (scale10_round_decimal_decoded): New function, extracted from
53873         scale10_round_decimal_long_double.
53874         (scale10_round_decimal_long_double): Use it.
53875         (scale10_round_decimal_double): New function.
53876         (floorlog10): New function.
53877         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
53878         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
53879         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53880         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53881         gl_PRINTF_ENOMEM and test its result. Invoke
53882         gl_PREREQ_VASNPRINTF_ENOMEM.
53883         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53884         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53885         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53886         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53887         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53888         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53889         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53890         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
53891         * modules/snprintf-posix (Depends-on): Likewise.
53892         * modules/sprintf-posix (Depends-on): Likewise.
53893         * modules/vasnprintf-posix (Depends-on): Likewise.
53894         * modules/vasprintf-posix (Depends-on): Likewise.
53895         * modules/vfprintf-posix (Depends-on): Likewise.
53896         * modules/vsnprintf-posix (Depends-on): Likewise.
53897         * modules/vsprintf-posix (Depends-on): Likewise.
53898         * doc/functions/fprintf.texi: Update.
53899         * doc/functions/printf.texi: Update.
53900         * doc/functions/snprintf.texi: Update.
53901         * doc/functions/sprintf.texi: Update.
53902         * doc/functions/vfprintf.texi: Update.
53903         * doc/functions/vprintf.texi: Update.
53904         * doc/functions/vsnprintf.texi: Update.
53905         * doc/functions/vsprintf.texi: Update.
53906
53907 2007-11-03  Bruno Haible  <bruno@clisp.org>
53908
53909         * modules/frexp-nolibm-tests: New file.
53910
53911         * modules/frexp-nolibm: New file.
53912         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
53913
53914 2007-11-03  Bruno Haible  <bruno@clisp.org>
53915
53916         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
53917         value is C99 compliant.
53918         Needed for OSF/1 5.1.
53919
53920 2007-11-03  Bruno Haible  <bruno@clisp.org>
53921
53922         Fix out-of-memory handling of vasnprintf.
53923         * lib/printf-parse.c: Include <errno.h>.
53924         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
53925         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
53926         is already set.
53927
53928 2007-11-02  Eric Blake  <ebb9@byu.net>
53929
53930         Fix tests on cygwin.
53931         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
53932
53933 2007-11-01  Bruno Haible  <bruno@clisp.org>
53934
53935         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
53936         warning.
53937         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
53938         needed for POSIX compatibility.
53939
53940 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
53941
53942         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
53943         for compatibility with GNU.
53944
53945 2007-11-01  Bruno Haible  <bruno@clisp.org>
53946
53947         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
53948         (putenv): Renamed from rpl_putenv. Change argument type from
53949         'const char *' to 'char *'.
53950         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
53951         of defining putenv in config.h, just set REPLACE_PUTENV.
53952         * modules/putenv (Depends-on): Add stdlib.
53953         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53954         (Include): Use <stdlib.h>.
53955         * lib/stdlib.in.h (putenv): New declaration.
53956         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
53957         REPLACE_PUTENV.
53958         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
53959         REPLACE_PUTENV.
53960         Needed for MacOS X 10.5.0.
53961         Reported by Peter O'Gorman <peter@pogma.com>.
53962
53963 2007-11-01  Jim Meyering  <meyering@redhat.com>
53964
53965         Treat an empty date string exactly like "0".
53966         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
53967         if the remaining date string (to be parsed) is empty, use "0".
53968         Reported by Mischa Molhoek and discussed in this thread:
53969         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
53970
53971 2007-10-31  Bruno Haible  <bruno@clisp.org>
53972
53973         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
53974         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
53975         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
53976         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
53977         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
53978         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
53979
53980 2007-10-31  Bruno Haible  <bruno@clisp.org>
53981
53982         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
53983         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
53984         (AC_TYPE_LONG_LONG_INT): Use it.
53985         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
53986         it as well.
53987         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
53988         to m4/longlong.m4.
53989         * modules/stdint (Files): Remove m4/ulonglong.m4.
53990         * modules/strtoull (Files): Use m4/longlong.m4 instead of
53991         m4/ulonglong.m4.
53992         * modules/strtoumax (Files): Likewise.
53993
53994 2007-10-30  Bruno Haible  <bruno@clisp.org>
53995
53996         * modules/xvasprintf-posix: New file.
53997         Suggested by Eric Blake.
53998
53999 2007-10-30  Bruno Haible  <bruno@clisp.org>
54000
54001         * modules/xprintf-posix-tests: New file.
54002         * tests/test-xprintf-posix.sh: New file.
54003         * tests/test-xprintf-posix.c: New file.
54004         * tests/test-xfprintf-posix.c: New file.
54005
54006         * modules/xprintf-posix: New file.
54007
54008 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54009
54010         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
54011         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
54012         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
54013
54014 2007-10-29  Bruno Haible  <bruno@clisp.org>
54015
54016         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
54017         contain the special marker '_cv_'.
54018         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
54019         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
54020         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
54021         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
54022         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
54023         Reported by Ralf Wildenhues.
54024
54025 2007-10-29  Bruno Haible  <bruno@clisp.org>
54026
54027         * gnulib-tool (func_import): When --lgpl is not specified, set
54028         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
54029         GPLv3.
54030         Reported by Simon Josefsson.
54031
54032 2007-10-28  Bruno Haible  <bruno@clisp.org>
54033
54034         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
54035         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
54036         HAVE_DECL_ISFINITE.
54037         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54038         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
54039         HAVE_DECL_ISFINITE.
54040
54041 2007-10-28  Bruno Haible  <bruno@clisp.org>
54042
54043         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
54044         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
54045
54046 2007-10-28  Bruno Haible  <bruno@clisp.org>
54047
54048         Fix link errors with Sun C 5.0 on Solaris 10.
54049         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
54050         function is declared but not present in the compiler's libm.
54051         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
54052         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
54053         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
54054         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
54055         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
54056         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
54057         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
54058         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54059         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
54060         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
54061         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
54062         HAVE_DECL_FLOORL.
54063
54064 2007-10-28  Bruno Haible  <bruno@clisp.org>
54065
54066         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
54067         gl_FUNC_FLOORL. Cache the result.
54068         (gl_FUNC_FLOORL): Use it.
54069         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
54070         gl_FUNC_CEILL. Cache the result.
54071         (gl_FUNC_CEILL): Use it.
54072
54073         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
54074         gl_FUNC_FLOOR. Cache the result.
54075         (gl_FUNC_FLOOR): Use it.
54076         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
54077         gl_FUNC_CEIL. Cache the result.
54078         (gl_FUNC_CEIL): Use it.
54079
54080         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
54081         gl_FUNC_FLOORF. Cache the result.
54082         (gl_FUNC_FLOORF): Use it.
54083         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
54084         gl_FUNC_CEILF. Cache the result.
54085         (gl_FUNC_CEILF): Use it.
54086
54087 2007-10-28  Bruno Haible  <bruno@clisp.org>
54088
54089         * gnulib-tool: Allow specifying the LGPL version number through
54090         --lgpl=2 or --lgpl=3.
54091         (func_usage): Document --lgpl with argument.
54092         Handle --lgpl=... arguments.
54093         (func_import): Recognize also gl_LGPL calls with an argument. When
54094         --lgpl=2 is used and the module's license is just LGPL, report an
54095         error. Set sed_transform_lib_file according to the lgpl variable. In
54096         the generated files, use --lgpl or gl_LGPL invocations with argument,
54097         if necessary.
54098         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
54099         an LGPv2+ license.
54100         * doc/gnulib-tool.texi (Modified imports): Update explanation of
54101         gl_LGPL macro.
54102
54103 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54104             Bruno Haible  <bruno@clisp.org>
54105
54106         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
54107         (u16_uctomb_aux): Likewise.
54108         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
54109         !HAVE_INLINE.
54110         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
54111
54112 2007-10-28  Bruno Haible  <bruno@clisp.org>
54113
54114         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
54115         Invoke AM_GETTEXT_OPTION if it exists.
54116         * modules/vasprintf: Likewise.
54117         * modules/verror: Likewise.
54118         * modules/xprintf: Likewise.
54119         * modules/xvasprintf: Likewise.
54120
54121 2007-10-27  Ben Pfaff  <blp@gnu.org>
54122
54123         * lib/math.in.h: Define isfinite macro and prototypes for
54124         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
54125         implementations.
54126         * m4/math_h.m4: New substitutions for isfinite module.
54127         * lib/isfinite.c: New file.
54128         * m4/isfinite.m4: New file.
54129         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
54130         * modules/isfinite: New file.
54131         * modules/isfinite-tests: New file.
54132         * tests/tests-isfinite.c: New file.
54133         * doc/functions/isfinite.texi: Mention isfinite module.
54134         * MODULES.html.sh: Mention new module.
54135
54136 2007-10-27  Ben Pfaff  <blp@gnu.org>
54137
54138         Ralf Wildenhues reported that Tru64 4.0D declares the round
54139         functions but does not have definitions.
54140         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
54141         cannot be found in any library, set the output variable to
54142         "missing" instead of "".
54143         * m4/round.m4: Also use our substitute if we cannot find round in
54144         any library, even if it is declared.
54145         * m4/roundf.m4: Likewise for roundf.
54146         * m4/roundl.m4: Likewise for roundl.
54147         * lib/math.in.h: Undefine roundf, round, roundl before defining
54148         their replacements, to allow for hypothetical systems where these
54149         may be defined as macros but not available in libraries.
54150
54151 2007-10-27  Bruno Haible  <bruno@clisp.org>
54152
54153         * doc/gnulib.texi: Invoke @firstparagraphindent.
54154         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
54155         changes in gnulib.
54156         (Source changes): New section.
54157
54158 2007-10-26  Bruno Haible  <bruno@clisp.org>
54159
54160         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
54161         borrowed from autoconf.
54162
54163 2007-10-26  Bruno Haible  <bruno@clisp.org>
54164
54165         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
54166         strerror returned the empty string. Needed on HP-UX 11.00.
54167
54168 2007-10-24  Micah Cowan  <micah@cowan.name>
54169
54170         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
54171         * build-aux/bootstrap: Remove support for now-unnecessary option,
54172         --cvs-user, and envvars CVS_USER, CVS_RSH.
54173
54174 2007-10-24  Jim Meyering  <meyering@redhat.com>
54175
54176         Avoid diagnostics from sha1sum when there is no cached checksum.
54177         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
54178         if the po.s1 file hasn't been created yet.
54179
54180         * build-aux/bootstrap: Sync from coreutils:
54181         2007-10-24  Jim Meyering  <meyering@redhat.com>
54182         Get gnulib from the git repository, not from an obsolete cvs one.
54183         * build-aux/bootstrap: Suggestion from Micah Cowan.
54184         2007-10-04  Jim Meyering  <jim@meyering.net>
54185         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
54186         (update_po_files): Work also when there are no .po files in po/.
54187
54188 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54189
54190         * README: Append ".git" to git and cg examples.
54191         Problem reported by Benoit Sigoure.
54192
54193 2007-10-23  Micah Cowan  <micah@cowan.name>
54194
54195         * users.txt: Add wget.
54196
54197 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54198
54199         Fix linking of some unistdio tests on FreeBSD.
54200         * modules/unistdio/u16-vsnprintf-tests
54201         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
54202         * modules/unistdio/u16-vsprintf-tests
54203         (test_u16_vsnprintf1_LDADD): Likewise.
54204         * modules/unistdio/u32-vsnprintf-tests
54205         (test_u32_vsnprintf1_LDADD): Likewise.
54206         * modules/unistdio/u32-vsprintf-tests
54207         (test_u32_vsprintf1_LDADD): Likewise.
54208         * modules/unistdio/u8-vsnprintf-tests
54209         (test_u8_vsnprintf1_LDADD): Likewise.
54210         * modules/unistdio/u8-vsprintf-tests
54211         (test_u8_vsprintf1_LDADD): Likewise.
54212         * modules/unistdio/ulc-vsnprintf-tests
54213         (test_ulc_vsnprintf1_LDADD): Likewise.
54214         * modules/unistdio/ulc-vsprintf-tests
54215         (test_ulc_vsprintf1_LDADD): Likewise.
54216
54217         Fix linking of some uniconv tests on FreeBSD.
54218         * modules/uniconv/u16-conv-from-enc-tests
54219         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
54220         * modules/uniconv/u16-conv-to-enc-tests
54221         (test_u16_conv_to_enc_LDADD): Likewise.
54222         * modules/uniconv/u16-strconv-from-enc-tests
54223         (test_u16_strconv_from_enc_LDADD): Likewise.
54224         * modules/uniconv/u16-strconv-to-enc-tests
54225         (test_u16_strconv_to_enc_LDADD): Likewise.
54226         * modules/uniconv/u32-conv-from-enc-tests
54227         (test_u32_conv_from_enc_LDADD): Likewise.
54228         * modules/uniconv/u32-conv-to-enc-tests
54229         (test_u32_conv_to_enc_LDADD): Likewise.
54230         * modules/uniconv/u32-strconv-from-enc-tests
54231         (test_u32_strconv_from_enc_LDADD): Likewise.
54232         * modules/uniconv/u32-strconv-to-enc-tests
54233         (test_u32_strconv_to_enc_LDADD): Likewise.
54234         * modules/uniconv/u8-conv-from-enc-tests
54235         (test_u8_conv_from_enc_LDADD): Likewise.
54236         * modules/uniconv/u8-conv-to-enc-tests
54237         (test_u8_conv_to_enc_LDADD): Likewise.
54238         * modules/uniconv/u8-strconv-from-enc-tests
54239         (test_u8_strconv_from_enc_LDADD): Likewise.
54240         * modules/uniconv/u8-strconv-to-enc-tests
54241         (test_u8_strconv_to_enc_LDADD): Likewise.
54242
54243 2007-10-22  Bruno Haible  <bruno@clisp.org>
54244
54245         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
54246         size.
54247
54248 2007-10-22  Eric Blake  <ebb9@byu.net>
54249
54250         Tweak x*printf documentation.
54251         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
54252         variable name and comments.
54253         Suggested by Bruno Haible.
54254
54255 2007-10-22  Bruno Haible  <bruno@clisp.org>
54256
54257         * lib/acl.c (copy_acl): Fix file name in comment.
54258
54259 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54260
54261         Fix Tru64 problem with stdbool.h.
54262         * lib/stdbool.in.h (false, true):
54263         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
54264         Don't declare as an enum in this situation; it runs afoul of Tru64.
54265         Problem reported by Steven M. Schweda in
54266         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
54267
54268 2007-10-22  Eric Blake  <ebb9@byu.net>
54269
54270         Also wrap vf?printf.
54271         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
54272         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
54273         (xvprintf, xvfprintf): New functions.
54274
54275 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54276
54277         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
54278         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
54279
54280         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
54281         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
54282
54283 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54284
54285         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
54286         by Bruno Haible.
54287
54288 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54289
54290         * lib/getloadavg.c
54291         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
54292         Undef `sys' after including sys/table.h, for Tru64 4.0D.
54293
54294         * tests/test-i-ring.c: Work for C89.
54295
54296 2007-10-22  Bruno Haible  <bruno@clisp.org>
54297
54298         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
54299         -1u, in preprocessor expression, so that we don't test for the bug
54300         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
54301         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
54302
54303 2007-10-22  Eric Blake  <ebb9@byu.net>
54304
54305         * tests/test-yesno.sh: Silence stderr during test.
54306
54307 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54308
54309         * modules/crypto/gc-camellia: New file.
54310
54311         * m4/gc-camellia.m4: New file.
54312
54313         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
54314
54315         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
54316
54317 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54318
54319         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
54320         --help to stdout.  Reported by sms@antinode.org (Steven
54321         M. Schweda).
54322
54323 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54324
54325         * users.txt: Fix link to libksba.
54326
54327 2007-10-21  Ben Pfaff  <blp@gnu.org>
54328
54329         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
54330         round.c roundf implementation that depends on floorf and ceilf to
54331         be tested unconditionally.
54332
54333 2007-10-21  Ben Pfaff  <blp@gnu.org>
54334
54335         * m4/check-libm-func.m4: Removed.
54336         * m4/check-math-lib.m4: New file.
54337         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
54338         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
54339         definition and lack of AC_LIBOBJ([roundf]).
54340         * m4/roundl.m4: Ditto, and similarly for roundl.
54341         * modules/round: Reference new m4 file.
54342         * modules/roundf: Ditto.
54343         * modules/roundl: Ditto.
54344         * tests/test-round2.c (main): Use ROUND instead of round.
54345         Bug report from Bruno Haible.
54346
54347 2007-10-21  Bruno Haible  <bruno@clisp.org>
54348
54349         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
54350         context.
54351
54352 2007-10-21  Bruno Haible  <bruno@clisp.org>
54353
54354         * tests/test-wcwidth.c (main): Allow negative result for some control
54355         characters.
54356
54357         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
54358         Needed on OSF/1 5.1.
54359
54360 2007-10-21  Bruno Haible  <bruno@clisp.org>
54361
54362         * tests/test-floorf1.c: Include isnanf.h.
54363         (main): Use isnanf() instead of isnan().
54364         * tests/test-ceilf1.c: Include isnanf.h.
54365         (main): Use isnanf() instead of isnan().
54366         * tests/test-truncf1.c: Include isnanf.h.
54367         (main): Use isnanf() instead of isnan().
54368         * tests/test-roundf1.c: Include isnanf.h.
54369         (main): Use isnanf() instead of isnan().
54370
54371 2007-10-21  Eric Blake  <ebb9@byu.net>
54372
54373         * users.txt: Update URL for m4.
54374
54375 2007-10-21  Bruno Haible  <bruno@clisp.org>
54376
54377         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
54378
54379 2007-10-21  Bruno Haible  <bruno@clisp.org>
54380
54381         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
54382         Git's management files if the CVS files are not present.
54383
54384 2007-10-20  Bruno Haible  <bruno@clisp.org>
54385
54386         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
54387         gcc-3.4.x.
54388
54389 2007-10-20  Ben Pfaff  <blp@gnu.org>
54390
54391         * lib/math.in.h: Declare round, roundf, roundl if we are providing
54392         implementations.
54393         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
54394         * lib/round.c: New file.
54395         * lib/roundf.c: New file.
54396         * lib/roundl.c: New file.
54397         * m4/round.m4: New file.
54398         * m4/roundf.m4: New file.
54399         * m4/roundl.m4: New file.
54400         * m4/check-libm-func-m4: New file.
54401         * modules/math: Replace round, roundf, roundl related @VARS@ in
54402         math.in.h.
54403         * modules/round: New file.
54404         * modules/round-tests: New file.
54405         * modules/roundf: New file.
54406         * modules/roundf-tests: New file.
54407         * modules/roundl: New file.
54408         * modules/roundl-tests: New file.
54409         * tests/test-round1.c: New file.
54410         * tests/test-round2.c: New file.
54411         * tests/test-roundf1.c: New file.
54412         * tests/test-roundf2.c: New file.
54413         * tests/test-roundl.c: New file.
54414         * doc/functions/round.texi: Mention round module.
54415         * doc/functions/roundf.texi: Mention roundf module.
54416         * doc/functions/roundl.texi: Mention roundl module.
54417         * MODULES.html.sh: Mention new modules.
54418         Thanks to Bruno Haible for suggestions.
54419
54420 2007-10-20  Jim Meyering  <meyering@redhat.com>
54421
54422         * lib/xprintf.c: Include <config.h> unconditionally.
54423
54424         Change xprintf's license to GPL.
54425         * modules/xprintf (License): s/LGPL/GPL/, since this module
54426         depends on modules (exit and exitfail) which are GPL.
54427         Suggestion from Bruno Haible.
54428
54429         xprintf fixes.
54430         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
54431         Use a clearer diagnostic.
54432         Patch from Bruno Haible.
54433
54434 2007-10-20  Bruno Haible  <bruno@clisp.org>
54435
54436         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
54437         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
54438         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54439
54440 2007-10-20  Bruno Haible  <bruno@clisp.org>
54441
54442         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54443         precision in the comparison result > x - 1 or similar.
54444         * tests/test-ceilf2.c (correct_result_p): Likewise.
54445         * tests/test-truncf2.c (correct_result_p): Likewise.
54446         * tests/test-trunc2.c (correct_result_p): Likewise.
54447         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54448
54449 2007-10-20  Bruno Haible  <bruno@clisp.org>
54450
54451         * modules/ceil: New file.
54452         * m4/ceil.m4: New file.
54453         * doc/functions/ceil.texi: Mention the 'ceil' module.
54454
54455 2007-10-20  Bruno Haible  <bruno@clisp.org>
54456
54457         * modules/floor: New file.
54458         * m4/floor.m4: New file.
54459         * doc/functions/floor.texi: Mention the 'floor' module.
54460
54461 2007-10-20  Bruno Haible  <bruno@clisp.org>
54462
54463         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54464         of %a.
54465         * modules/floorf-tests (Depends-on): Likewise.
54466         * modules/truncf-tests (Depends-on): Likewise.
54467         * modules/trunc-tests (Depends-on): Likewise.
54468         Reported by Ben Pfaff.
54469
54470 2007-10-19  Jim Meyering  <meyering@redhat.com>
54471
54472         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54473         Don't bother testing specific errno values.  Just test ferror.
54474
54475         New module: xprintf
54476         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54477
54478 2007-10-19  Bruno Haible  <bruno@clisp.org>
54479
54480         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54481         syntax.
54482         * modules/javaexec (Makefile.am): Likewise.
54483         * modules/relocatable-prog (Makefile.am): Likewise.
54484         Suggested by Jim Meyering.
54485
54486 2007-10-18  Bruno Haible  <bruno@clisp.org>
54487
54488         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54489         Reported by Jim Meyering.
54490
54491 2007-10-18  Eric Blake  <ebb9@byu.net>
54492
54493         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54494
54495 2007-10-18  Bruno Haible  <bruno@clisp.org>
54496
54497         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54498         the format string into writable memory. Needed in Fortify conditions.
54499
54500 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54501             Bruno Haible  <bruno@clisp.org>
54502
54503         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54504         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54505         * modules/trim (Depends-on): Add mbchar.
54506         (configure.ac): Add gl_FUNC_MBRTOWC.
54507         (Makefile.am): Augment lib_SOURCES.
54508
54509 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54510
54511         Modify glob.c to use fstatat and dirfd, to simplify it.
54512         Suggested by Eric Blake.
54513         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54514         Don't include <stdbool.h>; not used.
54515         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54516         (link_exists_p): Simplify implementation, since we can now assume
54517         dirfd and fstatat.
54518         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54519
54520 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54521
54522         * gnulib-tool (func_get_dependencies): Fix sed script to
54523         match only tests.
54524
54525 2007-10-17  Bruno Haible  <bruno@clisp.org>
54526
54527         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
54528         allow locale names without encoding suffix.
54529         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54530         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54531
54532 2007-10-16  Bruno Haible  <bruno@clisp.org>
54533
54534         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
54535         * lib/getgroups.c (getgroups): Likewise.
54536         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
54537
54538 2007-10-16  Bruno Haible  <bruno@clisp.org>
54539
54540         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
54541         * modules/malloc-posix (License): Likewise.
54542         * modules/realloc-posix (License): Likewise.
54543         * modules/calloc-posix (License): Likewise.
54544         * modules/intprops (License): Change from GPL to LGPL, with
54545         Paul Eggert's approval.
54546
54547 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54548
54549         Merge glibc changes into lib/glob.c.
54550
54551         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
54552         2007-10-15 04:59:03 UTC.  Here are the changes:
54553
54554         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
54555
54556         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
54557
54558         * lib/glob.c: Add some branch prediction throughout.
54559
54560         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
54561
54562         [BZ #5103]
54563         * lib/glob.c (glob): Recognize patterns starting \/.
54564
54565         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
54566
54567         [BZ #3996]
54568         * lib/glob.c (attribute_hidden): Define if not defined.
54569         (glob): Unescape dirname, filename or username when needed and not
54570         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
54571         is NULL.  Handle unescaped [ in pattern without closing ].
54572         Don't pass GLOB_CHECK down to recursive glob for directories.
54573         (__glob_pattern_type): New function.
54574         (__glob_pattern_p): Implement using __glob_pattern_type.
54575         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
54576         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
54577         Remove unreachable code.
54578
54579         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
54580
54581         * lib/glob.c (glob_in_dir): Add some comments and asserts to
54582         explain why there are no leaks.
54583
54584         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
54585
54586         [BZ #3253]
54587         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
54588         time, rather allocate increasingly bigger arrays of pointers, if
54589         possible with alloca, if too large with malloc.
54590
54591 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54592
54593         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
54594         Problem reported by H.Merijn Brand in
54595         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
54596         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
54597         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54598
54599 2007-10-15  Bruno Haible  <bruno@clisp.org>
54600
54601         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
54602         with explicit rpl_ prefix.
54603         * lib/fopen.c (fopen): Likewise.
54604         * lib/freopen.c (freopen): Likewise.
54605         * lib/iconv.c (iconv): Likewise.
54606         * lib/iconv_close.c (iconv_close): Likewise.
54607
54608 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54609
54610         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
54611
54612 2007-10-15  Bruno Haible  <bruno@clisp.org>
54613
54614         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
54615         <stddef.h> instead of <stdlib.h> since we only need NULL.
54616         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54617
54618 2007-10-15  Bruno Haible  <bruno@clisp.org>
54619
54620         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
54621         Replace paragraph talking about LIBOBJS.
54622         Reported by Colin Watson <cjwatson@debian.org>.
54623
54624 2007-10-15  Bruno Haible  <bruno@clisp.org>
54625
54626         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
54627         <stdlib.h> before using NULL.
54628
54629 2007-10-15  Simon Josefsson  <simon@josefsson.org>
54630
54631         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
54632         Reported by Albert Chin <china@thewrittenword.com>.
54633
54634 2007-10-14  Bruno Haible  <bruno@clisp.org>
54635
54636         * modules/iconv_open-utf-tests: New file.
54637         * tests/test-iconv-utf.c: New file.
54638
54639         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
54640         * modules/iconv_open-utf: New file.
54641         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
54642         (iconv, iconv_close): New declarations.
54643         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
54644         be defined.
54645         (iconv_open): Add special handling of conversion between UTF-8 and
54646         UTF-{16,32}{BE,LE}.
54647         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
54648         * lib/iconv_close.c: New file.
54649         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
54650         gl_FUNC_ICONV_OPEN.
54651         (gl_FUNC_ICONV_OPEN): Use it.
54652         (gl_FUNC_ICONV_OPEN_UTF): New macro.
54653         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
54654         and REPLACE_ICONV_UTF.
54655         * modules/iconv_open (Depends-on): Add c-strcase.
54656         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
54657         ICONV_CONST.
54658         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
54659
54660 2007-10-13  Albert Chin  <china@thewrittenword.com>
54661             Bruno Haible  <bruno@clisp.org>
54662
54663         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
54664         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
54665
54666 2007-10-13  Bruno Haible  <bruno@clisp.org>
54667
54668         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
54669         defined, use the ISO C99 inline semantics.
54670         * lib/argp.h (ARGP_EI): Likewise.
54671
54672 2007-10-13  Bruno Haible  <bruno@clisp.org>
54673
54674         Handle 'inline' change in gcc 4.3.0.
54675         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
54676         argp_fmtstream_write, argp_fmtstream_set_lmargin,
54677         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
54678         argp_fmtstream_point): Disable 'extern' declaration if the function
54679         definition is going to be provided inline.
54680         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
54681         semantics, not the ISO C99 inline semantics.
54682         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
54683         'extern' declaration if the function definition is going to be provided
54684         inline.
54685         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
54686         the GNU C inline semantics, not the ISO C99 inline semantics. With
54687         GCC 4.2, avoid a warning.
54688
54689 2007-10-13  Bruno Haible  <bruno@clisp.org>
54690
54691         * lib/freading.h (freading): Enable the use of __freading for
54692         glibc >= 2.7.
54693         * lib/freading.c (freading): Likewise.
54694
54695 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54696
54697         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
54698         "warning: C99 inline functions are not supported; using GNU89".
54699
54700 2007-10-12  Bruno Haible  <bruno@clisp.org>
54701
54702         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
54703         of 2.
54704         * tests/test-ceilf2.c: New file.
54705         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
54706
54707         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
54708         * modules/ceilf-tests: Update.
54709
54710 2007-10-12  Bruno Haible  <bruno@clisp.org>
54711
54712         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
54713         of 2.
54714         * tests/test-floorf2.c: New file.
54715         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
54716
54717         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
54718         * modules/floorf-tests: Update.
54719
54720 2007-10-12  Bruno Haible  <bruno@clisp.org>
54721
54722         * tests/test-trunc2.c: New file.
54723         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
54724
54725         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
54726         * modules/trunc-tests: Update.
54727
54728 2007-10-12  Bruno Haible  <bruno@clisp.org>
54729
54730         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
54731         of 2.
54732         * tests/test-truncf2.c: New file.
54733         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
54734
54735         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
54736         * modules/truncf-tests: Update.
54737
54738 2007-10-11  Eric Blake  <ebb9@byu.net>
54739
54740         Don't claim strerror is broken on Interix.
54741         * doc/functions/strerror.texi (strerror): Known broken systems are
54742         now Solaris 8, and not Interix.
54743         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
54744         Interix on cross-compile.
54745         Reported by Martin Koeppe in
54746         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
54747
54748 2007-10-11  Bruno Haible  <bruno@clisp.org>
54749
54750         * modules/i-ring-tests: New file.
54751         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
54752         instead of assert.
54753
54754 2007-10-11  Bruno Haible  <bruno@clisp.org>
54755
54756         * modules/filenamecat-tests: New file.
54757         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
54758         * lib/filenamecat.c: Remove test code.
54759
54760 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54761
54762         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
54763
54764         * lib/strerror.c: Include <string.h> always, to test interface,
54765         and to remove the need for the dummy.
54766         Include intprops.h to compute width instead of doing it ourselves
54767         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
54768         (strerror): Define it to return NULL if there's no system strerror.
54769         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
54770         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
54771         ancient pre-strerror Unix systems well any more.  Saying "unknown
54772         system error" is enough.
54773         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
54774         simpler strerror.c implementation.
54775         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
54776         Simplify the tests to reflect the simpler strerror implementation.
54777         * modules/strerror (Depends-on): Add intprops.
54778
54779 2007-10-09  Eric Blake  <ebb9@byu.net>
54780
54781         Silence test-fpending.
54782         * modules/fpending-tests (Files): Add wrapper script.
54783         * tests/test-fpending.sh: New file.
54784
54785 2007-10-09  Bruno Haible  <bruno@clisp.org>
54786
54787         * MODULES.html.sh (func_module): Don't create a hyperlink for
54788         function names like 'printf_frexp'.
54789         (Misc): Add crc, memxor.
54790         (Characteristics of floating types): New section.
54791         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
54792         isnanf-nolibm, signbit, trunc, truncf, truncl.
54793         (Enhancements for ISO C 99 functions): New subsection Input/output.
54794         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
54795         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
54796         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
54797         (Compatibility checks for POSIX:2001 functions): Add clock-time.
54798         (Enhancements for POSIX:2001 functions): Add chdir-long.
54799         (File system functions): Add areadlink, chdir-safer, read-file.
54800         Remove cycle-check.
54801         (File system as inode set): New section.
54802         (Date and time): Add gethrxtime.
54803         (Multithreading): Add openmp.
54804         (Internationalization functions): Add localename.
54805         (Unicode string functions): Add unistr/u*-mbsnlen.
54806         (Support for maintaining and releasing projects): Add git-version-gen.
54807         (Lone files): Remove directories.
54808
54809 2007-10-08  Ben Pfaff  <blp@gnu.org>
54810
54811         * lib/xmalloca.h: Fix typo in comment.
54812
54813 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54814
54815         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
54816         when avoiding problems with integer overflow.  Use a portable test
54817         instead.
54818
54819 2007-10-08  Simon Josefsson  <simon@josefsson.org>
54820
54821         * modules/dummy (License): Change to LGPLv2+.
54822         * modules/float (License): Likewise
54823         * modules/realloc (License): Likewise
54824         * modules/stdlib (License): Likewise
54825
54826 2007-10-07  Bruno Haible  <bruno@clisp.org>
54827
54828         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
54829         * floor.c (TWO_MANT_DIG): Likewise.
54830         * ceil.c (TWO_MANT_DIG): Likewise.
54831         Reported by Ben Pfaff.
54832
54833 2007-10-07  Bruno Haible  <bruno@clisp.org>
54834
54835         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
54836         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
54837         * lib/frexp.c (FUNC): Likewise.
54838         * lib/printf-frexp.h (printf_frexp): Likewise.
54839         * lib/printf-frexpl.h (printf_frexpl): Likewise.
54840         * lib/printf-frexp.c (FUNC): Likewise.
54841         Suggested by Jim Meyering.
54842
54843 2007-10-07  Jim Meyering  <meyering@redhat.com>
54844
54845         Make xnanosleep's integer overflow test more robust.
54846         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
54847         so that gcc-4.3.0 doesn't optimize away this test for overflow.
54848
54849 2007-10-07  Bruno Haible  <bruno@clisp.org>
54850
54851         * NEWS: Mention the license change.
54852
54853         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
54854         abbreviations in the modules files.
54855
54856         Change copyright notice from GPLv2+ to GPLv3+.
54857         * README: Change copyright notice.
54858         * MODULES.html.sh: Likewise.
54859         * build-aux/bootstrap.conf: Likewise.
54860         * build-aux/config.libpath: Likewise.
54861         * build-aux/csharpcomp.sh.in: Likewise.
54862         * build-aux/csharpexec.sh.in: Likewise.
54863         * build-aux/install-reloc: Likewise.
54864         * build-aux/javacomp.sh.in: Likewise.
54865         * build-aux/javaexec.sh.in: Likewise.
54866         * build-aux/ldd.sh.in: Likewise.
54867         * build-aux/reloc-ldflags: Likewise.
54868         * build-aux/relocatable.sh.in: Likewise.
54869         * build-aux/x-to-1.in: Likewise.
54870         * check-module: Likewise.
54871         * config/srclistvars.sh: Likewise.
54872         * gnulib-tool: Likewise.
54873         * lib/acl-internal.h: Likewise.
54874         * lib/acl.c: Likewise.
54875         * lib/acl.h: Likewise.
54876         * lib/acl_entries.c: Likewise.
54877         * lib/areadlink-with-size.c: Likewise.
54878         * lib/areadlink.c: Likewise.
54879         * lib/areadlink.h: Likewise.
54880         * lib/argmatch.c: Likewise.
54881         * lib/argmatch.h: Likewise.
54882         * lib/argp-ba.c: Likewise.
54883         * lib/argp-eexst.c: Likewise.
54884         * lib/argp-fmtstream.c: Likewise.
54885         * lib/argp-fmtstream.h: Likewise.
54886         * lib/argp-fs-xinl.c: Likewise.
54887         * lib/argp-help.c: Likewise.
54888         * lib/argp-namefrob.h: Likewise.
54889         * lib/argp-parse.c: Likewise.
54890         * lib/argp-pin.c: Likewise.
54891         * lib/argp-pv.c: Likewise.
54892         * lib/argp-pvh.c: Likewise.
54893         * lib/argp-xinl.c: Likewise.
54894         * lib/argp.h: Likewise.
54895         * lib/at-func.c: Likewise.
54896         * lib/atanl.c: Likewise.
54897         * lib/backupfile.c: Likewise.
54898         * lib/backupfile.h: Likewise.
54899         * lib/basename.c: Likewise.
54900         * lib/binary-io.h: Likewise.
54901         * lib/byteswap.in.h: Likewise.
54902         * lib/c-stack.c: Likewise.
54903         * lib/c-stack.h: Likewise.
54904         * lib/c-strcasestr.c: Likewise.
54905         * lib/c-strcasestr.h: Likewise.
54906         * lib/c-strstr.c: Likewise.
54907         * lib/c-strstr.h: Likewise.
54908         * lib/c-strtod.c: Likewise.
54909         * lib/calloc.c: Likewise.
54910         * lib/canon-host.c: Likewise.
54911         * lib/canon-host.h: Likewise.
54912         * lib/canonicalize-lgpl.c: Likewise.
54913         * lib/canonicalize.c: Likewise.
54914         * lib/canonicalize.h: Likewise.
54915         * lib/ceil.c: Likewise.
54916         * lib/ceilf.c: Likewise.
54917         * lib/ceill.c: Likewise.
54918         * lib/chdir-long.c: Likewise.
54919         * lib/chdir-long.h: Likewise.
54920         * lib/chdir-safer.c: Likewise.
54921         * lib/chdir-safer.h: Likewise.
54922         * lib/chown.c: Likewise.
54923         * lib/classpath.c: Likewise.
54924         * lib/classpath.h: Likewise.
54925         * lib/clean-temp.c: Likewise.
54926         * lib/clean-temp.h: Likewise.
54927         * lib/cloexec.c: Likewise.
54928         * lib/close-stream.c: Likewise.
54929         * lib/closein.c: Likewise.
54930         * lib/closein.h: Likewise.
54931         * lib/closeout.c: Likewise.
54932         * lib/closeout.h: Likewise.
54933         * lib/concat-filename.c: Likewise.
54934         * lib/copy-file.c: Likewise.
54935         * lib/copy-file.h: Likewise.
54936         * lib/count-one-bits.h: Likewise.
54937         * lib/crc.c: Likewise.
54938         * lib/crc.h: Likewise.
54939         * lib/creat-safer.c: Likewise.
54940         * lib/csharpcomp.c: Likewise.
54941         * lib/csharpcomp.h: Likewise.
54942         * lib/csharpexec.c: Likewise.
54943         * lib/csharpexec.h: Likewise.
54944         * lib/cycle-check.c: Likewise.
54945         * lib/cycle-check.h: Likewise.
54946         * lib/diacrit.c: Likewise.
54947         * lib/diacrit.h: Likewise.
54948         * lib/diffseq.h: Likewise.
54949         * lib/dirchownmod.c: Likewise.
54950         * lib/dirent.in.h: Likewise.
54951         * lib/dirfd.c: Likewise.
54952         * lib/dirfd.h: Likewise.
54953         * lib/dirname.c: Likewise.
54954         * lib/dirname.h: Likewise.
54955         * lib/dummy.c: Likewise.
54956         * lib/dup-safer.c: Likewise.
54957         * lib/dup2.c: Likewise.
54958         * lib/eealloc.h: Likewise.
54959         * lib/error.c: Likewise.
54960         * lib/error.h: Likewise.
54961         * lib/euidaccess.c: Likewise.
54962         * lib/exclude.c: Likewise.
54963         * lib/exclude.h: Likewise.
54964         * lib/execute.c: Likewise.
54965         * lib/execute.h: Likewise.
54966         * lib/exitfail.c: Likewise.
54967         * lib/exitfail.h: Likewise.
54968         * lib/expl.c: Likewise.
54969         * lib/fatal-signal.c: Likewise.
54970         * lib/fatal-signal.h: Likewise.
54971         * lib/fbufmode.c: Likewise.
54972         * lib/fbufmode.h: Likewise.
54973         * lib/fchdir.c: Likewise.
54974         * lib/fchmodat.c: Likewise.
54975         * lib/fchownat.c: Likewise.
54976         * lib/fcntl--.h: Likewise.
54977         * lib/fcntl-safer.h: Likewise.
54978         * lib/fcntl.in.h: Likewise.
54979         * lib/fd-safer.c: Likewise.
54980         * lib/fflush.c: Likewise.
54981         * lib/file-has-acl.c: Likewise.
54982         * lib/file-set.c: Likewise.
54983         * lib/file-type.c: Likewise.
54984         * lib/file-type.h: Likewise.
54985         * lib/fileblocks.c: Likewise.
54986         * lib/filemode.c: Likewise.
54987         * lib/filemode.h: Likewise.
54988         * lib/filename.h: Likewise.
54989         * lib/filenamecat.c: Likewise.
54990         * lib/filenamecat.h: Likewise.
54991         * lib/findprog.c: Likewise.
54992         * lib/findprog.h: Likewise.
54993         * lib/float.in.h: Likewise.
54994         * lib/floor.c: Likewise.
54995         * lib/floorf.c: Likewise.
54996         * lib/floorl.c: Likewise.
54997         * lib/fopen-safer.c: Likewise.
54998         * lib/fopen.c: Likewise.
54999         * lib/fpending.c: Likewise.
55000         * lib/fpending.h: Likewise.
55001         * lib/fprintf.c: Likewise.
55002         * lib/fprintftime.h: Likewise.
55003         * lib/fpucw.h: Likewise.
55004         * lib/fpurge.c: Likewise.
55005         * lib/fpurge.h: Likewise.
55006         * lib/freadable.c: Likewise.
55007         * lib/freadable.h: Likewise.
55008         * lib/freadahead.c: Likewise.
55009         * lib/freadahead.h: Likewise.
55010         * lib/freading.c: Likewise.
55011         * lib/freading.h: Likewise.
55012         * lib/free.c: Likewise.
55013         * lib/freopen.c: Likewise.
55014         * lib/frexp.c: Likewise.
55015         * lib/frexpl.c: Likewise.
55016         * lib/fseek.c: Likewise.
55017         * lib/fseterr.c: Likewise.
55018         * lib/fseterr.h: Likewise.
55019         * lib/fstatat.c: Likewise.
55020         * lib/fstrcmp.c: Likewise.
55021         * lib/fstrcmp.h: Likewise.
55022         * lib/fsusage.c: Likewise.
55023         * lib/fsusage.h: Likewise.
55024         * lib/ftell.c: Likewise.
55025         * lib/ftello.c: Likewise.
55026         * lib/fts-cycle.c: Likewise.
55027         * lib/fts.c: Likewise.
55028         * lib/fts_.h: Likewise.
55029         * lib/full-read.c: Likewise.
55030         * lib/full-read.h: Likewise.
55031         * lib/full-write.c: Likewise.
55032         * lib/full-write.h: Likewise.
55033         * lib/fwritable.c: Likewise.
55034         * lib/fwritable.h: Likewise.
55035         * lib/fwriteerror.c: Likewise.
55036         * lib/fwriteerror.h: Likewise.
55037         * lib/fwriting.c: Likewise.
55038         * lib/fwriting.h: Likewise.
55039         * lib/gcd.c: Likewise.
55040         * lib/gcd.h: Likewise.
55041         * lib/getcwd.c: Likewise.
55042         * lib/getdate.h: Likewise.
55043         * lib/getdate.y: Likewise.
55044         * lib/getdomainname.c: Likewise.
55045         * lib/getdomainname.h: Likewise.
55046         * lib/getgroups.c: Likewise.
55047         * lib/gethostname.c: Likewise.
55048         * lib/gethrxtime.c: Likewise.
55049         * lib/gethrxtime.h: Likewise.
55050         * lib/getloadavg.c: Likewise.
55051         * lib/getndelim2.c: Likewise.
55052         * lib/getndelim2.h: Likewise.
55053         * lib/getnline.c: Likewise.
55054         * lib/getnline.h: Likewise.
55055         * lib/getopt.c: Likewise.
55056         * lib/getopt.in.h: Likewise.
55057         * lib/getopt1.c: Likewise.
55058         * lib/getopt_int.h: Likewise.
55059         * lib/getpagesize.h: Likewise.
55060         * lib/getsubopt.c: Likewise.
55061         * lib/gettime.c: Likewise.
55062         * lib/getugroups.c: Likewise.
55063         * lib/getugroups.h: Likewise.
55064         * lib/getusershell.c: Likewise.
55065         * lib/gl_anyavltree_list1.h: Likewise.
55066         * lib/gl_anyavltree_list2.h: Likewise.
55067         * lib/gl_anyhash_list1.h: Likewise.
55068         * lib/gl_anyhash_list2.h: Likewise.
55069         * lib/gl_anylinked_list1.h: Likewise.
55070         * lib/gl_anylinked_list2.h: Likewise.
55071         * lib/gl_anyrbtree_list1.h: Likewise.
55072         * lib/gl_anyrbtree_list2.h: Likewise.
55073         * lib/gl_anytree_list1.h: Likewise.
55074         * lib/gl_anytree_list2.h: Likewise.
55075         * lib/gl_anytree_oset.h: Likewise.
55076         * lib/gl_anytreehash_list1.h: Likewise.
55077         * lib/gl_anytreehash_list2.h: Likewise.
55078         * lib/gl_array_list.c: Likewise.
55079         * lib/gl_array_list.h: Likewise.
55080         * lib/gl_array_oset.c: Likewise.
55081         * lib/gl_array_oset.h: Likewise.
55082         * lib/gl_avltree_list.c: Likewise.
55083         * lib/gl_avltree_list.h: Likewise.
55084         * lib/gl_avltree_oset.c: Likewise.
55085         * lib/gl_avltree_oset.h: Likewise.
55086         * lib/gl_avltreehash_list.c: Likewise.
55087         * lib/gl_avltreehash_list.h: Likewise.
55088         * lib/gl_carray_list.c: Likewise.
55089         * lib/gl_carray_list.h: Likewise.
55090         * lib/gl_linked_list.c: Likewise.
55091         * lib/gl_linked_list.h: Likewise.
55092         * lib/gl_linkedhash_list.c: Likewise.
55093         * lib/gl_linkedhash_list.h: Likewise.
55094         * lib/gl_list.c: Likewise.
55095         * lib/gl_list.h: Likewise.
55096         * lib/gl_oset.c: Likewise.
55097         * lib/gl_oset.h: Likewise.
55098         * lib/gl_rbtree_list.c: Likewise.
55099         * lib/gl_rbtree_list.h: Likewise.
55100         * lib/gl_rbtree_oset.c: Likewise.
55101         * lib/gl_rbtree_oset.h: Likewise.
55102         * lib/gl_rbtreehash_list.c: Likewise.
55103         * lib/gl_rbtreehash_list.h: Likewise.
55104         * lib/gl_sublist.c: Likewise.
55105         * lib/gl_sublist.h: Likewise.
55106         * lib/group-member.c: Likewise.
55107         * lib/group-member.h: Likewise.
55108         * lib/hard-locale.c: Likewise.
55109         * lib/hard-locale.h: Likewise.
55110         * lib/hash-pjw.c: Likewise.
55111         * lib/hash-pjw.h: Likewise.
55112         * lib/hash-triple.c: Likewise.
55113         * lib/hash.c: Likewise.
55114         * lib/hash.h: Likewise.
55115         * lib/human.c: Likewise.
55116         * lib/human.h: Likewise.
55117         * lib/i-ring.c: Likewise.
55118         * lib/i-ring.h: Likewise.
55119         * lib/idcache.c: Likewise.
55120         * lib/imaxabs.c: Likewise.
55121         * lib/imaxdiv.c: Likewise.
55122         * lib/inet_pton.c: Likewise.
55123         * lib/inet_pton.h: Likewise.
55124         * lib/intprops.h: Likewise.
55125         * lib/inttostr.c: Likewise.
55126         * lib/inttostr.h: Likewise.
55127         * lib/inttypes.in.h: Likewise.
55128         * lib/isapipe.c: Likewise.
55129         * lib/isdir.c: Likewise.
55130         * lib/isnan.c: Likewise.
55131         * lib/isnan.h: Likewise.
55132         * lib/isnanf.c: Likewise.
55133         * lib/isnanf.h: Likewise.
55134         * lib/isnanl-nolibm.h: Likewise.
55135         * lib/isnanl.c: Likewise.
55136         * lib/isnanl.h: Likewise.
55137         * lib/javacomp.c: Likewise.
55138         * lib/javacomp.h: Likewise.
55139         * lib/javaexec.c: Likewise.
55140         * lib/javaexec.h: Likewise.
55141         * lib/javaversion.c: Likewise.
55142         * lib/javaversion.h: Likewise.
55143         * lib/javaversion.java: Likewise.
55144         * lib/lbrkprop.h: Likewise.
55145         * lib/lchmod.h: Likewise.
55146         * lib/lchown.c: Likewise.
55147         * lib/ldexpl.c: Likewise.
55148         * lib/linebreak.c: Likewise.
55149         * lib/linebreak.h: Likewise.
55150         * lib/linebuffer.c: Likewise.
55151         * lib/linebuffer.h: Likewise.
55152         * lib/locale.in.h: Likewise.
55153         * lib/logl.c: Likewise.
55154         * lib/long-options.c: Likewise.
55155         * lib/long-options.h: Likewise.
55156         * lib/lstat.c: Likewise.
55157         * lib/lstat.h: Likewise.
55158         * lib/math.in.h: Likewise.
55159         * lib/mbchar.c: Likewise.
55160         * lib/mbchar.h: Likewise.
55161         * lib/mbfile.h: Likewise.
55162         * lib/mbiter.h: Likewise.
55163         * lib/mbscasecmp.c: Likewise.
55164         * lib/mbscasestr.c: Likewise.
55165         * lib/mbschr.c: Likewise.
55166         * lib/mbscspn.c: Likewise.
55167         * lib/mbslen.c: Likewise.
55168         * lib/mbsncasecmp.c: Likewise.
55169         * lib/mbsnlen.c: Likewise.
55170         * lib/mbspbrk.c: Likewise.
55171         * lib/mbspcasecmp.c: Likewise.
55172         * lib/mbsrchr.c: Likewise.
55173         * lib/mbssep.c: Likewise.
55174         * lib/mbsspn.c: Likewise.
55175         * lib/mbsstr.c: Likewise.
55176         * lib/mbstok_r.c: Likewise.
55177         * lib/mbswidth.c: Likewise.
55178         * lib/mbswidth.h: Likewise.
55179         * lib/mbuiter.h: Likewise.
55180         * lib/memcasecmp.c: Likewise.
55181         * lib/memcasecmp.h: Likewise.
55182         * lib/memchr.c: Likewise.
55183         * lib/memcmp.c: Likewise.
55184         * lib/memcoll.c: Likewise.
55185         * lib/memcoll.h: Likewise.
55186         * lib/memcpy.c: Likewise.
55187         * lib/memrchr.c: Likewise.
55188         * lib/mkancesdirs.c: Likewise.
55189         * lib/mkdir-p.c: Likewise.
55190         * lib/mkdir-p.h: Likewise.
55191         * lib/mkdir.c: Likewise.
55192         * lib/mkdirat.c: Likewise.
55193         * lib/mkdtemp.c: Likewise.
55194         * lib/mkstemp-safer.c: Likewise.
55195         * lib/mkstemp.c: Likewise.
55196         * lib/modechange.c: Likewise.
55197         * lib/modechange.h: Likewise.
55198         * lib/mountlist.c: Likewise.
55199         * lib/mountlist.h: Likewise.
55200         * lib/mpsort.c: Likewise.
55201         * lib/nanosleep.c: Likewise.
55202         * lib/obstack.c: Likewise.
55203         * lib/obstack.h: Likewise.
55204         * lib/open-safer.c: Likewise.
55205         * lib/open.c: Likewise.
55206         * lib/openat-die.c: Likewise.
55207         * lib/openat-priv.h: Likewise.
55208         * lib/openat-proc.c: Likewise.
55209         * lib/openat.c: Likewise.
55210         * lib/openat.h: Likewise.
55211         * lib/pagealign_alloc.c: Likewise.
55212         * lib/pagealign_alloc.h: Likewise.
55213         * lib/physmem.c: Likewise.
55214         * lib/physmem.h: Likewise.
55215         * lib/pipe-safer.c: Likewise.
55216         * lib/pipe.c: Likewise.
55217         * lib/pipe.h: Likewise.
55218         * lib/posixtm.c: Likewise.
55219         * lib/posixtm.h: Likewise.
55220         * lib/posixver.c: Likewise.
55221         * lib/printf-frexp.c: Likewise.
55222         * lib/printf-frexp.h: Likewise.
55223         * lib/printf-frexpl.c: Likewise.
55224         * lib/printf-frexpl.h: Likewise.
55225         * lib/printf.c: Likewise.
55226         * lib/progname.c: Likewise.
55227         * lib/progname.h: Likewise.
55228         * lib/progreloc.c: Likewise.
55229         * lib/putenv.c: Likewise.
55230         * lib/quote.c: Likewise.
55231         * lib/quote.h: Likewise.
55232         * lib/quotearg.c: Likewise.
55233         * lib/quotearg.h: Likewise.
55234         * lib/raise.c: Likewise.
55235         * lib/readline.c: Likewise.
55236         * lib/readline.h: Likewise.
55237         * lib/readlink.c: Likewise.
55238         * lib/readtokens.c: Likewise.
55239         * lib/readtokens.h: Likewise.
55240         * lib/readtokens0.c: Likewise.
55241         * lib/readtokens0.h: Likewise.
55242         * lib/readutmp.c: Likewise.
55243         * lib/readutmp.h: Likewise.
55244         * lib/realloc.c: Likewise.
55245         * lib/relocwrapper.c: Likewise.
55246         * lib/rename-dest-slash.c: Likewise.
55247         * lib/rename.c: Likewise.
55248         * lib/rmdir.c: Likewise.
55249         * lib/rpmatch.c: Likewise.
55250         * lib/safe-read.c: Likewise.
55251         * lib/safe-read.h: Likewise.
55252         * lib/safe-write.c: Likewise.
55253         * lib/safe-write.h: Likewise.
55254         * lib/same-inode.h: Likewise.
55255         * lib/same.c: Likewise.
55256         * lib/same.h: Likewise.
55257         * lib/save-cwd.c: Likewise.
55258         * lib/save-cwd.h: Likewise.
55259         * lib/savedir.c: Likewise.
55260         * lib/savedir.h: Likewise.
55261         * lib/savewd.c: Likewise.
55262         * lib/savewd.h: Likewise.
55263         * lib/search.in.h: Likewise.
55264         * lib/setenv.c: Likewise.
55265         * lib/setenv.h: Likewise.
55266         * lib/settime.c: Likewise.
55267         * lib/sh-quote.c: Likewise.
55268         * lib/sh-quote.h: Likewise.
55269         * lib/sig2str.c: Likewise.
55270         * lib/sig2str.h: Likewise.
55271         * lib/signal.in.h: Likewise.
55272         * lib/signbitd.c: Likewise.
55273         * lib/signbitf.c: Likewise.
55274         * lib/signbitl.c: Likewise.
55275         * lib/sigprocmask.c: Likewise.
55276         * lib/sincosl.c: Likewise.
55277         * lib/sleep.c: Likewise.
55278         * lib/sprintf.c: Likewise.
55279         * lib/sqrtl.c: Likewise.
55280         * lib/stat-time.h: Likewise.
55281         * lib/stdio--.h: Likewise.
55282         * lib/stdio-safer.h: Likewise.
55283         * lib/stdlib--.h: Likewise.
55284         * lib/stdlib-safer.h: Likewise.
55285         * lib/stdlib.in.h: Likewise.
55286         * lib/stpcpy.c: Likewise.
55287         * lib/stpncpy.c: Likewise.
55288         * lib/strchrnul.c: Likewise.
55289         * lib/strcspn.c: Likewise.
55290         * lib/strerror.c: Likewise.
55291         * lib/strftime.c: Likewise.
55292         * lib/strftime.h: Likewise.
55293         * lib/striconveh.c: Likewise.
55294         * lib/striconveh.h: Likewise.
55295         * lib/striconveha.c: Likewise.
55296         * lib/striconveha.h: Likewise.
55297         * lib/stripslash.c: Likewise.
55298         * lib/strnlen1.c: Likewise.
55299         * lib/strnlen1.h: Likewise.
55300         * lib/strtod.c: Likewise.
55301         * lib/strtoimax.c: Likewise.
55302         * lib/strtok_r.c: Likewise.
55303         * lib/strtol.c: Likewise.
55304         * lib/strtoll.c: Likewise.
55305         * lib/strtoul.c: Likewise.
55306         * lib/strtoull.c: Likewise.
55307         * lib/sysexits.in.h: Likewise.
55308         * lib/tempname.c: Likewise.
55309         * lib/tempname.h: Likewise.
55310         * lib/timespec.h: Likewise.
55311         * lib/tls.c: Likewise.
55312         * lib/tls.h: Likewise.
55313         * lib/tmpdir.c: Likewise.
55314         * lib/tmpdir.h: Likewise.
55315         * lib/tmpfile-safer.c: Likewise.
55316         * lib/tmpfile.c: Likewise.
55317         * lib/trigl.c: Likewise.
55318         * lib/trigl.h: Likewise.
55319         * lib/trim.c: Likewise.
55320         * lib/trim.h: Likewise.
55321         * lib/trunc.c: Likewise.
55322         * lib/truncf.c: Likewise.
55323         * lib/truncl.c: Likewise.
55324         * lib/tsearch.c: Likewise.
55325         * lib/unicodeio.c: Likewise.
55326         * lib/unicodeio.h: Likewise.
55327         * lib/unistd--.h: Likewise.
55328         * lib/unistd-safer.h: Likewise.
55329         * lib/unistdio/ulc-fprintf.c: Likewise.
55330         * lib/unistdio/ulc-vfprintf.c: Likewise.
55331         * lib/unlinkdir.c: Likewise.
55332         * lib/unlinkdir.h: Likewise.
55333         * lib/unlocked-io.h: Likewise.
55334         * lib/unsetenv.c: Likewise.
55335         * lib/userspec.c: Likewise.
55336         * lib/utime.c: Likewise.
55337         * lib/utimecmp.c: Likewise.
55338         * lib/utimecmp.h: Likewise.
55339         * lib/utimens.c: Likewise.
55340         * lib/verify.h: Likewise.
55341         * lib/verror.c: Likewise.
55342         * lib/verror.h: Likewise.
55343         * lib/version-etc-fsf.c: Likewise.
55344         * lib/version-etc.c: Likewise.
55345         * lib/version-etc.h: Likewise.
55346         * lib/vfprintf.c: Likewise.
55347         * lib/vprintf.c: Likewise.
55348         * lib/vsprintf.c: Likewise.
55349         * lib/w32spawn.h: Likewise.
55350         * lib/wait-process.c: Likewise.
55351         * lib/wait-process.h: Likewise.
55352         * lib/wcwidth.c: Likewise.
55353         * lib/write-any-file.c: Likewise.
55354         * lib/xalloc-die.c: Likewise.
55355         * lib/xalloc.h: Likewise.
55356         * lib/xasprintf.c: Likewise.
55357         * lib/xgetcwd.c: Likewise.
55358         * lib/xgetcwd.h: Likewise.
55359         * lib/xgetdomainname.c: Likewise.
55360         * lib/xgetdomainname.h: Likewise.
55361         * lib/xgethostname.c: Likewise.
55362         * lib/xmalloc.c: Likewise.
55363         * lib/xmalloca.c: Likewise.
55364         * lib/xmalloca.h: Likewise.
55365         * lib/xmemcoll.c: Likewise.
55366         * lib/xnanosleep.c: Likewise.
55367         * lib/xreadlink.c: Likewise.
55368         * lib/xreadlink.h: Likewise.
55369         * lib/xsetenv.c: Likewise.
55370         * lib/xsetenv.h: Likewise.
55371         * lib/xstriconv.c: Likewise.
55372         * lib/xstriconv.h: Likewise.
55373         * lib/xstrndup.c: Likewise.
55374         * lib/xstrndup.h: Likewise.
55375         * lib/xstrtod.c: Likewise.
55376         * lib/xstrtod.h: Likewise.
55377         * lib/xstrtol-error.c: Likewise.
55378         * lib/xstrtol.c: Likewise.
55379         * lib/xstrtol.h: Likewise.
55380         * lib/xtime.h: Likewise.
55381         * lib/xvasprintf.c: Likewise.
55382         * lib/xvasprintf.h: Likewise.
55383         * lib/yesno.c: Likewise.
55384         * lib/yesno.h: Likewise.
55385         * posix-modules: Likewise.
55386         * tests/test-alloca-opt.c: Likewise.
55387         * tests/test-arcfour.c: Likewise.
55388         * tests/test-arctwo.c: Likewise.
55389         * tests/test-argmatch.c: Likewise.
55390         * tests/test-argp-2.sh: Likewise.
55391         * tests/test-argp.c: Likewise.
55392         * tests/test-arpa_inet.c: Likewise.
55393         * tests/test-array_list.c: Likewise.
55394         * tests/test-array_oset.c: Likewise.
55395         * tests/test-atexit.c: Likewise.
55396         * tests/test-avltree_list.c: Likewise.
55397         * tests/test-avltree_oset.c: Likewise.
55398         * tests/test-avltreehash_list.c: Likewise.
55399         * tests/test-base64.c: Likewise.
55400         * tests/test-binary-io.c: Likewise.
55401         * tests/test-byteswap.c: Likewise.
55402         * tests/test-c-ctype.c: Likewise.
55403         * tests/test-c-strcasecmp.c: Likewise.
55404         * tests/test-c-strcasestr.c: Likewise.
55405         * tests/test-c-strncasecmp.c: Likewise.
55406         * tests/test-c-strstr.c: Likewise.
55407         * tests/test-canonicalize-lgpl.c: Likewise.
55408         * tests/test-canonicalize.c: Likewise.
55409         * tests/test-carray_list.c: Likewise.
55410         * tests/test-ceilf.c: Likewise.
55411         * tests/test-ceill.c: Likewise.
55412         * tests/test-count-one-bits.c: Likewise.
55413         * tests/test-crc.c: Likewise.
55414         * tests/test-dirname.c: Likewise.
55415         * tests/test-fbufmode.c: Likewise.
55416         * tests/test-fcntl.c: Likewise.
55417         * tests/test-fflush.c: Likewise.
55418         * tests/test-floorf.c: Likewise.
55419         * tests/test-floorl.c: Likewise.
55420         * tests/test-fopen.c: Likewise.
55421         * tests/test-fprintf-posix.c: Likewise.
55422         * tests/test-fprintf-posix.h: Likewise.
55423         * tests/test-fpurge.c: Likewise.
55424         * tests/test-freadable.c: Likewise.
55425         * tests/test-freadahead.c: Likewise.
55426         * tests/test-freading.c: Likewise.
55427         * tests/test-freopen.c: Likewise.
55428         * tests/test-frexp.c: Likewise.
55429         * tests/test-frexpl.c: Likewise.
55430         * tests/test-fseek.c: Likewise.
55431         * tests/test-fseeko.c: Likewise.
55432         * tests/test-fseterr.c: Likewise.
55433         * tests/test-fstrcmp.c: Likewise.
55434         * tests/test-ftell.c: Likewise.
55435         * tests/test-ftello.c: Likewise.
55436         * tests/test-fwritable.c: Likewise.
55437         * tests/test-fwriting.c: Likewise.
55438         * tests/test-getaddrinfo.c: Likewise.
55439         * tests/test-getpass.c: Likewise.
55440         * tests/test-gettimeofday.c: Likewise.
55441         * tests/test-hmac-md5.c: Likewise.
55442         * tests/test-hmac-sha1.c: Likewise.
55443         * tests/test-iconv.c: Likewise.
55444         * tests/test-iconvme.c: Likewise.
55445         * tests/test-inttypes.c: Likewise.
55446         * tests/test-isnan.c: Likewise.
55447         * tests/test-isnanf.c: Likewise.
55448         * tests/test-isnanl-nolibm.c: Likewise.
55449         * tests/test-isnanl.c: Likewise.
55450         * tests/test-isnanl.h: Likewise.
55451         * tests/test-ldexpl.c: Likewise.
55452         * tests/test-linked_list.c: Likewise.
55453         * tests/test-linkedhash_list.c: Likewise.
55454         * tests/test-locale.c: Likewise.
55455         * tests/test-localename.c: Likewise.
55456         * tests/test-lock.c: Likewise.
55457         * tests/test-lseek.c: Likewise.
55458         * tests/test-malloca.c: Likewise.
55459         * tests/test-math.c: Likewise.
55460         * tests/test-mbscasecmp.c: Likewise.
55461         * tests/test-mbscasestr1.c: Likewise.
55462         * tests/test-mbscasestr2.c: Likewise.
55463         * tests/test-mbscasestr3.c: Likewise.
55464         * tests/test-mbscasestr4.c: Likewise.
55465         * tests/test-mbschr.c: Likewise.
55466         * tests/test-mbscspn.c: Likewise.
55467         * tests/test-mbsncasecmp.c: Likewise.
55468         * tests/test-mbspbrk.c: Likewise.
55469         * tests/test-mbspcasecmp.c: Likewise.
55470         * tests/test-mbsrchr.c: Likewise.
55471         * tests/test-mbsspn.c: Likewise.
55472         * tests/test-mbsstr1.c: Likewise.
55473         * tests/test-mbsstr2.c: Likewise.
55474         * tests/test-mbsstr3.c: Likewise.
55475         * tests/test-md5.c: Likewise.
55476         * tests/test-memmem.c: Likewise.
55477         * tests/test-netinet_in.c: Likewise.
55478         * tests/test-open.c: Likewise.
55479         * tests/test-printf-frexp.c: Likewise.
55480         * tests/test-printf-frexpl.c: Likewise.
55481         * tests/test-printf-posix.c: Likewise.
55482         * tests/test-printf-posix.h: Likewise.
55483         * tests/test-rbtree_list.c: Likewise.
55484         * tests/test-rbtree_oset.c: Likewise.
55485         * tests/test-rbtreehash_list.c: Likewise.
55486         * tests/test-read-file.c: Likewise.
55487         * tests/test-rijndael.c: Likewise.
55488         * tests/test-search.c: Likewise.
55489         * tests/test-signbit.c: Likewise.
55490         * tests/test-sleep.c: Likewise.
55491         * tests/test-snprintf-posix.c: Likewise.
55492         * tests/test-snprintf-posix.h: Likewise.
55493         * tests/test-snprintf.c: Likewise.
55494         * tests/test-sprintf-posix.c: Likewise.
55495         * tests/test-sprintf-posix.h: Likewise.
55496         * tests/test-stat-time.c: Likewise.
55497         * tests/test-stdbool.c: Likewise.
55498         * tests/test-stdint.c: Likewise.
55499         * tests/test-stdio.c: Likewise.
55500         * tests/test-stdlib.c: Likewise.
55501         * tests/test-stpncpy.c: Likewise.
55502         * tests/test-strcasestr.c: Likewise.
55503         * tests/test-striconv.c: Likewise.
55504         * tests/test-striconveh.c: Likewise.
55505         * tests/test-striconveha.c: Likewise.
55506         * tests/test-string.c: Likewise.
55507         * tests/test-sys_select.c: Likewise.
55508         * tests/test-sys_socket.c: Likewise.
55509         * tests/test-sys_stat.c: Likewise.
55510         * tests/test-sys_time.c: Likewise.
55511         * tests/test-sysexits.c: Likewise.
55512         * tests/test-time.c: Likewise.
55513         * tests/test-tls.c: Likewise.
55514         * tests/test-trunc.c: Likewise.
55515         * tests/test-truncf.c: Likewise.
55516         * tests/test-truncl.c: Likewise.
55517         * tests/test-unistd.c: Likewise.
55518         * tests/test-vasnprintf-posix.c: Likewise.
55519         * tests/test-vasnprintf-posix2.c: Likewise.
55520         * tests/test-vasnprintf.c: Likewise.
55521         * tests/test-vasprintf-posix.c: Likewise.
55522         * tests/test-vasprintf.c: Likewise.
55523         * tests/test-verify.c: Likewise.
55524         * tests/test-vfprintf-posix.c: Likewise.
55525         * tests/test-vprintf-posix.c: Likewise.
55526         * tests/test-vsnprintf-posix.c: Likewise.
55527         * tests/test-vsnprintf.c: Likewise.
55528         * tests/test-vsprintf-posix.c: Likewise.
55529         * tests/test-wchar.c: Likewise.
55530         * tests/test-wctype.c: Likewise.
55531         * tests/test-wcwidth.c: Likewise.
55532         * tests/test-xstrtol.c: Likewise.
55533         * tests/test-xvasprintf.c: Likewise.
55534         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
55535         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
55536         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55537         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55538         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55539         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
55540         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55541         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55542         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55543         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
55544         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55545         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55546         * tests/uniname/test-uninames.c: Likewise.
55547         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
55548         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
55549         * tests/unistdio/test-u16-printf1.h: Likewise.
55550         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
55551         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
55552         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
55553         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
55554         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
55555         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
55556         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
55557         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
55558         * tests/unistdio/test-u32-printf1.h: Likewise.
55559         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
55560         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
55561         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
55562         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
55563         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
55564         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
55565         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
55566         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
55567         * tests/unistdio/test-u8-printf1.h: Likewise.
55568         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
55569         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
55570         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
55571         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
55572         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
55573         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
55574         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
55575         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
55576         * tests/unistdio/test-ulc-printf1.h: Likewise.
55577         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
55578         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
55579         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
55580         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
55581         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
55582         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
55583         * tests/uniwidth/test-u16-strwidth.c: Likewise.
55584         * tests/uniwidth/test-u16-width.c: Likewise.
55585         * tests/uniwidth/test-u32-strwidth.c: Likewise.
55586         * tests/uniwidth/test-u32-width.c: Likewise.
55587         * tests/uniwidth/test-u8-strwidth.c: Likewise.
55588         * tests/uniwidth/test-u8-width.c: Likewise.
55589         * tests/uniwidth/test-uc_width.c: Likewise.
55590         * config/srclist-update: Likewise.
55591         (fixlicense): Update to GPLv3+.
55592
55593         Change copyright notice from LGPLv2.1+ to LGPLv3+.
55594         * tests/test-tsearch.c: Change copyright notice.
55595
55596         Change copyright notice from LGPLv2.0+ to LGPLv3+.
55597         * lib/c-strcaseeq.h: Change copyright notice.
55598         * lib/streq.h: Likewise.
55599         * lib/uniconv.h: Likewise.
55600         * lib/uniconv/u-conv-from-enc.h: Likewise.
55601         * lib/uniconv/u-conv-to-enc.h: Likewise.
55602         * lib/uniconv/u-strconv-from-enc.h: Likewise.
55603         * lib/uniconv/u-strconv-to-enc.h: Likewise.
55604         * lib/uniconv/u16-conv-from-enc.c: Likewise.
55605         * lib/uniconv/u16-conv-to-enc.c: Likewise.
55606         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
55607         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
55608         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
55609         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
55610         * lib/uniconv/u32-conv-from-enc.c: Likewise.
55611         * lib/uniconv/u32-conv-to-enc.c: Likewise.
55612         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
55613         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
55614         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
55615         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
55616         * lib/uniconv/u8-conv-from-enc.c: Likewise.
55617         * lib/uniconv/u8-conv-to-enc.c: Likewise.
55618         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
55619         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
55620         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
55621         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
55622         * lib/uniname.h: Likewise.
55623         * lib/uniname/uniname.c: Likewise.
55624         * lib/unistdio.h: Likewise.
55625         * lib/unistdio/u-asnprintf.h: Likewise.
55626         * lib/unistdio/u-asprintf.h: Likewise.
55627         * lib/unistdio/u-printf-args.c: Likewise.
55628         * lib/unistdio/u-printf-args.h: Likewise.
55629         * lib/unistdio/u-printf-parse.h: Likewise.
55630         * lib/unistdio/u-snprintf.h: Likewise.
55631         * lib/unistdio/u-sprintf.h: Likewise.
55632         * lib/unistdio/u-vasprintf.h: Likewise.
55633         * lib/unistdio/u-vsnprintf.h: Likewise.
55634         * lib/unistdio/u-vsprintf.h: Likewise.
55635         * lib/unistdio/u16-asnprintf.c: Likewise.
55636         * lib/unistdio/u16-asprintf.c: Likewise.
55637         * lib/unistdio/u16-printf-parse.c: Likewise.
55638         * lib/unistdio/u16-snprintf.c: Likewise.
55639         * lib/unistdio/u16-sprintf.c: Likewise.
55640         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
55641         * lib/unistdio/u16-u16-asprintf.c: Likewise.
55642         * lib/unistdio/u16-u16-snprintf.c: Likewise.
55643         * lib/unistdio/u16-u16-sprintf.c: Likewise.
55644         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
55645         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
55646         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
55647         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
55648         * lib/unistdio/u16-vasnprintf.c: Likewise.
55649         * lib/unistdio/u16-vasprintf.c: Likewise.
55650         * lib/unistdio/u16-vsnprintf.c: Likewise.
55651         * lib/unistdio/u16-vsprintf.c: Likewise.
55652         * lib/unistdio/u32-asnprintf.c: Likewise.
55653         * lib/unistdio/u32-asprintf.c: Likewise.
55654         * lib/unistdio/u32-printf-parse.c: Likewise.
55655         * lib/unistdio/u32-snprintf.c: Likewise.
55656         * lib/unistdio/u32-sprintf.c: Likewise.
55657         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
55658         * lib/unistdio/u32-u32-asprintf.c: Likewise.
55659         * lib/unistdio/u32-u32-snprintf.c: Likewise.
55660         * lib/unistdio/u32-u32-sprintf.c: Likewise.
55661         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
55662         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
55663         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
55664         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
55665         * lib/unistdio/u32-vasnprintf.c: Likewise.
55666         * lib/unistdio/u32-vasprintf.c: Likewise.
55667         * lib/unistdio/u32-vsnprintf.c: Likewise.
55668         * lib/unistdio/u32-vsprintf.c: Likewise.
55669         * lib/unistdio/u8-asnprintf.c: Likewise.
55670         * lib/unistdio/u8-asprintf.c: Likewise.
55671         * lib/unistdio/u8-printf-parse.c: Likewise.
55672         * lib/unistdio/u8-snprintf.c: Likewise.
55673         * lib/unistdio/u8-sprintf.c: Likewise.
55674         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
55675         * lib/unistdio/u8-u8-asprintf.c: Likewise.
55676         * lib/unistdio/u8-u8-snprintf.c: Likewise.
55677         * lib/unistdio/u8-u8-sprintf.c: Likewise.
55678         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
55679         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
55680         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
55681         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
55682         * lib/unistdio/u8-vasnprintf.c: Likewise.
55683         * lib/unistdio/u8-vasprintf.c: Likewise.
55684         * lib/unistdio/u8-vsnprintf.c: Likewise.
55685         * lib/unistdio/u8-vsprintf.c: Likewise.
55686         * lib/unistdio/ulc-asnprintf.c: Likewise.
55687         * lib/unistdio/ulc-asprintf.c: Likewise.
55688         * lib/unistdio/ulc-printf-parse.c: Likewise.
55689         * lib/unistdio/ulc-snprintf.c: Likewise.
55690         * lib/unistdio/ulc-sprintf.c: Likewise.
55691         * lib/unistdio/ulc-vasnprintf.c: Likewise.
55692         * lib/unistdio/ulc-vasprintf.c: Likewise.
55693         * lib/unistdio/ulc-vsnprintf.c: Likewise.
55694         * lib/unistdio/ulc-vsprintf.c: Likewise.
55695         * lib/unistr.h: Likewise.
55696         * lib/unistr/u-cpy-alloc.h: Likewise.
55697         * lib/unistr/u-cpy.h: Likewise.
55698         * lib/unistr/u-endswith.h: Likewise.
55699         * lib/unistr/u-move.h: Likewise.
55700         * lib/unistr/u-set.h: Likewise.
55701         * lib/unistr/u-startswith.h: Likewise.
55702         * lib/unistr/u-stpcpy.h: Likewise.
55703         * lib/unistr/u-stpncpy.h: Likewise.
55704         * lib/unistr/u-strcat.h: Likewise.
55705         * lib/unistr/u-strcpy.h: Likewise.
55706         * lib/unistr/u-strcspn.h: Likewise.
55707         * lib/unistr/u-strdup.h: Likewise.
55708         * lib/unistr/u-strlen.h: Likewise.
55709         * lib/unistr/u-strncat.h: Likewise.
55710         * lib/unistr/u-strncpy.h: Likewise.
55711         * lib/unistr/u-strnlen.h: Likewise.
55712         * lib/unistr/u-strpbrk.h: Likewise.
55713         * lib/unistr/u-strspn.h: Likewise.
55714         * lib/unistr/u-strstr.h: Likewise.
55715         * lib/unistr/u-strtok.h: Likewise.
55716         * lib/unistr/u16-check.c: Likewise.
55717         * lib/unistr/u16-chr.c: Likewise.
55718         * lib/unistr/u16-cmp.c: Likewise.
55719         * lib/unistr/u16-cpy-alloc.c: Likewise.
55720         * lib/unistr/u16-cpy.c: Likewise.
55721         * lib/unistr/u16-endswith.c: Likewise.
55722         * lib/unistr/u16-mblen.c: Likewise.
55723         * lib/unistr/u16-mbsnlen.c: Likewise.
55724         * lib/unistr/u16-mbtouc-aux.c: Likewise.
55725         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
55726         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
55727         * lib/unistr/u16-mbtouc.c: Likewise.
55728         * lib/unistr/u16-mbtoucr.c: Likewise.
55729         * lib/unistr/u16-move.c: Likewise.
55730         * lib/unistr/u16-next.c: Likewise.
55731         * lib/unistr/u16-prev.c: Likewise.
55732         * lib/unistr/u16-set.c: Likewise.
55733         * lib/unistr/u16-startswith.c: Likewise.
55734         * lib/unistr/u16-stpcpy.c: Likewise.
55735         * lib/unistr/u16-stpncpy.c: Likewise.
55736         * lib/unistr/u16-strcat.c: Likewise.
55737         * lib/unistr/u16-strchr.c: Likewise.
55738         * lib/unistr/u16-strcmp.c: Likewise.
55739         * lib/unistr/u16-strcpy.c: Likewise.
55740         * lib/unistr/u16-strcspn.c: Likewise.
55741         * lib/unistr/u16-strdup.c: Likewise.
55742         * lib/unistr/u16-strlen.c: Likewise.
55743         * lib/unistr/u16-strmblen.c: Likewise.
55744         * lib/unistr/u16-strmbtouc.c: Likewise.
55745         * lib/unistr/u16-strncat.c: Likewise.
55746         * lib/unistr/u16-strncmp.c: Likewise.
55747         * lib/unistr/u16-strncpy.c: Likewise.
55748         * lib/unistr/u16-strnlen.c: Likewise.
55749         * lib/unistr/u16-strpbrk.c: Likewise.
55750         * lib/unistr/u16-strrchr.c: Likewise.
55751         * lib/unistr/u16-strspn.c: Likewise.
55752         * lib/unistr/u16-strstr.c: Likewise.
55753         * lib/unistr/u16-strtok.c: Likewise.
55754         * lib/unistr/u16-to-u32.c: Likewise.
55755         * lib/unistr/u16-to-u8.c: Likewise.
55756         * lib/unistr/u16-uctomb-aux.c: Likewise.
55757         * lib/unistr/u16-uctomb.c: Likewise.
55758         * lib/unistr/u32-check.c: Likewise.
55759         * lib/unistr/u32-chr.c: Likewise.
55760         * lib/unistr/u32-cmp.c: Likewise.
55761         * lib/unistr/u32-cpy-alloc.c: Likewise.
55762         * lib/unistr/u32-cpy.c: Likewise.
55763         * lib/unistr/u32-endswith.c: Likewise.
55764         * lib/unistr/u32-mblen.c: Likewise.
55765         * lib/unistr/u32-mbsnlen.c: Likewise.
55766         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
55767         * lib/unistr/u32-mbtouc.c: Likewise.
55768         * lib/unistr/u32-mbtoucr.c: Likewise.
55769         * lib/unistr/u32-move.c: Likewise.
55770         * lib/unistr/u32-next.c: Likewise.
55771         * lib/unistr/u32-prev.c: Likewise.
55772         * lib/unistr/u32-set.c: Likewise.
55773         * lib/unistr/u32-startswith.c: Likewise.
55774         * lib/unistr/u32-stpcpy.c: Likewise.
55775         * lib/unistr/u32-stpncpy.c: Likewise.
55776         * lib/unistr/u32-strcat.c: Likewise.
55777         * lib/unistr/u32-strchr.c: Likewise.
55778         * lib/unistr/u32-strcmp.c: Likewise.
55779         * lib/unistr/u32-strcpy.c: Likewise.
55780         * lib/unistr/u32-strcspn.c: Likewise.
55781         * lib/unistr/u32-strdup.c: Likewise.
55782         * lib/unistr/u32-strlen.c: Likewise.
55783         * lib/unistr/u32-strmblen.c: Likewise.
55784         * lib/unistr/u32-strmbtouc.c: Likewise.
55785         * lib/unistr/u32-strncat.c: Likewise.
55786         * lib/unistr/u32-strncmp.c: Likewise.
55787         * lib/unistr/u32-strncpy.c: Likewise.
55788         * lib/unistr/u32-strnlen.c: Likewise.
55789         * lib/unistr/u32-strpbrk.c: Likewise.
55790         * lib/unistr/u32-strrchr.c: Likewise.
55791         * lib/unistr/u32-strspn.c: Likewise.
55792         * lib/unistr/u32-strstr.c: Likewise.
55793         * lib/unistr/u32-strtok.c: Likewise.
55794         * lib/unistr/u32-to-u16.c: Likewise.
55795         * lib/unistr/u32-to-u8.c: Likewise.
55796         * lib/unistr/u32-uctomb.c: Likewise.
55797         * lib/unistr/u8-check.c: Likewise.
55798         * lib/unistr/u8-chr.c: Likewise.
55799         * lib/unistr/u8-cmp.c: Likewise.
55800         * lib/unistr/u8-cpy-alloc.c: Likewise.
55801         * lib/unistr/u8-cpy.c: Likewise.
55802         * lib/unistr/u8-endswith.c: Likewise.
55803         * lib/unistr/u8-mblen.c: Likewise.
55804         * lib/unistr/u8-mbsnlen.c: Likewise.
55805         * lib/unistr/u8-mbtouc-aux.c: Likewise.
55806         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
55807         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
55808         * lib/unistr/u8-mbtouc.c: Likewise.
55809         * lib/unistr/u8-mbtoucr.c: Likewise.
55810         * lib/unistr/u8-move.c: Likewise.
55811         * lib/unistr/u8-next.c: Likewise.
55812         * lib/unistr/u8-prev.c: Likewise.
55813         * lib/unistr/u8-set.c: Likewise.
55814         * lib/unistr/u8-startswith.c: Likewise.
55815         * lib/unistr/u8-stpcpy.c: Likewise.
55816         * lib/unistr/u8-stpncpy.c: Likewise.
55817         * lib/unistr/u8-strcat.c: Likewise.
55818         * lib/unistr/u8-strchr.c: Likewise.
55819         * lib/unistr/u8-strcmp.c: Likewise.
55820         * lib/unistr/u8-strcpy.c: Likewise.
55821         * lib/unistr/u8-strcspn.c: Likewise.
55822         * lib/unistr/u8-strdup.c: Likewise.
55823         * lib/unistr/u8-strlen.c: Likewise.
55824         * lib/unistr/u8-strmblen.c: Likewise.
55825         * lib/unistr/u8-strmbtouc.c: Likewise.
55826         * lib/unistr/u8-strncat.c: Likewise.
55827         * lib/unistr/u8-strncmp.c: Likewise.
55828         * lib/unistr/u8-strncpy.c: Likewise.
55829         * lib/unistr/u8-strnlen.c: Likewise.
55830         * lib/unistr/u8-strpbrk.c: Likewise.
55831         * lib/unistr/u8-strrchr.c: Likewise.
55832         * lib/unistr/u8-strspn.c: Likewise.
55833         * lib/unistr/u8-strstr.c: Likewise.
55834         * lib/unistr/u8-strtok.c: Likewise.
55835         * lib/unistr/u8-to-u16.c: Likewise.
55836         * lib/unistr/u8-to-u32.c: Likewise.
55837         * lib/unistr/u8-uctomb-aux.c: Likewise.
55838         * lib/unistr/u8-uctomb.c: Likewise.
55839         * lib/unitypes.h: Likewise.
55840         * lib/uniwidth.h: Likewise.
55841         * lib/uniwidth/cjk.h: Likewise.
55842         * lib/uniwidth/u16-strwidth.c: Likewise.
55843         * lib/uniwidth/u16-width.c: Likewise.
55844         * lib/uniwidth/u32-strwidth.c: Likewise.
55845         * lib/uniwidth/u32-width.c: Likewise.
55846         * lib/uniwidth/u8-strwidth.c: Likewise.
55847         * lib/uniwidth/u8-width.c: Likewise.
55848         * lib/uniwidth/width.c: Likewise.
55849
55850 2007-10-07  Bruno Haible  <bruno@clisp.org>
55851
55852         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
55853         The file is still under LGPL (see modules/inttypes).
55854
55855 2007-10-06  Bruno Haible  <bruno@clisp.org>
55856
55857         * modules/trunc (Dependencies): Add 'extensions'.
55858         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
55859         Reported by Ben Pfaff <blp@gnu.org>.
55860
55861 2007-10-06  Bruno Haible  <bruno@clisp.org>
55862
55863         * modules/freopen-tests: New file.
55864         * tests/test-freopen.c: New file.
55865
55866         * modules/fopen-tests: New file.
55867         * tests/test-fopen.c: New file.
55868
55869         * modules/fopen: New file.
55870         * lib/fopen.c: New file.
55871         * m4/fopen.m4: New file.
55872         * modules/freopen: New file.
55873         * lib/freopen.c: New file.
55874         * m4/freopen.m4: New file.
55875         * lib/stdio.in.h (fopen, freopen): New declarations.
55876         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
55877         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55878         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
55879         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55880         * doc/functions/fopen.texi: Mention the 'fopen' module.
55881         * doc/functions/freopen.texi: Mention the 'freopen' module.
55882
55883 2007-10-06  Bruno Haible  <bruno@clisp.org>
55884
55885         * modules/open-tests: New file.
55886         * tests/test-open.c: New file.
55887
55888         * modules/open: New file.
55889         * lib/open.c: New file.
55890         * m4/open.m4: New file.
55891         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
55892         lib/open.c does.
55893         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
55894         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
55895         macros.
55896         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
55897         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
55898         REPLACE_OPEN.
55899         * doc/functions/open.texi: Mention the 'open' module.
55900
55901 2007-10-04  Bruno Haible  <bruno@clisp.org>
55902
55903         * modules/ceill-tests: New file.
55904         * tests/test-ceill.c: New file.
55905
55906         * modules/ceill: New file.
55907         * lib/ceill.c: Replace entire file.
55908         * m4/ceill.m4: New file.
55909         * lib/math.in.h (ceill): Replace declaration.
55910         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
55911         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
55912         * doc/functions/ceill.texi: Mention the 'ceill' module.
55913         * modules/mathl (Files): Remove lib/ceill.c.
55914         (Depends-on): Add ceill.
55915
55916 2007-10-04  Bruno Haible  <bruno@clisp.org>
55917
55918         * modules/ceilf-tests: New file.
55919         * tests/test-ceilf.c: New file.
55920
55921         * modules/ceilf: New file.
55922         * lib/ceil.c: New file.
55923         * lib/ceilf.c: New file.
55924         * m4/ceilf.m4: New file.
55925         * lib/math.in.h (ceilf): New declaration.
55926         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
55927         HAVE_DECL_CEILF.
55928         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
55929         HAVE_DECL_CEILF.
55930         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
55931
55932 2007-10-04  Bruno Haible  <bruno@clisp.org>
55933
55934         * modules/floorl-tests: New file.
55935         * tests/test-floorl.c: New file.
55936
55937         * modules/floorl: New file.
55938         * lib/floorl.c: Replace entire file.
55939         * m4/floorl.m4: New file.
55940         * lib/math.in.h (floorl): Replace declaration.
55941         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
55942         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
55943         * doc/functions/floorl.texi: Mention the 'floorl' module.
55944         * modules/mathl (Files): Remove lib/floorl.c.
55945         (Depends-on): Add floorl.
55946
55947 2007-10-04  Bruno Haible  <bruno@clisp.org>
55948
55949         * modules/floorf-tests: New file.
55950         * tests/test-floorf.c: New file.
55951
55952         * modules/floorf: New file.
55953         * lib/floor.c: New file.
55954         * lib/floorf.c: New file.
55955         * m4/floorf.m4: New file.
55956         * lib/math.in.h (floorf): New declaration.
55957         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
55958         HAVE_DECL_FLOORF.
55959         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
55960         HAVE_DECL_FLOORF.
55961         * doc/functions/floorf.texi: Mention the 'floorf' module.
55962
55963 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
55964             Bruno Haible  <bruno@clisp.org>
55965
55966         Advertise for the Git server instead of the CVS server.
55967         * doc/gnulib-intro.texi (Steady Development): Mention the Git
55968         repository instead of the CVS one.
55969         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
55970         about all VCS systems generically.
55971         * doc/gnulib.texi (Introduction): Capitalize `Git'.
55972
55973 2007-10-04  Bruno Haible  <bruno@clisp.org>
55974
55975         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
55976         means.
55977         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
55978
55979 2007-10-04  Bruno Haible  <bruno@clisp.org>
55980
55981         * modules/truncl-tests: New file.
55982         * tests/test-truncl.c: New file.
55983
55984         * modules/truncl: New file.
55985         * lib/truncl.c: New file.
55986         * m4/truncl.m4: New file.
55987         * lib/math.in.h (truncl): New declaration.
55988         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
55989         HAVE_DECL_TRUNCL.
55990         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
55991         HAVE_DECL_TRUNCL.
55992         * doc/functions/truncl.texi: Mention the 'truncl' module.
55993
55994 2007-10-04  Bruno Haible  <bruno@clisp.org>
55995
55996         * modules/truncf-tests: New file.
55997         * tests/test-truncf.c: New file.
55998
55999         * modules/truncf: New file.
56000         * lib/trunc.c: Make paramerizable through USE_* macros.
56001         * lib/truncf.c: New file.
56002         * m4/truncf.m4: New file.
56003         * lib/math.in.h (truncf): New declaration.
56004         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
56005         HAVE_DECL_TRUNCF.
56006         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
56007         HAVE_DECL_TRUNCF.
56008         * doc/functions/truncf.texi: Mention the 'truncf' module.
56009
56010 2007-10-03  Bruno Haible  <bruno@clisp.org>
56011
56012         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56013         augmentation also for tests modules.
56014         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
56015         * modules/atexit-tests (Makefile.am): Likewise.
56016         * modules/binary-io-tests (Makefile.am): Likewise.
56017         * modules/c-strcase-tests (Makefile.am): Likewise.
56018         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
56019         * modules/canonicalize-tests (Makefile.am): Likewise.
56020         * modules/closein-tests (Makefile.am): Likewise.
56021         * modules/fprintf-posix-tests (Makefile.am): Likewise.
56022         * modules/freadahead-tests (Makefile.am): Likewise.
56023         * modules/fseek-tests (Makefile.am): Likewise.
56024         * modules/fseeko-tests (Makefile.am): Likewise.
56025         * modules/ftell-tests (Makefile.am): Likewise.
56026         * modules/ftello-tests (Makefile.am): Likewise.
56027         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
56028         * modules/isnanl-tests (Makefile.am): Likewise.
56029         * modules/lseek-tests (Makefile.am): Likewise.
56030         * modules/mbscasecmp-tests (Makefile.am): Likewise.
56031         * modules/mbscasestr-tests (Makefile.am): Likewise.
56032         * modules/mbschr-tests (Makefile.am): Likewise.
56033         * modules/mbscspn-tests (Makefile.am): Likewise.
56034         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
56035         * modules/mbspbrk-tests (Makefile.am): Likewise.
56036         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
56037         * modules/mbsrchr-tests (Makefile.am): Likewise.
56038         * modules/mbsspn-tests (Makefile.am): Likewise.
56039         * modules/mbsstr-tests (Makefile.am): Likewise.
56040         * modules/printf-posix-tests (Makefile.am): Likewise.
56041         * modules/snprintf-posix-tests (Makefile.am): Likewise.
56042         * modules/sprintf-posix-tests (Makefile.am): Likewise.
56043         * modules/tsearch-tests (Makefile.am): Likewise.
56044         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56045         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
56046         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
56047         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
56048         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
56049         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
56050         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56051         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56052         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
56053         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
56054         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56055         * modules/xstrtol-tests (Makefile.am): Likewise.
56056         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56057         * modules/yesno-tests (Makefile.am): Likewise.
56058
56059 2007-10-03  Bruno Haible  <bruno@clisp.org>
56060
56061         * modules/trunc-tests: New file.
56062         * tests/test-trunc.c: New file.
56063
56064         * modules/trunc: New file.
56065         * lib/trunc.c: New file.
56066         * m4/trunc.m4: New file.
56067         * lib/math.in.h (trunc): New declaration.
56068         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
56069         HAVE_DECL_TRUNC.
56070         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
56071         HAVE_DECL_TRUNC.
56072         * doc/functions/trunc.texi: Mention the 'trunc' module.
56073
56074 2007-10-03  Bruno Haible  <bruno@clisp.org>
56075
56076         * tests/test-fpending.c: New file, mostly copied
56077         from coreutils/lib/t-fpending.c.
56078         * modules/fpending-tests: New file.
56079
56080 2007-10-03  Bruno Haible  <bruno@clisp.org>
56081
56082         Port the stdio extensions to QNX (untested).
56083         * lib/fseterr.c (fseterr): Add support for QNX.
56084         * lib/fbufmode.c (fbufmode): Likewise.
56085         * lib/freadable.c (freadable): Likewise.
56086         * lib/fwritable.c (fwritable): Likewise.
56087         * lib/freading.c (freading): Likewise.
56088         * lib/fwriting.c (fwriting): Likewise.
56089         * lib/freadahead.c (freadahed): Likewise.
56090         * lib/fpurge.c (fpurge): Likewise.
56091         * lib/fseeko.c (rpl_fseeko): Likewise.
56092
56093 2007-10-03  Bruno Haible  <bruno@clisp.org>
56094             Jim Meyering  <jim@meyering.net>
56095             Eric Blake  <ebb9@byu.net>
56096
56097         * doc/relocatable.texi: Use @command instead of @program.
56098
56099 2007-10-02  Jim Meyering  <jim@meyering.net>
56100
56101         Perform one more "_.h" -> ".in.h" substitution.
56102         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
56103         instead of unistd_.h here, too.
56104
56105 2007-10-01  Bruno Haible  <bruno@clisp.org>
56106
56107         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
56108         Needed for the alloca-opt module.
56109
56110 2007-09-30  Bruno Haible  <bruno@clisp.org>
56111
56112         * lib/alloca.in.h: Renamed from lib/alloca_.h.
56113         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
56114         alloca_.h.
56115         * lib/argz.in.h: Renamed from lib/argz_.h.
56116         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
56117         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
56118         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
56119         byteswap_.h.
56120         * lib/dirent.in.h: Renamed from lib/dirent_.h.
56121         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
56122         dirent_.h.
56123         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
56124         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
56125         fcntl_.h.
56126         * lib/float.in.h: Renamed from lib/float_.h.
56127         * modules/float (Files, Makefile.am): Use float.in.h instead of
56128         float_.h.
56129         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
56130         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
56131         fnmatch_.h.
56132         * lib/getopt.in.h: Renamed from lib/getopt_.h.
56133         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
56134         getopt_.h.
56135         * lib/glob.in.h: Renamed from lib/glob_.h.
56136         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
56137         * lib/iconv.in.h: Renamed from lib/iconv_.h.
56138         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
56139         iconv_.h.
56140         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
56141         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
56142         inttypes_.h.
56143         * lib/locale.in.h: Renamed from lib/locale_.h.
56144         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
56145         locale_.h.
56146         * lib/math.in.h: Renamed from lib/math_.h.
56147         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
56148         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
56149         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
56150         of netinet_in_.h. Add dependency.
56151         * lib/poll.in.h: Renamed from lib/poll_.h.
56152         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
56153         * lib/search.in.h: Renamed from lib/search_.h.
56154         * modules/search (Files, Makefile.am): Use search.in.h instead of
56155         search_.h.
56156         * lib/signal.in.h: Renamed from lib/signal_.h.
56157         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
56158         _signal.h.
56159         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
56160         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
56161         stdbool_.h.
56162         * lib/stdint.in.h: Renamed from lib/stdint_.h.
56163         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
56164         stdint_.h.
56165         * lib/stdio.in.h: Renamed from lib/stdio_.h.
56166         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
56167         stdio_.h.
56168         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
56169         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
56170         stdlib_.h.
56171         * lib/string.in.h: Renamed from lib/string_.h.
56172         * modules/string (Files, Makefile.am): Use string.in.h instead of
56173         string_.h.
56174         * doc/gnulib-tool.texi (Initial import): Update.
56175         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
56176         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
56177         of sys_select_.h. Add dependency.
56178         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
56179         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
56180         of sys_socket_.h.
56181         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
56182         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
56183         sys_stat_.h.
56184         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
56185         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
56186         sys_time_.h.
56187         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
56188         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
56189         sysexits_.h.
56190         * lib/time.in.h: Renamed from lib/time_.h.
56191         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
56192         * lib/unistd.in.h: Renamed from lib/unistd_.h.
56193         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
56194         unistd_.h.
56195         * lib/wchar.in.h: Renamed from lib/wchar_.h.
56196         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
56197         wchar_.h.
56198         * lib/wctype.in.h: Renamed from lib/wctype_.h.
56199         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
56200         wctype_.h.
56201         * build-aux/bootstrap (slurp): Update.
56202         * lib/.cppi-disable: Update.
56203
56204 2007-09-30  Bruno Haible  <bruno@clisp.org>
56205
56206         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
56207         Needed on BeOS.
56208
56209 2007-09-30  Bruno Haible  <bruno@clisp.org>
56210
56211         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
56212
56213 2007-09-29  Bruno Haible  <bruno@clisp.org>
56214
56215         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
56216
56217 2007-09-29  Bruno Haible  <bruno@clisp.org>
56218
56219         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
56220         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
56221         * build-aux/install-reloc: Compile also areadlink.c.
56222         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
56223
56224 2007-09-29  Bruno Haible  <bruno@clisp.org>
56225
56226         * gnulib-tool (func_emit_initmacro_done): Indentation.
56227
56228 2007-09-29  Bruno Haible  <bruno@clisp.org>
56229
56230         * README: Add CVS checkout update instructions.
56231         Info from Bob Proulx <bob@proulx.com>.
56232
56233 2007-09-28  Eric Blake  <ebb9@byu.net>
56234
56235         Provide move-if-change.
56236         * build-aux/move-if-change: New file, based on best practice
56237         rather than any canonical upstream location.
56238
56239 2007-09-28  Jim Meyering  <jim@meyering.net>
56240
56241         Fix canonicalize loop-detection corner case.
56242         Do not attempt to stat the symlink values stored via seen_triple.
56243         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
56244         on linux-2.6.18, (but not 2.6.22).
56245         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
56246         triple_compare.  The former compares dev,ino,filename, while the latter
56247         would actually stat dirname(filename) when dev and ino were equal.
56248         * lib/hash-triple.c: Install <string.h>.
56249         (STREQ): Define.
56250         (triple_compare_ino_str): New function.
56251         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
56252
56253 2007-09-28  Eric Blake  <ebb9@byu.net>
56254
56255         Enforce that AC_REPLACE_FUNCS files exist.
56256         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
56257         override check for typos.
56258
56259         Fix test-closein on Solaris 10.
56260         * tests/test-closein.c (main): Don't assume stdin can be inherited
56261         closed on all systems.
56262         * tests/test-closein.sh: Likewise.
56263         Reported by Piotr Tarnowski.
56264
56265 2007-09-28  Jim Meyering  <jim@meyering.net>
56266
56267         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
56268
56269 2007-09-27  Jim Meyering  <jim@meyering.net>
56270
56271         canonicalize: Avoid a false-positive cycle failure.
56272         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
56273         Sort.  Remove cycle-check.
56274         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
56275         not cycle-check.h.
56276         (seen_triple): New function.
56277         (canonicalize_filename_mode): Use it instead of cycle-check.
56278         * tests/test-canonicalize.c: Add a test for this bug.
56279         * tests/test-canonicalize.sh: Set up and run the test.
56280
56281         New module, file-set, from coreutils.
56282         * modules/file-set: Define it.
56283         * lib/file-set.c, lib/file-set.h: Implement.
56284
56285         New module, hash-triple, from coreutils.
56286         * modules/hash-triple: Define it.
56287         * lib/hash-triple.c, lib/hash-triple.h: Implement.
56288
56289 2007-09-25  Eric Blake  <ebb9@byu.net>
56290
56291         Fix strerror on Interix.
56292         * lib/string_.h (strerror): Declare replacement.
56293         * doc/functions/strerror.texi (strerror): Document the Interix
56294         shortcoming.
56295         * modules/string (Makefile.am): Support new hooks.
56296         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
56297         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
56298         gl_FUNC_STRERROR_SEPARATE.
56299         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
56300         * lib/strerror.c (rpl_strerror): Provide replacement.
56301         * modules/strerror (Depends-on): Add string.
56302         (configure.ac): Detect use of module.
56303         * tests/test-strerror.c: New file.
56304         * modules/strerror-tests: New test module.
56305         * modules/argp (Depends-on): Add strerror.
56306         * modules/error (Depends-on): Likewise.
56307         Reported by Martin Koeppe.
56308
56309 2007-09-24  Bruno Haible  <bruno@clisp.org>
56310
56311         * README: Update git instructions.
56312
56313 2007-09-24  Eric Blake  <ebb9@byu.net>
56314
56315         Revert fpending breakage from 2007-09-08.
56316         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
56317         __fpending.c.
56318
56319 2007-09-24  Jim Meyering  <jim@meyering.net>
56320
56321         filenamecat.c: Add a test.
56322         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
56323         showing how the function works when DIR is the empty string.
56324
56325 2007-09-21  Simon Josefsson  <simon@josefsson.org>
56326
56327         * tests/test-canonicalize.sh: Turn on executable bit.
56328
56329 2007-09-19  Eric Blake  <ebb9@byu.net>
56330
56331         * README: Update CVS instructions.
56332
56333 2007-09-18  Bruno Haible  <bruno@clisp.org>
56334
56335         * modules/areadlink: New file.
56336         * lib/areadlink.h (areadlink): New declaration.
56337         * lib/areadlink.c: New file, based on lib/xreadlink.c.
56338
56339 2007-09-17  Jim Meyering  <jim@meyering.net>
56340
56341         * lib/savewd.c (ESTALE) [!defined]: Define.
56342         Reported to be required on Interix by Martin Koeppe.
56343
56344 2007-09-17  Bruno Haible  <bruno@clisp.org>
56345
56346         * gnulib-tool (func_version): Use $version.
56347
56348 2007-09-16  Bruno Haible  <bruno@clisp.org>
56349
56350         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
56351         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
56352         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
56353         Reported by Greg Schafer <gschafer@zip.com.au>.
56354
56355 2007-09-15  Bruno Haible  <bruno@clisp.org>
56356
56357         * gnulib-tool (sed): Try a little harder to make bash understand the
56358         alias.
56359         Reported by Bruce Korb <bruce.korb@gmail.com>.
56360
56361 2007-09-13  Eric Blake  <ebb9@byu.net>
56362
56363         * ChangeLog: Remove conflict markers.
56364
56365 2007-09-13  Simon Josefsson  <simon@josefsson.org>
56366
56367         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
56368         Reported by Bruno Haible <bruno@clisp.org>.
56369
56370 2007-09-12  Bruno Haible  <bruno@clisp.org>
56371
56372         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
56373         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
56374         is not defined.
56375
56376 2007-09-12  Eric Blake  <ebb9@byu.net>
56377
56378         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
56379         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
56380         Autoconf definition.
56381         * modules/euidaccess (Depends-on): Add extensions, for
56382         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
56383         * modules/fnmatch (Depends-on): Likewise.
56384         * modules/getaddrinfo (Depends-on): Likewise.
56385         * modules/getdelim (Depends-on): Likewise.
56386         * modules/getline (Depends-on): Likewise.
56387         * modules/getsubopt (Depends-on): Likewise.
56388         * modules/gettext (Depends-on): Likewise.
56389         * modules/group-member (Depends-on): Likewise.
56390         * modules/mbchar (Depends-on): Likewise.
56391         * modules/memmem (Depends-on): Likewise.
56392         * modules/mempcpy (Depends-on): Likewise.
56393         * modules/memrchr (Depends-on): Likewise.
56394         * modules/pagealign_alloc (Depends-on): Likewise.
56395         * modules/readutmp (Depends-on): Likewise.
56396         * modules/stpcpy (Depends-on): Likewise.
56397         * modules/stpncpy (Depends-on): Likewise.
56398         * modules/strchrnul (Depends-on): Likewise.
56399         * modules/strndup (Depends-on): Likewise.
56400         * modules/strsep (Depends-on): Likewise.
56401         * modules/strverscmp (Depends-on): Likewise.
56402         * modules/vasprintf (Depends-on): Likewise.
56403         * modules/wcwidth (Depends-on): Likewise.
56404         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
56405         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
56406         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
56407         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
56408         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56409         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56410         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
56411         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56412         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
56413         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56414         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56415         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56416         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56417         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
56418         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
56419         * m4/readutmp.m4 (gl_READUTMP): Likewise.
56420         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56421         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56422         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56423         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56424         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56425         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56426         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56427         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
56428         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
56429         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56430         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
56431         so that lock.m4 can be used in gettext without extensions module.
56432
56433 2007-09-11  Bruno Haible  <bruno@clisp.org>
56434
56435         * m4/isc-posix.m4: Remove file.
56436         Suggested by Eric Blake.
56437
56438 2007-09-11  Eric Blake  <ebb9@byu.net>
56439
56440         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
56441
56442 2007-09-10  Bruno Haible  <bruno@clisp.org>
56443
56444         * posix-modules: Fix typo in error message.
56445         Reported by Matt <mkraai@beckman.com>.
56446
56447 2007-09-09  Bruno Haible  <bruno@clisp.org>
56448
56449         * doc/functions/getdelim.texi: Update list of platforms lacking the
56450         function.
56451         * doc/functions/getline.texi: Likewise.
56452
56453 2007-09-09  Jim Meyering  <jim@meyering.net>
56454
56455         * lib/hash.c (hash_initialize): Detect calloc failure.
56456         Reported by Bruno Haible.
56457
56458 2007-09-09  Bruno Haible  <bruno@clisp.org>
56459
56460         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
56461         malloc or realloc fails.
56462
56463 2007-09-09  Bruno Haible  <bruno@clisp.org>
56464
56465         * modules/getcwd (Depends-on): Add malloc-posix.
56466         * modules/glob (Depends-on): Likewise.
56467         * modules/putenv (Depends-on): Likewise.
56468         * modules/strdup (Depends-on): Likewise.
56469         * modules/getdelim (Depends-on): Add realloc-posix.
56470         * modules/read-file (Depends-on): Likewise.
56471
56472 2007-09-09  Bruno Haible  <bruno@clisp.org>
56473
56474         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56475         (gl_FUNC_MALLOC_POSIX): Require it.
56476         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56477         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56478         * modules/realloc (Files): Add m4/malloc.m4.
56479         * modules/calloc (Files): Likewise.
56480
56481 2007-09-09  Bruno Haible  <bruno@clisp.org>
56482
56483         * modules/malloc-posix: New file.
56484         * modules/malloc (Depends-on): Add malloc-posix.
56485         * lib/malloc.c: Include errno.h.
56486         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56487         and a POSIX-compatible malloc into a single function. Set ENOMEM
56488         when returning NULL.
56489         * m4/malloc.m4: New file.
56490         * doc/functions/malloc.texi: Mention the malloc-posix module.
56491         * lib/stdlib_.h (malloc): New declaration.
56492         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56493         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56494         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56495         and HAVE_MALLOC_POSIX.
56496
56497 2007-09-09  Bruno Haible  <bruno@clisp.org>
56498
56499         * modules/realloc-posix: New file.
56500         * modules/realloc (Depends-on): Add realloc-posix.
56501         * lib/realloc.c: Include errno.h.
56502         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56503         and a POSIX-compatible realloc into a single function. Set ENOMEM
56504         when returning NULL.
56505         * m4/realloc.m4: New file.
56506         * doc/functions/realloc.texi: Mention the realloc-posix module.
56507         * lib/stdlib_.h (realloc): New declaration.
56508         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56509         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56510         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56511         and HAVE_REALLOC_POSIX.
56512
56513 2007-09-09  Bruno Haible  <bruno@clisp.org>
56514
56515         * modules/calloc-posix: New file.
56516         * modules/calloc (Depends-on): Add calloc-posix.
56517         * lib/calloc.c: Include errno.h.
56518         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56519         and a POSIX-compatible calloc into a single function. Set ENOMEM
56520         when returning NULL.
56521         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56522         * doc/functions/calloc.texi: Mention the calloc-posix module.
56523         * lib/stdlib_.h (calloc): New declaration.
56524         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56525         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
56526         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
56527         and HAVE_CALLOC_POSIX.
56528
56529 2007-09-09  Bruno Haible  <bruno@clisp.org>
56530
56531         Allow for modules to show an arbitrary notice.
56532         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
56533         * gnulib-tool: New option --extract-notice.
56534         (func_usage): Document it.
56535         (sed_extract_prog): Update.
56536         (func_get_notice): New function.
56537         (func_modules_notice): New function.
56538         (func_import, func_create_testdir): Invoke it.
56539         Suggested by Jim Meyering.
56540
56541 2007-09-09  Bruno Haible  <bruno@clisp.org>
56542
56543         * gnulib-tool: New options --verbose, --quiet.
56544         (func_usage): Document them.
56545         (verbose): New variable.
56546         (func_execute_command): New function.
56547         (func_import): Don't show the module list and the file list if
56548         $verbose < 0.
56549         (func_create_testdir): Likewise. Use func_execute_command.
56550         (func_create_megatestdir): Use func_execute_command.
56551
56552 2007-09-08  Bruno Haible  <bruno@clisp.org>
56553
56554         * gnulib-tool (func_import): Prefer rsync over wget when available,
56555         for fetching the PO files.
56556
56557 2007-09-08  Bruno Haible  <bruno@clisp.org>
56558
56559         * posix-modules: New file. Portions copied from gnulib-tool.
56560         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
56561
56562 2007-09-08  Jim Meyering  <jim@meyering.net>
56563
56564         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
56565         * lib/fpending.h: Rename from __fpending.h.
56566         * lib/fpending.c: Rename from __fpending.c.
56567         Include "fpending.h", not "__fpending.h".
56568         * lib/__fpending.h, lib/__fpending.c: Remove files.
56569         * modules/fpending (Files): Reflect new file names.
56570         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
56571
56572 2007-09-08  Bruno Haible  <bruno@clisp.org>
56573
56574         * m4/inttypes-h.m4: Remove stub file.
56575
56576 2007-09-07  Simon Josefsson  <simon@josefsson.org>
56577
56578         * doc/headers/stdint.texi: Discuss #include_next issue.
56579
56580 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56581
56582         * build-aux/bootstrap: Remove obsolete comment about wget --help.
56583
56584 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56585
56586         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
56587         in variable name.
56588
56589 2007-09-03  Jim Meyering  <jim@meyering.net>
56590
56591         New module: git-version-gen.
56592         * modules/git-version-gen: New file.
56593
56594         Import changes from coreutils for bootstrap script.
56595
56596         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
56597
56598         bootstrap: uses rsync to download the .po files
56599         * build-aux/bootstrap (po_download_command_format): New global.
56600         (download_po_files): Use rsync.
56601         (update_po_files): Don't remove .po files after download,
56602         so future rsync runs can take advantage of the copies.
56603
56604         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
56605
56606         Solve the unnecessary-.po-file-regeneration problem once and for all.
56607         * build-aux/bootstrap (download_po_files): New function, renamed from
56608         get_translations.  Now, downloads, but doesn't update LINGUAS.
56609         (update_po_files): New function.
56610
56611         bootstrap: Ignore more.
56612         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
56613         uniwidth to e.g., lib/.gitignore.
56614         (slurp): Handle the sys_stat_.h -> sys mapping, too.
56615
56616         * build-aux/bootstrap: New setting: vc_ignore.
56617         (insert_sorted_if_absent): Create $file if absent.
56618         Adapt to new, possibly empty, list: $vc_ignore.
56619
56620         bootstrap: generate more ignorable names
56621         * build-aux/bootstrap (slurp): When generating ignorable names,
56622         also map .sin to .sed, .gperf to .c, and .y to .c.
56623
56624 2007-09-03  Jim Meyering  <jim@meyering.net>
56625
56626         * build-aux/git-version-gen: New file, from coreutils.  For details, see
56627         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
56628
56629 2007-09-02  Bruno Haible  <bruno@clisp.org>
56630
56631         Fix mis-recognition of 'mcs' on QNX 6.
56632         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
56633         output contains the string "Mono".
56634         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
56635         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
56636
56637 2007-09-01  Bruno Haible  <bruno@clisp.org>
56638
56639         Fix collision between uniwidth/* and linebreak modules.
56640         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
56641         u32_width): Remove declarations.
56642         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
56643         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
56644         streq3, streq2, streq1, streq0): Remove functions.
56645         (STREQ): Remove macro.
56646         (is_cjk_encoding): Remove function.
56647         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
56648         (uc_width, u8_width, u16_width, u32_width): Remove functions.
56649         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
56650         * NEWS: Document the change.
56651
56652 2007-09-01  Bruno Haible  <bruno@clisp.org>
56653
56654         * lib/streq.h: Add double-inclusion guard.
56655
56656 2007-09-01  Karl Berry  <karl@gnu.org>
56657
56658         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
56659
56660 2007-08-28  Jim Meyering  <jim@meyering.net>
56661
56662         Rename mreadlink_with_size to areadlink_with_size.
56663         * NEWS: Document the change.
56664         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
56665         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
56666         * lib/mreadlink.h: Rename this to...
56667         * lib/areadlink.h: ...this.
56668         * modules/mreadlink-with-size: Rename this to...
56669         * modules/areadlink-with-size: ...this.
56670         * lib/canonicalize.c: Reflect the renaming.
56671         * modules/canonicalize: Likewise.
56672
56673 2007-08-26  Bruno Haible  <bruno@clisp.org>
56674
56675         * gnulib-tool (func_import): When deciding which files to remove,
56676         consider also dangling symbolic links.
56677         Reported by Eric Blake.
56678
56679 2007-08-26  Bruno Haible  <bruno@clisp.org>
56680
56681         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
56682
56683 2007-08-23  Simon Josefsson  <simon@josefsson.org>
56684
56685         * lib/readline.c: Don't include getline.h, the prototype is now
56686         found in stdio.h.
56687
56688 2007-08-23  Jim Meyering  <jim@meyering.net>
56689
56690         Getdelim touchup.
56691         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
56692         around the funlockfile call, since funlockfile never sets errno.
56693         Don't set errno upon failed realloc.
56694
56695 2007-08-22  Eric Blake  <ebb9@byu.net>
56696
56697         Getline touchups.
56698         * lib/getdelim.c (getdelim): Revert regression that required *n to
56699         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
56700         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
56701         getdelim, rather than whether implementation is missing.
56702         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
56703         * lib/stdio_.h (getline): Also declare if replacement is
56704         required.
56705         * doc/functions/getdelim.texi: New file.
56706         * doc/functions/getline.texi: Likewise.
56707         * doc/gnulib.texi (Function Substitutes): Add new files.
56708         Reported by Bruno Haible.
56709
56710 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
56711
56712         * users.txt: Add Guile.
56713
56714 2007-08-22  Eric Blake  <ebb9@byu.net>
56715
56716         * tests/test-getdelim.c (main): Use remove, not unlink.
56717         * tests/test-getline.c (main): Likewise.
56718
56719         Move getline and getdelim into stdio.h, per POSIX 200x.
56720         * modules/getline (Files): Remove getline.h.
56721         (Depends-on): Add stdio.
56722         (configure.ac): Add module indicator.
56723         * modules/getdelim (Files): Remove getdelim.h.
56724         (Depends-on): Add stdio.
56725         (configure.ac): Add module indicator.
56726         * modules/stdio (Makefile.am): Work with new indicators.
56727         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
56728         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
56729         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56730         * lib/getdelim.h: Delete.
56731         * lib/getline.h: Delete.
56732         * lib/stdio_.h (getdelim, getline): Declare.
56733         * modules/getdelim-tests: New module.
56734         * modules/getline-tests: Likewise.
56735         * tests/test-getdelim.c: New file.
56736         * tests/test-getline.c: Likewise.
56737         * NEWS: Document the change.
56738         * lib/getline.c: Update choice of header.
56739         * lib/csharpcomp.c: Likewise.
56740         * lib/getpass.c: Likewise.
56741         * lib/javacomp.c: Likewise.
56742         * lib/javaversion.c: Likewise.
56743         * lib/yesno.c: Likewise.
56744         * lib/getdelim.c: Likewise.
56745         (getdelim): Set errno on failure, and avoid memory leak.
56746
56747 2007-08-19  Bruno Haible  <bruno@clisp.org>
56748
56749         * modules/closein (Depends-on): Add freadahead.
56750         * lib/closein.c: Include freadahead.h.
56751         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
56752         is zero.
56753
56754 2007-08-19  Bruno Haible  <bruno@clisp.org>
56755
56756         * modules/freadahead-tests: New file.
56757         * tests/test-freadahead.sh: New file.
56758         * tests/test-freadahead.c: New file.
56759
56760         * modules/freadahead: New file.
56761         * lib/freadahead.h: New file.
56762         * lib/freadahead.c: New file.
56763         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
56764         fbufmode, fpurge, freadable, fwritable.
56765
56766 2007-08-19  Eric Blake  <ebb9@byu.net>
56767
56768         Test yesno in combination with closein.
56769         * lib/yesno.c (yesno): Document use of stdin.
56770         * modules/yesno-tests (Files): New module.
56771         * tests/test-yesno.c (main): New file.
56772         * tests/test-yesno.sh: Likewise.
56773
56774 2007-08-19  Bruno Haible  <bruno@clisp.org>
56775
56776         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
56777         * lib/fseeko.c (rpl_fseeko): Likewise.
56778         * lib/fseterr.c (fseterr): Likewise.
56779
56780 2007-08-19  Bruno Haible  <bruno@clisp.org>
56781
56782         * tests/test-lseek.c (main): Disable a test for BeOS.
56783         * doc/functions/lseek.texi: Document the BeOS bug.
56784
56785 2007-08-19  Bruno Haible  <bruno@clisp.org>
56786             Eric Blake  <ebb9@byu.net>
56787
56788         * lib/lseek.c: Include <sys/stat.h>.
56789         (rpl_lseek): Add workaround code also for Unix platforms.
56790         Needed for BeOS.
56791         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
56792         * doc/functions/lseek.texi: Document BeOS definiency.
56793
56794 2007-08-18  Bruno Haible  <bruno@clisp.org>
56795
56796         * modules/fstrcmp-tests: New file.
56797         * tests/test-fstrcmp.c: New file.
56798
56799 2007-08-18  Bruno Haible  <bruno@clisp.org>
56800
56801         * modules/fstrcmp: New file, from GNU gettext with modifications.
56802         * lib/fstrcmp.h: New file, from GNU gettext.
56803         * lib/fstrcmp.c: New file, from GNU gettext.
56804         * MODULES.html.sh (String handling): Add fstrcmp.
56805
56806 2007-08-18  Bruno Haible  <bruno@clisp.org>
56807
56808         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
56809         'bool'.
56810         (diag, compareseq): Remove const from the ctxt argument.
56811         (USE_HEURISTIC): Undefine at the end.
56812
56813 2007-08-18  Jim Meyering  <jim@meyering.net>
56814
56815         New file: lib/idcache.h
56816         * NEWS: Mention the addition.
56817         * modules/idcache (Files): Add lib/idcache.h
56818         * lib/idcache.c: Include "idcache.h".
56819         Don't include <sys/types.h>.
56820         Add a FIXME comment.
56821         Move file-scoped "static" declarations to the top.
56822         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
56823
56824 2007-08-17  Bruno Haible  <bruno@clisp.org>
56825         and Paul Eggert  <eggert@cs.ucla.edu>
56826
56827         * MODULES.html.sh: Add diffseq.
56828         * modules/diffseq: New file.
56829         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
56830         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
56831
56832 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56833
56834         Import changes from coreutils for bootstrap script.
56835
56836         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
56837
56838         * build-aux/bootstrap (slurp): Work even in environments where
56839         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
56840         current code does not slurp files whose names start with ".", and
56841         this looks like it might be a troublesome area.
56842
56843         2007-07-11  Jim Meyering  <jim@meyering.net>
56844
56845         If there's a GPL vN copyright comment, require that N == 3.
56846
56847         2007-07-08  Jim Meyering  <jim@meyering.net>
56848
56849         Run the coreutils-specific code only if tests/Makefile.am.in exists.
56850         * build-aux/bootstrap (mam_template): Move definition out of loop.
56851
56852         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
56853
56854         * build-aux/bootstrap (symlink_to_dir): Rename function from
56855         symlink_to_gnulib.  Add a directory parameter.  Update all
56856         callers.
56857         (cp_mark_as_generated): Also check for -- and link to -- files in
56858         gl/.
56859
56860         2007-07-08  Jim Meyering  <jim@meyering.net>
56861
56862         Adapt to deeper hierarchy in gnulib.
56863         * build-aux/bootstrap (symlink_to_dir): If the destination
56864         directory doesn't exist, create it. This is required at least for
56865         "lib/uniwidth/cjk.h".
56866
56867         2007-05-15  Jim Meyering  <jim@meyering.net>
56868
56869         * build-aux/bootstrap: Now that generated Makefile.am files
56870         are no longer under version control, they must be created at
56871         bootstrap time.
56872
56873 2007-08-14  Ben Pfaff  <blp@gnu.org>
56874
56875         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
56876
56877 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56878
56879         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
56880         given the changes below.
56881         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
56882         even on hosts that have padding bits beyond the supported 64.
56883
56884 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
56885
56886         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
56887         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
56888         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
56889         depends on it.
56890         (xstrtol_error): Remove.
56891         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
56892         but with a different signature.
56893         (ATTRIBUTE_NORETURN, __attribute__): New macros.
56894         * lib/xstrtol-error.c: Include exitfail.h.
56895         (xstrtol_fatal): New function, with a different signature from the
56896         old xstrtol_error, so that the caller need not worry about passing
56897         in an exit status, or about storage management of the option argument.
56898         (xstrtol_error): Now a static function.  Redo signature to
56899         implement xstrtol_fatal.  Output the correct number of hyphens in
56900         front of the option so that the caller need not worry about
56901         storage management.
56902         (N_): New macro.
56903         (_): Remove; not used now.
56904         * modules/xstrtol: Depend on getopt.
56905         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
56906         of old STRTOL_FATAL_ERROR macro.
56907         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
56908         of test program.
56909         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
56910         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
56911
56912 2007-08-08  Eric Blake  <ebb9@byu.net>
56913
56914         * lib/xstrtol-error.c: Add missing include.
56915
56916         Move xstrtol messages into gnulib domain, when --pobase is used.
56917         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
56918         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
56919         * modules/xstrtol (Files): Distribute new file.
56920         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
56921         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
56922         * tests/test-xstrtol.c: ...into new file.
56923         * tests/test-xstrtoul.c: Also test xstrtoul.
56924         * tests/test-xstrtoimax.c: Also test xstrtoimax.
56925         * tests/test-xstrtoumax.c: Also test xstrtoumax.
56926         * tests/test-xstrtol.sh: Drive the tests.
56927         * tests/test-xstrtoimax.sh: Likewise.
56928         * tests/test-xstrtoumax.sh: Likewise.
56929         * modules/xstrtol-tests: New module.
56930         * modules/xstrtoimax-tests: Likewise.
56931         * modules/xstrtoumax-tests: Likewise.
56932
56933 2007-08-08  Jim Meyering  <jim@meyering.net>
56934
56935         New function: mfile_name_concat.
56936         * lib/filenamecat.c (mfile_name_concat): New function, just like
56937         file_name_concat, but return NULL upon failure rather than exiting
56938         with a diagnostic.
56939         * lib/filenamecat.h: Declare it.
56940
56941 2007-08-07  Bruno Haible  <bruno@clisp.org>
56942
56943         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
56944         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
56945         warning from gcc.
56946         Reported by Eric Blake.
56947
56948 2007-08-07  Simon Josefsson  <simon@josefsson.org>
56949
56950         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
56951         * modules/crypto/arcfour (License): Likewise.
56952         * modules/crypto/des-tests (License): Likewise.
56953         * modules/crypto/gc-arctwo-tests (License): Likewise.
56954         * modules/crypto/gc-des-tests (License): Likewise.
56955         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
56956         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
56957         * modules/crypto/gc-md2-tests (License): Likewise.
56958         * modules/crypto/gc-md4-tests (License): Likewise.
56959         * modules/crypto/gc-md5-tests (License): Likewise.
56960         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
56961         * modules/crypto/gc-rijndael-tests (License): Likewise.
56962         * modules/crypto/gc-sha1-tests (License): Likewise.
56963         * modules/crypto/gc-tests (License): Likewise.
56964         * modules/crypto/hmac-md5 (License): Likewise.
56965         * modules/crypto/hmac-sha1 (License): Likewise.
56966         * modules/crypto/md2-tests (License): Likewise.
56967         * modules/crypto/md4-tests (License): Likewise.
56968         * modules/crypto/md5 (License): Likewise.
56969         * modules/crypto/rijndael (License): Likewise.
56970         * modules/crypto/sha1 (License): Likewise.
56971         * modules/memxor (License): Likewise.
56972
56973 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56974         and Bruno Haible  <bruno@clisp.org>
56975
56976         * NEWS: Describe interface changes to human, xstrtol.
56977         * lib/human.h: Include <xstrtol.h>.
56978         (human_options): Return enum strtol_error, not int.  Remove
56979         bool arg; take int * instead.
56980         * lib/human.c: Don't include "gettext.h".
56981         (_): Remove; no longer used.
56982         Don't include <xstrtol.h>, since human.h does it.
56983         (human_options): Adjust to abovementioned interface changes.
56984         Do not report error to stderr; that's now the caller's
56985         responsibility.
56986         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
56987         interface change.
56988         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
56989         Str, Argument_type_string.  All uses changed.  Put " argument"
56990         in diagnostics to make them clearer.  Change wording of suffix
56991         message for clarity.
56992         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
56993         Argument_type_string.
56994         (STRTOL_FATAL_WARN): Remove; no longer used.
56995         * modules/human (Depends-on): Remove gettext-h.
56996
56997 2007-08-06  Simon Josefsson  <simon@josefsson.org>
56998
56999         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
57000
57001 2007-07-31  Bruno Haible  <bruno@clisp.org>
57002
57003         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
57004         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
57005         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
57006
57007 2007-07-31  Bruno Haible  <bruno@clisp.org>
57008
57009         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
57010         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
57011
57012 2007-07-30  Bruno Haible  <bruno@clisp.org>
57013
57014         * modules/base64 (License): Use the synonymous term "LGPLv2+".
57015         * modules/c-ctype (License): Likewise.
57016         * modules/c-strcase (License): Likewise.
57017         * modules/check-version (License): Likewise.
57018         * modules/iconv (License): Likewise.
57019         * modules/iconv_open (License): Likewise.
57020         * modules/read-file (License): Likewise.
57021         * modules/striconv (License): Likewise.
57022         * modules/strverscmp (License): Likewise.
57023         * modules/vasprintf (License): Likewise.
57024         * modules/crypto/des (License): Likewise.
57025         * modules/crypto/gc (License): Likewise.
57026         * modules/crypto/gc-arcfour (License): Likewise.
57027         * modules/crypto/gc-arctwo (License): Likewise.
57028         * modules/crypto/gc-des (License): Likewise.
57029         * modules/crypto/gc-hmac-md5 (License): Likewise.
57030         * modules/crypto/gc-hmac-sha1 (License): Likewise.
57031         * modules/crypto/gc-md2 (License): Likewise.
57032         * modules/crypto/gc-md4 (License): Likewise.
57033         * modules/crypto/gc-md5 (License): Likewise.
57034         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
57035         * modules/crypto/gc-random (License): Likewise.
57036         * modules/crypto/gc-rijndael (License): Likewise.
57037         * modules/crypto/gc-sha1 (License): Likewise.
57038         * modules/crypto/md2 (License): Likewise.
57039         * modules/crypto/md4 (License): Likewise.
57040
57041 2007-07-30  Jim Meyering  <jim@meyering.net>
57042
57043         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
57044         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
57045         it has valid stat data.  This bug would cause du not to count the
57046         sizes of inaccessible directories.
57047         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
57048         in <http://bugzilla.redhat.com/250077>.
57049
57050 2007-07-25  Peter O'Gorman  <peter@pogma.com>
57051             Bruno Haible  <bruno@clisp.org>
57052
57053         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
57054         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
57055         #include_next, gives a diagnostic about it, but reports no error in
57056         the exit code.
57057         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
57058
57059 2007-07-24  Ben Pfaff  <blp@gnu.org>
57060
57061         Improve name: "count-one-bits" is better than "popcount".
57062         * MODULES.html.sh: Update name.
57063         * lib/popcount.h: Renamed lib/count-one-bits.h.
57064         (popcount): Renamed count_one_bits.
57065         (popcountl): Renamed count_one_bits_l.
57066         (popcountll): Renamed count_one_bits_ll.
57067         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
57068         * modules/popcount: Renamed module/count-one-bits.
57069         * modules/popcount-tests: Renamed module/count-one-bits-tests.
57070         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
57071
57072 2007-07-23  Ben Pfaff  <blp@gnu.org>
57073
57074         * lib/popcount.h (popcount32): Reduce size of constants, to allow
57075         better code generation, and add U to large constants to avoid
57076         warnings, in non-GCC case.
57077         Suggested by Bruno Haible.
57078
57079 2007-07-23  Ben Pfaff  <blp@gnu.org>
57080
57081         * lib/popcount.h: Use verify_true instead of if...abort.
57082         * modules/popcount: Depend on verify module.
57083         Suggested by Jim Meyering.
57084
57085 2007-07-23  Bruno Haible  <bruno@clisp.org>
57086
57087         * gnulib-tool (func_import): Create a .cvsignore file also when the
57088         directory is not yet in CVS but the toplevel directory is. When
57089         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
57090         Reported by Karl Berry.
57091
57092 2007-07-22  Ben Pfaff  <blp@gnu.org>
57093
57094         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
57095         case.
57096         Suggested by Eric Blake.
57097
57098 2007-07-22  Ben Pfaff  <blp@gnu.org>
57099
57100         New module: popcount.
57101         * MODULES.html.sh: Add popcount.
57102         * modules/popcount: New file.
57103         * modules/popcount-tests: New file.
57104         * tests/test-popcount.c: New file.
57105         * lib/popcount.h: New file.
57106         * m4/popcount.m4: New file.
57107
57108 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57109
57110         * build-aux/announce-gen: Update to GPLv3.
57111
57112         * build-aux/config.guess: Update from config.
57113
57114 2007-07-21  Bruno Haible  <bruno@clisp.org>
57115
57116         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
57117         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
57118
57119 2007-07-20  Jim Meyering  <jim@meyering.net>
57120
57121         * check-module: Diagnose a self-dependency.
57122
57123 2007-07-19  Bruno Haible  <bruno@clisp.org>
57124
57125         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
57126         empty.
57127         Reported by Eric Blake.
57128
57129 2007-07-18  Bruno Haible  <bruno@clisp.org>
57130
57131         * gnulib-tool: New options --po-base, --po-domain.
57132         (func_usage): Document them.
57133         (pobase, po_domain): New variables.
57134         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
57135         DEFAULT_TEXT_DOMAIN.
57136         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
57137         (func_import): Consider pobase and po_domain. Create a po/ directory.
57138         (func_create_testdir): Set pobase and po_domain to empty.
57139         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
57140         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
57141
57142 2007-07-18  Bruno Haible  <bruno@clisp.org>
57143
57144         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57145         EXTRA_DIST augmentation for files in build-aux/.
57146
57147 2007-07-16  Bruno Haible  <bruno@clisp.org>
57148
57149         * modules/lseek (License): Use the synonymous term "LGPLv2+".
57150         * modules/getdelim (License): Likewise.
57151
57152 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57153
57154         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
57155         * modules/d-type (License): Likewise.
57156         * modules/extensions (License): Likewise.
57157         * modules/fnmatch (License): Likewise.
57158         * modules/fseeko (License): Likewise.
57159         * modules/getaddrinfo (License): Likewise.
57160         * modules/getline (License): Likewise.
57161         * modules/getlogin_r (License): Likewise.
57162         * modules/getpass (License): Likewise.
57163         * modules/gettimeofday (License): Likewise.
57164         * modules/glob (License): Likewise.
57165         * modules/inet_ntop (License): Likewise.
57166         * modules/malloc (License): Likewise.
57167         * modules/malloca (License): Likewise.
57168         * modules/memmem (License): Likewise.
57169         * modules/mempcpy (License): Likewise.
57170         * modules/memset (License): Likewise.
57171         * modules/minmax (License): Likewise.
57172         * modules/mktime (License): Likewise.
57173         * modules/netinet_in (License): Likewise.
57174         * modules/pathmax (License): Likewise.
57175         * modules/poll (License): Likewise.
57176         * modules/regex (License): Likewise.
57177         * modules/snprintf (License): Likewise.
57178         * modules/stdbool (License): Likewise.
57179         * modules/stdint (License): Likewise.
57180         * modules/stdio (License): Likewise.
57181         * modules/strcase (License): Likewise.
57182         * modules/strcasestr (License): Likewise.
57183         * modules/strdup (License): Likewise.
57184         * modules/string (License): Likewise.
57185         * modules/strndup (License): Likewise.
57186         * modules/strnlen (License): Likewise.
57187         * modules/strpbrk (License): Likewise.
57188         * modules/strptime (License): Likewise.
57189         * modules/strsep (License): Likewise.
57190         * modules/sys_select (License): Likewise.
57191         * modules/sys_socket (License): Likewise.
57192         * modules/sys_stat (License): Likewise.
57193         * modules/sys_time (License): Likewise.
57194         * modules/time (License): Likewise.
57195         * modules/time_r (License): Likewise.
57196         * modules/timegm (License): Likewise.
57197         * modules/unistd (License): Likewise.
57198         * modules/vsnprintf (License): Likewise.
57199         * modules/wctype (License): Likewise.
57200
57201 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57202
57203         * modules/argz (License): LGPLv2+.
57204
57205 2007-07-15  Karl Berry  <karl@gnu.org>
57206
57207         * doc/gnulib.texi: revise node structure per new fdl.texi.
57208
57209 2007-07-14  Bruno Haible  <bruno@clisp.org>
57210
57211         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
57212         the output file.
57213         * lib/uniname/uninames.h: Regenerated.
57214
57215 2007-07-14  Karl Berry  <karl@gnu.org>
57216
57217         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
57218         omitting sectioning and index commands.
57219
57220 2007-07-13  Bruno Haible  <bruno@clisp.org>
57221
57222         New gnulib-tool option --more-symlinks.
57223         * gnulib-tool (func_usage): Document --more-symlinks.
57224         (do_copyrights): New variable.
57225         Recognize option --more-symlinks.
57226         (func_import): Don't add a copyright notice transform to
57227         sed_transform_lib_file if do_copyrights is empty.
57228
57229 2007-07-13  Bruno Haible  <bruno@clisp.org>
57230
57231         * lib/vasnprintf.c (decimal_point_char): Define also if
57232         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
57233         && !NEED_PRINTF_DIRECTIVE_A.
57234         Reported by Clemens Koller <clemens.koller@anagramm.de> via
57235         Gary V. Vaughan <gary@gnu.org>.
57236
57237 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
57238
57239         * lib/inttypes_.h: Undo previous change, since it was fixed
57240         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
57241
57242 2007-07-13  Bruno Haible  <bruno@clisp.org>
57243
57244         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
57245         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
57246
57247 2007-07-13  Jim Meyering  <jim@meyering.net>
57248
57249         df: Don't fail for Tru64's "file-on-file mount".
57250         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
57251         so we fall through and use statfs instead.  Details here:
57252         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
57253         Reported by Albert Chin.
57254
57255 2007-07-13  Bruno Haible  <bruno@clisp.org>
57256
57257         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
57258         * modules/configmake (License): Likewise.
57259         * modules/gettext (License): Likewise.
57260         * modules/gettext-h (License): Likewise.
57261         * modules/include_next (License): Likewise.
57262         * modules/link-warning (License): Likewise.
57263         * modules/localcharset (License): Likewise.
57264         * modules/localename (License): Likewise.
57265         * modules/lock (License): Likewise.
57266         * modules/relocatable-lib-lgpl (License): Likewise.
57267         * modules/size_max (License): Likewise.
57268         * modules/vasnprintf (License): Likewise.
57269         * modules/wchar (License): Likewise.
57270         * modules/xsize (License): Likewise.
57271
57272 2007-07-13  Bruno Haible  <bruno@clisp.org>
57273
57274         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
57275         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
57276
57277 2007-07-12  Bruno Haible  <bruno@clisp.org>
57278
57279         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
57280         in the modules files.
57281
57282 2007-07-11  Karl Berry  <karl@gnu.org>
57283
57284         * MODULES.html.sh (func_module): use
57285          sed -e '\|^'"${includefile}"'$|d'
57286          instead of /.../d, to avoid errors on $includefile's containing /.
57287
57288 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57289
57290         * gnulib-tool (func_import): Avoid duplication of --avoid
57291         statements
57292         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
57293         names to `_' in variable names.
57294
57295 2007-07-10  Eric Blake  <ebb9@byu.net>
57296
57297         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
57298         * NEWS: Document this change.
57299
57300 2007-07-08  Bruno Haible  <bruno@clisp.org>
57301
57302         Update to Unicode 5.0.
57303         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
57304         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
57305         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
57306         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
57307         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
57308         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
57309         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
57310         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
57311         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
57312         U+10A3F, U+1D242..U+1D244.
57313         (nonspacing_table_ind): Update.
57314         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
57315         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
57316
57317 2007-07-08  Bruno Haible  <bruno@clisp.org>
57318
57319         Update to Unicode 5.0.
57320         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
57321         code transform. Extend the name index field of unicode_name_to_code and
57322         unicode_code_to_name from 16 to 24 bits.
57323         * lib/uniname/uniname.c (unicode_character_name,
57324         unicode_name_character): Add the range 0x12xxx to the code transform.
57325         * lib/uniname/uninames.h: Regenerated.
57326         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
57327
57328 2007-07-07  Bruno Haible  <bruno@clisp.org>
57329
57330         * modules/wcwidth-tests: New file.
57331         * tests/test-wcwidth.c: New file.
57332
57333         Work around MacOS X wcwidth() bug.
57334         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
57335         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
57336         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
57337         original wcwidth in non-UTF-8 locales.
57338         * modules/wcwidth (Depends-on): Add localcharset, streq,
57339         uniwidth/width.
57340         * doc/functions/wcwidth.texi: Update.
57341
57342 2007-07-07  Bruno Haible  <bruno@clisp.org>
57343
57344         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
57345         (wcwidth): New declaration.
57346         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
57347         macros.
57348         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
57349         here. Prepare for creating <wchar.h> unconditionally.
57350         * modules/wchar (Depends-on): Add link-warning.
57351         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
57352         REPLACE_WCWIDTH, and GL_LINK_WARNING.
57353         * lib/wcwidth.h: Remove file.
57354         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
57355         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
57356         * modules/wcwidth (Files): Remove lib/wcwidth.h.
57357         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
57358         (Include): Replace wcwidth.h with <wchar.h>.
57359         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
57360         * lib/mbchar.h: Don't include wcwidth.h.
57361         * lib/mbswidth.c: Likewise.
57362         * NEWS: Mention the change.
57363
57364 2007-07-07  Bruno Haible  <bruno@clisp.org>
57365
57366         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
57367         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
57368         definition with an external declaration.
57369         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
57370         defined as a function. Remove AC_C_INLINE requirement.
57371         * modules/wcwidth (Files): Add lib/wcwidth.c.
57372         (Makefile.am): Remove redundant statement.
57373
57374 2007-07-07  Bruno Haible  <bruno@clisp.org>
57375
57376         * MODULES.html.sh (Unicode string functions): Add the new modules.
57377
57378         * tests/uniwidth/test-u32-strwidth.c: New file.
57379         * modules/uniwidth/u32-strwidth-tests: New file.
57380
57381         * lib/uniwidth/u32-strwidth.c: New file.
57382         * modules/uniwidth/u32-strwidth: New file.
57383
57384         * tests/uniwidth/test-u16-strwidth.c: New file.
57385         * modules/uniwidth/u16-strwidth-tests: New file.
57386
57387         * lib/uniwidth/u16-strwidth.c: New file.
57388         * modules/uniwidth/u16-strwidth: New file.
57389
57390         * tests/uniwidth/test-u8-strwidth.c: New file.
57391         * modules/uniwidth/u8-strwidth-tests: New file.
57392
57393         * lib/uniwidth/u8-strwidth.c: New file.
57394         * modules/uniwidth/u8-strwidth: New file.
57395
57396         * tests/uniwidth/test-u32-width.c: New file.
57397         * modules/uniwidth/u32-width-tests: New file.
57398
57399         * lib/uniwidth/u32-width.c: New file.
57400         * modules/uniwidth/u32-width: New file.
57401
57402         * tests/uniwidth/test-u16-width.c: New file.
57403         * modules/uniwidth/u16-width-tests: New file.
57404
57405         * lib/uniwidth/u16-width.c: New file.
57406         * modules/uniwidth/u16-width: New file.
57407
57408         * tests/uniwidth/test-u8-width.c: New file.
57409         * modules/uniwidth/u8-width-tests: New file.
57410
57411         * lib/uniwidth/u8-width.c: New file.
57412         * modules/uniwidth/u8-width: New file.
57413
57414         * tests/uniwidth/test-uc_width.c: New file.
57415         * modules/uniwidth/width-tests: New file.
57416
57417         * lib/uniwidth/width.c: New file, from GNU libiconv.
57418         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
57419         * modules/uniwidth/width: New file.
57420
57421         * lib/uniwidth.h: New file, from GNU libiconv.
57422         * modules/uniwidth/base: New file.
57423
57424 2007-07-07  Bruno Haible  <bruno@clisp.org>
57425
57426         * lib/uniname.h: New file, from GNU gettext.
57427         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
57428         * lib/uniname/uninames.h: New file, from GNU gettext.
57429         * lib/uniname/uniname.c: New file, from GNU gettext.
57430         * tests/uniname/test-uninames.sh: New file.
57431         * tests/uniname/test-uninames.c: New file, from GNU gettext.
57432         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
57433         * modules/uniname/base: New file.
57434         * modules/uniname/uniname: New file.
57435         * modules/uniname/uniname-tests: New file.
57436         * MODULES.html.sh (Unicode string functions): Add the new modules.
57437
57438 2007-07-06  Bruno Haible  <bruno@clisp.org>
57439
57440         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
57441
57442 2007-07-06  Bruno Haible  <bruno@clisp.org>
57443
57444         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
57445         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
57446         includes <cygwin/sys_time.h> which includes <sys/select.h> which
57447         include <sys/time.h>.
57448         Reported by Eric Blake.
57449
57450 2007-07-06  Eric Blake  <ebb9@byu.net>
57451
57452         Fix testing canonicalize on cygwin.
57453         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57454         Revert patch from 2007-06-19.
57455         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
57456         canonicalize module is also in use.
57457         * tests/test-canonicalize.c: New file.
57458         * tests/test-canonicalize.sh: Likewise.
57459         * modules/canonicalize-tests: Likewise.
57460
57461 2007-07-06  Jim Meyering  <jim@meyering.net>
57462
57463         * lib/getugroups.c (getugroups): Detect getgrent failure.
57464         Adjust comment to reflect reality: this function may return -1.
57465
57466 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57467
57468         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57469         the new TP address.
57470         (usage): Fix typo
57471         (gnulib_mk): New variable.
57472
57473 2007-07-05  Jim Meyering  <jim@meyering.net>
57474
57475         Don't let endgrent clobber errno, no matter how improbable.
57476         * lib/getugroups.c (getugroups): Save and restore errno around
57477         endgrent call.
57478
57479         Close the group DB even when failing with 2^31 or more members.
57480         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57481
57482 2007-07-04  Jim Meyering  <jim@meyering.net>
57483
57484         * lib/getugroups.h: New file.
57485         * lib/getugroups.c: Include "getugroups.h".
57486         Remove uses of "register" keyword.
57487         Move local variable, "cp", down into scope where used.
57488         Give "username" parameter the "const" attribute.
57489         * modules/getugroups (Files): Add lib/getugroups.h
57490
57491 2007-07-04  Karl Berry  <karl@gnu.org>
57492
57493         * MODULES.html.sh (func_all_modules): Complete rename of
57494         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57495
57496 2007-07-02  Bruno Haible  <bruno@clisp.org>
57497
57498         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57499         mode, when inttypes.h comes from gnulib.
57500         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57501
57502 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57503
57504         * NEWS: Mention lgpl module name change.
57505
57506         * modules/lgpl-2.1: Renamed from lgpl.
57507
57508         * NEWS: Mention gpl module name change.
57509
57510         * modules/gpl-3.0: New file, based on gpl-2.0.
57511
57512         * modules/gpl-2.0: Renamed from gpl.
57513
57514         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57515         doc/gpl-2.0.texi.
57516
57517 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57518
57519         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57520         #define __STDC_LIMIT_MACROS temporarily while including
57521         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57522         Problem reported by Joel E. Denny in
57523         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57524
57525 2007-07-01  Bruno Haible  <bruno@clisp.org>
57526
57527         * lib/unistdio.h: New file.
57528         * lib/unistdio/u-asnprintf.h: New file.
57529         * lib/unistdio/u-asprintf.h: New file.
57530         * lib/unistdio/u-printf-args.c: New file.
57531         * lib/unistdio/u-printf-args.h: New file.
57532         * lib/unistdio/u-printf-parse.h: New file.
57533         * lib/unistdio/u-snprintf.h: New file.
57534         * lib/unistdio/u-sprintf.h: New file.
57535         * lib/unistdio/u-vasprintf.h: New file.
57536         * lib/unistdio/u-vsnprintf.h: New file.
57537         * lib/unistdio/u-vsprintf.h: New file.
57538         * lib/unistdio/ulc-asnprintf.c: New file.
57539         * lib/unistdio/ulc-asprintf.c: New file.
57540         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
57541         * lib/unistdio/ulc-printf-parse.c: New file.
57542         * lib/unistdio/ulc-snprintf.c: New file.
57543         * lib/unistdio/ulc-sprintf.c: New file.
57544         * lib/unistdio/ulc-vasnprintf.c: New file.
57545         * lib/unistdio/ulc-vasprintf.c: New file.
57546         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
57547         * lib/unistdio/ulc-vsnprintf.c: New file.
57548         * lib/unistdio/ulc-vsprintf.c: New file.
57549         * lib/unistdio/u8-asnprintf.c: New file.
57550         * lib/unistdio/u8-asprintf.c: New file.
57551         * lib/unistdio/u8-printf-parse.c: New file.
57552         * lib/unistdio/u8-snprintf.c: New file.
57553         * lib/unistdio/u8-sprintf.c: New file.
57554         * lib/unistdio/u8-vasnprintf.c: New file.
57555         * lib/unistdio/u8-vasprintf.c: New file.
57556         * lib/unistdio/u8-vsnprintf.c: New file.
57557         * lib/unistdio/u8-vsprintf.c: New file.
57558         * lib/unistdio/u8-u8-asnprintf.c: New file.
57559         * lib/unistdio/u8-u8-asprintf.c: New file.
57560         * lib/unistdio/u8-u8-snprintf.c: New file.
57561         * lib/unistdio/u8-u8-sprintf.c: New file.
57562         * lib/unistdio/u8-u8-vasnprintf.c: New file.
57563         * lib/unistdio/u8-u8-vasprintf.c: New file.
57564         * lib/unistdio/u8-u8-vsnprintf.c: New file.
57565         * lib/unistdio/u8-u8-vsprintf.c: New file.
57566         * lib/unistdio/u16-asnprintf.c: New file.
57567         * lib/unistdio/u16-asprintf.c: New file.
57568         * lib/unistdio/u16-printf-parse.c: New file.
57569         * lib/unistdio/u16-snprintf.c: New file.
57570         * lib/unistdio/u16-sprintf.c: New file.
57571         * lib/unistdio/u16-vasnprintf.c: New file.
57572         * lib/unistdio/u16-vasprintf.c: New file.
57573         * lib/unistdio/u16-vsnprintf.c: New file.
57574         * lib/unistdio/u16-vsprintf.c: New file.
57575         * lib/unistdio/u16-u16-asnprintf.c: New file.
57576         * lib/unistdio/u16-u16-asprintf.c: New file.
57577         * lib/unistdio/u16-u16-snprintf.c: New file.
57578         * lib/unistdio/u16-u16-sprintf.c: New file.
57579         * lib/unistdio/u16-u16-vasnprintf.c: New file.
57580         * lib/unistdio/u16-u16-vasprintf.c: New file.
57581         * lib/unistdio/u16-u16-vsnprintf.c: New file.
57582         * lib/unistdio/u16-u16-vsprintf.c: New file.
57583         * lib/unistdio/u32-asnprintf.c: New file.
57584         * lib/unistdio/u32-asprintf.c: New file.
57585         * lib/unistdio/u32-printf-parse.c: New file.
57586         * lib/unistdio/u32-snprintf.c: New file.
57587         * lib/unistdio/u32-sprintf.c: New file.
57588         * lib/unistdio/u32-vasnprintf.c: New file.
57589         * lib/unistdio/u32-vasprintf.c: New file.
57590         * lib/unistdio/u32-vsnprintf.c: New file.
57591         * lib/unistdio/u32-vsprintf.c: New file.
57592         * lib/unistdio/u32-u32-asnprintf.c: New file.
57593         * lib/unistdio/u32-u32-asprintf.c: New file.
57594         * lib/unistdio/u32-u32-snprintf.c: New file.
57595         * lib/unistdio/u32-u32-sprintf.c: New file.
57596         * lib/unistdio/u32-u32-vasnprintf.c: New file.
57597         * lib/unistdio/u32-u32-vasprintf.c: New file.
57598         * lib/unistdio/u32-u32-vsnprintf.c: New file.
57599         * lib/unistdio/u32-u32-vsprintf.c: New file.
57600         * tests/unistdio/test-ulc-asnprintf1.c: New file.
57601         * tests/unistdio/test-ulc-asnprintf1.h: New file.
57602         * tests/unistdio/test-ulc-printf1.h: New file.
57603         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
57604         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
57605         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
57606         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
57607         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
57608         * tests/unistdio/test-ulc-vasprintf1.c: New file.
57609         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
57610         * tests/unistdio/test-ulc-vsprintf1.c: New file.
57611         * tests/unistdio/test-u8-asnprintf1.c: New file.
57612         * tests/unistdio/test-u8-asnprintf1.h: New file.
57613         * tests/unistdio/test-u8-printf1.h: New file.
57614         * tests/unistdio/test-u8-vasnprintf1.c: New file.
57615         * tests/unistdio/test-u8-vasnprintf2.c: New file.
57616         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
57617         * tests/unistdio/test-u8-vasnprintf3.c: New file.
57618         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
57619         * tests/unistdio/test-u8-vasprintf1.c: New file.
57620         * tests/unistdio/test-u8-vsnprintf1.c: New file.
57621         * tests/unistdio/test-u8-vsprintf1.c: New file.
57622         * tests/unistdio/test-u16-asnprintf1.c: New file.
57623         * tests/unistdio/test-u16-asnprintf1.h: New file.
57624         * tests/unistdio/test-u16-printf1.h: New file.
57625         * tests/unistdio/test-u16-vasnprintf1.c: New file.
57626         * tests/unistdio/test-u16-vasnprintf2.c: New file.
57627         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
57628         * tests/unistdio/test-u16-vasnprintf3.c: New file.
57629         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
57630         * tests/unistdio/test-u16-vasprintf1.c: New file.
57631         * tests/unistdio/test-u16-vsnprintf1.c: New file.
57632         * tests/unistdio/test-u16-vsprintf1.c: New file.
57633         * tests/unistdio/test-u32-asnprintf1.c: New file.
57634         * tests/unistdio/test-u32-asnprintf1.h: New file.
57635         * tests/unistdio/test-u32-printf1.h: New file.
57636         * tests/unistdio/test-u32-vasnprintf1.c: New file.
57637         * tests/unistdio/test-u32-vasnprintf2.c: New file.
57638         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
57639         * tests/unistdio/test-u32-vasnprintf3.c: New file.
57640         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
57641         * tests/unistdio/test-u32-vasprintf1.c: New file.
57642         * tests/unistdio/test-u32-vsnprintf1.c: New file.
57643         * tests/unistdio/test-u32-vsprintf1.c: New file.
57644         * modules/unistdio/base: New file.
57645         * modules/unistdio/u-printf-args: New file.
57646         * modules/unistdio/ulc-asnprintf: New file.
57647         * modules/unistdio/ulc-asprintf: New file.
57648         * modules/unistdio/ulc-fprintf: New file.
57649         * modules/unistdio/ulc-printf-parse: New file.
57650         * modules/unistdio/ulc-snprintf: New file.
57651         * modules/unistdio/ulc-sprintf: New file.
57652         * modules/unistdio/ulc-vasnprintf: New file.
57653         * modules/unistdio/ulc-vasprintf: New file.
57654         * modules/unistdio/ulc-vfprintf: New file.
57655         * modules/unistdio/ulc-vsnprintf: New file.
57656         * modules/unistdio/ulc-vsprintf: New file.
57657         * modules/unistdio/u8-asnprintf: New file.
57658         * modules/unistdio/u8-asprintf: New file.
57659         * modules/unistdio/u8-printf-parse: New file.
57660         * modules/unistdio/u8-snprintf: New file.
57661         * modules/unistdio/u8-sprintf: New file.
57662         * modules/unistdio/u8-vasnprintf: New file.
57663         * modules/unistdio/u8-vasprintf: New file.
57664         * modules/unistdio/u8-vsnprintf: New file.
57665         * modules/unistdio/u8-vsprintf: New file.
57666         * modules/unistdio/u8-u8-asnprintf: New file.
57667         * modules/unistdio/u8-u8-asprintf: New file.
57668         * modules/unistdio/u8-u8-snprintf: New file.
57669         * modules/unistdio/u8-u8-sprintf: New file.
57670         * modules/unistdio/u8-u8-vasnprintf: New file.
57671         * modules/unistdio/u8-u8-vasprintf: New file.
57672         * modules/unistdio/u8-u8-vsnprintf: New file.
57673         * modules/unistdio/u8-u8-vsprintf: New file.
57674         * modules/unistdio/u16-asnprintf: New file.
57675         * modules/unistdio/u16-asprintf: New file.
57676         * modules/unistdio/u16-printf-parse: New file.
57677         * modules/unistdio/u16-snprintf: New file.
57678         * modules/unistdio/u16-sprintf: New file.
57679         * modules/unistdio/u16-vasnprintf: New file.
57680         * modules/unistdio/u16-vasprintf: New file.
57681         * modules/unistdio/u16-vsnprintf: New file.
57682         * modules/unistdio/u16-vsprintf: New file.
57683         * modules/unistdio/u16-u16-asnprintf: New file.
57684         * modules/unistdio/u16-u16-asprintf: New file.
57685         * modules/unistdio/u16-u16-snprintf: New file.
57686         * modules/unistdio/u16-u16-sprintf: New file.
57687         * modules/unistdio/u16-u16-vasnprintf: New file.
57688         * modules/unistdio/u16-u16-vasprintf: New file.
57689         * modules/unistdio/u16-u16-vsnprintf: New file.
57690         * modules/unistdio/u16-u16-vsprintf: New file.
57691         * modules/unistdio/u32-asnprintf: New file.
57692         * modules/unistdio/u32-asprintf: New file.
57693         * modules/unistdio/u32-printf-parse: New file.
57694         * modules/unistdio/u32-snprintf: New file.
57695         * modules/unistdio/u32-sprintf: New file.
57696         * modules/unistdio/u32-vasnprintf: New file.
57697         * modules/unistdio/u32-vasprintf: New file.
57698         * modules/unistdio/u32-vsnprintf: New file.
57699         * modules/unistdio/u32-vsprintf: New file.
57700         * modules/unistdio/u32-u32-asnprintf: New file.
57701         * modules/unistdio/u32-u32-asprintf: New file.
57702         * modules/unistdio/u32-u32-snprintf: New file.
57703         * modules/unistdio/u32-u32-sprintf: New file.
57704         * modules/unistdio/u32-u32-vasnprintf: New file.
57705         * modules/unistdio/u32-u32-vasprintf: New file.
57706         * modules/unistdio/u32-u32-vsnprintf: New file.
57707         * modules/unistdio/u32-u32-vsprintf: New file.
57708         * modules/unistdio/ulc-asnprintf-tests: New file.
57709         * modules/unistdio/ulc-vasnprintf-tests: New file.
57710         * modules/unistdio/ulc-vasprintf-tests: New file.
57711         * modules/unistdio/ulc-vsnprintf-tests: New file.
57712         * modules/unistdio/ulc-vsprintf-tests: New file.
57713         * modules/unistdio/u8-asnprintf-tests: New file.
57714         * modules/unistdio/u8-vasnprintf-tests: New file.
57715         * modules/unistdio/u8-vasprintf-tests: New file.
57716         * modules/unistdio/u8-vsnprintf-tests: New file.
57717         * modules/unistdio/u8-vsprintf-tests: New file.
57718         * modules/unistdio/u16-asnprintf-tests: New file.
57719         * modules/unistdio/u16-vasnprintf-tests: New file.
57720         * modules/unistdio/u16-vasprintf-tests: New file.
57721         * modules/unistdio/u16-vsnprintf-tests: New file.
57722         * modules/unistdio/u16-vsprintf-tests: New file.
57723         * modules/unistdio/u32-asnprintf-tests: New file.
57724         * modules/unistdio/u32-vasnprintf-tests: New file.
57725         * modules/unistdio/u32-vasprintf-tests: New file.
57726         * modules/unistdio/u32-vsnprintf-tests: New file.
57727         * modules/unistdio/u32-vsprintf-tests: New file.
57728         * MODULES.html.sh (Unicode string functions): Add the new modules.
57729
57730 2007-07-01  Bruno Haible  <bruno@clisp.org>
57731
57732         * lib/sprintf.c (sprintf): Limit the available length estimation,
57733         to avoid address wraparound.
57734         * lib/vsprintf.c (vsprintf): Likewise.
57735         * modules/sprintf-posix (Dependencies): Add stdint.
57736         * modules/vsprintf-posix (Dependencies): Likewise.
57737
57738 2007-07-01  Bruno Haible  <bruno@clisp.org>
57739
57740         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
57741         Windows PATH as well. Conservative double-quoting. Comments.
57742
57743 2007-07-01  Bruno Haible  <bruno@clisp.org>
57744             Eric Blake  <ebb9@byu.net>
57745             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57746
57747         * gnulib-tool (self_abspathname): Fix algorithm to cope with
57748         empty components in $PATH, denoting '.'.
57749
57750 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57751
57752         * gnulib-tool: Fix indentation.
57753         (func_create_megatestdir): Likewise.
57754         Report by Bruno Haible.
57755
57756 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57757
57758         Sync from Automake.
57759         * build-aux/gnupload: Fix shell portability issues with for loops.
57760         Report by Karl Berry.
57761
57762 2007-06-29  Simon Josefsson  <simon@josefsson.org>
57763
57764         * build-aux/maint.mk (POURL): Use translationproject.org.
57765
57766 2007-06-27  Simon Josefsson  <simon@josefsson.org>
57767             Bruno Haible  <bruno@clisp.org>
57768
57769         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
57770         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
57771         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
57772         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
57773         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
57774
57775 2007-06-27  Bruno Haible  <bruno@clisp.org>
57776
57777         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
57778         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
57779
57780 2007-06-26  Karl Berry  <karl@gnu.org>
57781
57782         * MODULES.html.sh: remove xreadlink-with-size.
57783
57784 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57785
57786         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
57787         method that I hope also handles the double-include problem noted
57788         by Bruno Haible in
57789         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
57790
57791 2007-06-23  Bruno Haible  <bruno@clisp.org>
57792
57793         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57794         Don't let the 'mostlyclean' target fail if the last subdirectory could
57795         not be removed.
57796         Reported by Karl Berry.
57797
57798 2007-06-23  Bruno Haible  <bruno@clisp.org>
57799
57800         * gnulib-tool (echo): Add a speedier workaround for ksh.
57801         * tests/test-echo.sh: Likewise.
57802
57803 2007-06-23  Bruno Haible  <bruno@clisp.org>
57804
57805         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
57806         * tests/test-echo.sh: Likewise.
57807
57808 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57809
57810         * gnulib-tool (IFS): Initialize early, so we don't set it to
57811         empty later.
57812         (self_abspathname): Rewrite algorithm to set it, reindent.
57813         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
57814         (func_create_megatestdir): Merge some sed scripts.
57815
57816 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57817
57818         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
57819         exposed by Sun Studio 11 cc on Solaris 8.
57820
57821 2007-06-22  Bruno Haible  <bruno@clisp.org>
57822
57823         * gnulib-tool (echo): Ensure the echo primitive does not interpret
57824         backslashes.
57825         * tests/test-echo.sh: New file.
57826
57827 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57828
57829         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
57830         simplify `sed_replace_build_aux' scripts, they are portable but
57831         echoing them with `echo' is not.
57832         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
57833
57834 2007-06-21  Karl Berry  <karl@gnu.org>
57835
57836         * config/srclist.txt: guess we can't handle the licenses via
57837         srclist at the moment.
57838
57839 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
57840
57841         * MODULES.html.sh: Add include_next.
57842         * modules/include_next: New file.
57843
57844 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57845
57846         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
57847         INCLUDE_NEXT.
57848         (gl_CHECK_NEXT_HEADERS): New macro.
57849         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
57850         the obsolescent gl_ABSOLUTE_HEADER.
57851         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
57852         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
57853         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
57854         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57855         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
57856         * m4/math_h.m4 (gl_MATH_H): Likewise.
57857         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57858         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57859         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
57860         * m4/stdint.m4 (gl_STDINT_H): Likewise.
57861         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
57862         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
57863         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
57864         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57865         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57866         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
57867         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57868         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
57869         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
57870         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
57871         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
57872         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57873         * m4/inttypes.m4 (gl_INTTYPES_H): Define
57874         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
57875         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
57876         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
57877         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
57878         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
57879         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
57880         * lib/float_.h: Likewise.
57881         * lib/inttypes_.h: Likewise.
57882         * lib/math_.h: Likewise.
57883         * lib/search_.h: Likewise.
57884         * lib/signal_.h: Likewise.
57885         * lib/stdint_.h: Likewise.
57886         * lib/stdio_.h: Likewise.
57887         * lib/stdlib_.h: Likewise.
57888         * lib/string_.h: Likewise.
57889         * lib/sys_stat_.h: Likewise.
57890         * lib/sys_time_.h: Likewise.
57891         * lib/time_.h: Likewise.
57892         * lib/unistd_.h: Likewise.
57893         * lib/wchar_.h: Likewise.
57894         * lib/wctype_.h: Likewise.
57895         * lib/dirent_.h: Likewise.
57896         * lib/iconv_.h: Likewise.
57897         * lib/locale_.h: Likewise.
57898         * lib/netinet_in_.h: Likewise.
57899         * lib/sys_select_.h: Likewise.
57900         * lib/sys_socket_.h: Likewise.
57901         * lib/sysexits_.h: Likewise.
57902         * modules/fcntl (Depends-on): Depend on include_next, not
57903         absolute_header.
57904         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
57905         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
57906         * modules/fchdir: Likewise.
57907         * modules/float: Likewise.
57908         * modules/iconv_open: Likewise.
57909         * modules/inttypes: Likewise.
57910         * modules/locale: Likewise.
57911         * modules/math: Likewise.
57912         * modules/netinet_in: Likewise.
57913         * modules/search: Likewise.
57914         * modules/signal: Likewise.
57915         * modules/stdint: Likewise.
57916         * modules/stdio: Likewise.
57917         * modules/stdlib: Likewise.
57918         * modules/string: Likewise.
57919         * modules/sys_select: Likewise.
57920         * modules/sys_socket: Likewise.
57921         * modules/sys_stat: Likewise.
57922         * modules/sys_time: Likewise.
57923         * modules/sysexits: Likewise.
57924         * modules/time: Likewise.
57925         * modules/unistd: Likewise.
57926         * modules/wchar: Likewise.
57927         * modules/wctype: Likewise.
57928         * modules/sys_stat: Change maintainer to "all".
57929         * modules/unistd: Likewise.
57930
57931 2007-06-20  Karl Berry  <karl@gnu.org>
57932
57933         * config/srclist.txt: track www changes in license files.
57934
57935 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
57936
57937         * build-aux/bootstrap: Remove stray dot.
57938         Make sure build_aux settings are honored when linking
57939         gnulib_extra_files.
57940
57941 2007-06-19  Eric Blake  <ebb9@byu.net>
57942
57943         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57944         Allow compilation on cygwin.
57945
57946 2007-06-19  Jim Meyering  <jim@meyering.net>
57947
57948         xreadlink-with-size: Remove module.  No longer used.
57949         Ex-callers now use xreadlink or mreadlink-with-size.
57950         * modules/xreadlink-with-size: Remove module.
57951         * lib/xreadlink-with-size.c: Remove file.
57952         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
57953         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
57954         just before the function definition *is* accurate.
57955
57956         Eliminate one way canonicalize_filename_mode could exit.
57957         * lib/canonicalize.c (canonicalize_filename_mode):
57958         Use mreadlink_with_size, not xreadlink_with_size.
57959
57960 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
57961
57962         Detect porting problems to FreeBSD/arm, which has time_t wider than
57963         long int.  Original problem reported for GNU diff by Xin Li in
57964         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
57965         * modules/getdate (Depends-on): Add intprops, verify.
57966         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
57967         is an integer type no wider than long int.
57968
57969 2007-06-18  Jim Meyering  <jim@meyering.net>
57970
57971         New module: mreadlink-with-size.
57972         * MODULES.html.sh: Add mreadlink-with-size.
57973         * modules/mreadlink-with-size: New module
57974         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
57975         not xreadlink-with-size.
57976         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
57977
57978 2007-06-16  Bruno Haible  <bruno@clisp.org>
57979
57980         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
57981         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
57982         Reported by Gary V. Vaughan <gary@gnu.org>.
57983
57984 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
57985
57986         Revamp lchown so that it lives in unistd.h where it belongs.
57987         * lib/lchown.h: Remove.
57988         * lib/dirchownmod.c: Don't include lib/lchown.h.
57989         * lib/fchownat.c: Likewise.
57990         * lib/openat.c: Likewise.
57991         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
57992         does not follow symlinks.
57993         (EOPNOTSUPP): Define if not defined.
57994         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
57995         is defined to 0.
57996         (lchown): New decl.
57997         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
57998         Do not check for lchown decl.
57999         Set REPLACE_LCHOWN.
58000         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
58001         REPLACE_LCHOWN.
58002         * modules/chown: Make it clear it follows symlinks.
58003         * modules/lchown: Make it clear it doesn't follow symlinks.
58004         (Files): Remove lib/lchown.h
58005         (Depends-on): Add unistd.
58006         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
58007         (Include): Include <unistd.h>, not "lchown.h".
58008         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
58009         REPLACE_LCHOWN.
58010
58011 2007-06-15  Jim Meyering  <jim@meyering.net>
58012
58013         Change license (GPL to LGPL) of fsusage and dependents.
58014         * modules/fsusage (License): Change to LGPL.
58015         * modules/full-read (License): Likewise.
58016         * modules/full-write (License): Likewise.
58017         * modules/safe-read (License): Likewise.
58018         * modules/safe-write (License): Likewise.
58019
58020 2007-06-14  Ben Pfaff  <blp@gnu.org>
58021
58022         Missing part of allocsa -> malloca transition.
58023         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
58024         gl_MALLOCA.
58025
58026 2007-06-12  Bruno Haible  <bruno@clisp.org>
58027
58028         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
58029         to ia64, x86_64, i386.
58030         Reported by Eric Blake.
58031
58032 2007-06-12  Bruno Haible  <bruno@clisp.org>
58033
58034         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
58035         cross-compiling to x86_64.
58036
58037 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
58038
58039         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
58040         glitch reported by Ralf Wildenhues in
58041         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
58042
58043         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
58044         Vin Shelton.
58045
58046 2007-06-11  Bruno Haible  <bruno@clisp.org>
58047
58048         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
58049         replacement string.
58050         Reported by Eric Blake.
58051
58052 2007-06-10  Bruno Haible  <bruno@clisp.org>
58053
58054         Prepare vasnprintf code for use with Unicode strings.
58055         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
58056         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
58057         TYPE_U32_STRING.
58058         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
58059         a_u32_string variants.
58060         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58061         * lib/printf-args.c: Don't include config.h and the specification
58062         header if PRINTF_FETCHARGS is already defined.
58063         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58064         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
58065         TYPE_U16_STRING, TYPE_U32_STRING.
58066         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
58067         u16_directive, u16_directives, u32_directive, u32_directives): New
58068         types.
58069         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
58070         New declarations.
58071         * lib/printf-parse.c: Don't include config.h and the specification
58072         header if PRINTF_PARSE is already defined. Eliminate the set of
58073         parameters for WIDE_CHAR_VERSION; the user of this file must provide
58074         them now. Include c-ctype.h.
58075         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
58076         directive and CHAR_T_ONLY_ASCII.
58077         * lib/vasnprintf.c: Don't include config.h and the specification header
58078         if VASNPRINTF is already defined.
58079         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
58080         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
58081         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
58082         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
58083         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
58084         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
58085         code accordingly.
58086         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
58087         pad_ourselves also in this case, with the 'c' and 's' directives, and
58088         with a different notion of "width".
58089         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
58090
58091 2007-06-10  Bruno Haible  <bruno@clisp.org>
58092
58093         * modules/unistr/u32-mbsnlen: New file.
58094         * lib/unistr/u32-mbsnlen.c: New file.
58095
58096         * modules/unistr/u16-mbsnlen: New file.
58097         * lib/unistr/u16-mbsnlen.c: New file.
58098
58099         * modules/unistr/u8-mbsnlen: New file.
58100         * lib/unistr/u8-mbsnlen.c: New file.
58101
58102         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
58103         declarations.
58104
58105 2007-06-10  Bruno Haible  <bruno@clisp.org>
58106
58107         * lib/string_.h (mbsnlen): New declaration.
58108         * lib/mbsnlen.c: New file.
58109         * m4/mbsnlen.m4: New file.
58110         * modules/mbsnlen: New file.
58111         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
58112         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
58113         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
58114
58115 2007-06-10  Bruno Haible  <bruno@clisp.org>
58116
58117         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
58118
58119 2007-06-10  Bruno Haible  <bruno@clisp.org>
58120
58121         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
58122         * lib/mbuiter.h: Likewise.
58123
58124 2007-06-10  Bruno Haible  <bruno@clisp.org>
58125
58126         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
58127         declaration.
58128
58129 2007-06-10  Karl Berry  <karl@gnu.org>
58130
58131         * config/srclist.txt: remove gettext entries, Bruno prefers
58132         to update individually.
58133
58134 2007-06-10  Bruno Haible  <bruno@clisp.org>
58135
58136         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
58137         'maxlen'. Ensure only length + width bytes are allocated, not
58138         length + 1 + width.
58139
58140 2007-06-09  Bruno Haible  <bruno@clisp.org>
58141
58142         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
58143         (CHAR_T): Remove macro.
58144         (VASNPRINTF): Update.
58145
58146 2007-06-09  Bruno Haible  <bruno@clisp.org>
58147
58148         * MODULES.html.sh (Unicode string functions): Add the new modules.
58149
58150         * modules/uniconv/u32-conv-to-enc: New file.
58151         * lib/uniconv/u32-conv-to-enc.c: New file.
58152         * modules/uniconv/u32-conv-to-enc-tests: New file.
58153         * tests/uniconv/test-u32-conv-to-enc.c: New file.
58154
58155         * modules/uniconv/u16-conv-to-enc: New file.
58156         * lib/uniconv/u16-conv-to-enc.c: New file.
58157         * lib/uniconv/u-conv-to-enc.h: New file.
58158         * modules/uniconv/u16-conv-to-enc-tests: New file.
58159         * tests/uniconv/test-u16-conv-to-enc.c: New file.
58160
58161         * modules/uniconv/u8-conv-to-enc: New file.
58162         * lib/uniconv/u8-conv-to-enc.c: New file.
58163         * modules/uniconv/u8-conv-to-enc-tests: New file.
58164         * tests/uniconv/test-u8-conv-to-enc.c: New file.
58165
58166         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
58167         u32_conv_to_encoding): New declarations.
58168
58169 2007-06-09  Bruno Haible  <bruno@clisp.org>
58170
58171         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
58172
58173 2007-06-09  Bruno Haible  <bruno@clisp.org>
58174
58175         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
58176         * modules/malloca: Renamed from modules/allocsa, updated.
58177         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
58178         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
58179         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
58180         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
58181         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
58182         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
58183         * modules/xmalloca: Renamed from modules/xallocsa, updated.
58184         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
58185         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
58186         * modules/c-strcasestr (Depends-on): Update.
58187         * lib/c-strcasestr.c: Update.
58188         * modules/c-strstr (Depends-on): Update.
58189         * lib/c-strstr.c: Update.
58190         * modules/canonicalize-lgpl (Depends-on): Update.
58191         * lib/canonicalize-lgpl.c: Update.
58192         * modules/clean-temp (Depends-on): Update.
58193         * lib/clean-temp.c: Update.
58194         * modules/csharpcomp (Depends-on): Update.
58195         * lib/csharpcomp.c: Update.
58196         * modules/csharpexec (Depends-on): Update.
58197         * lib/csharpexec.c: Update.
58198         * modules/javacomp (Depends-on): Update.
58199         * lib/javacomp.c: Update.
58200         * modules/javaexec (Depends-on): Update.
58201         * lib/javaexec.c: Update.
58202         * modules/mbscasestr (Depends-on): Update.
58203         * lib/mbscasestr.c: Update.
58204         * modules/mbsstr (Depends-on): Update.
58205         * lib/mbsstr.c: Update.
58206         * modules/setenv (Depends-on): Update.
58207         * lib/setenv.c: Update.
58208         * modules/strcasestr (Depends-on): Update.
58209         * lib/strcasestr.c: Update.
58210         * modules/striconveha (Depends-on): Update.
58211         * lib/striconveha.c: Update.
58212         * modules/relocatable-prog-wrapper (Files): Update.
58213         * lib/relocwrapper.c: Update.
58214         * build-aux/install-reloc: Update.
58215         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
58216
58217 2007-06-08  Bruno Haible  <bruno@clisp.org>
58218
58219         Port to uClibc.
58220         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
58221         * lib/fpurge.c (fpurge): Likewise.
58222         * lib/freading.c (freading): Likewise.
58223         * lib/fseeko.c (rpl_fseeko): Likewise.
58224         * lib/fseterr.c (fseterr): Likewise.
58225         * lib/fwriting.c (fwriting): Likewise.
58226         * tests/test-fflush.c (main): Avoid a failure on uClibc.
58227
58228 2007-06-08  Bruno Haible  <bruno@clisp.org>
58229
58230         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
58231         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
58232         * modules/gettext (Files): Add m4/intlmacosx.m4.
58233
58234 2007-06-07  Bruno Haible  <bruno@clisp.org>
58235
58236         * modules/localename-tests: New file.
58237         * tests/test-localename.c: New file.
58238
58239         New module 'localename'.
58240         * lib/localename.h: New file.
58241         * lib/localename.c: New file, from GNU gettext.
58242         * m4/localename.m4: New file.
58243         * modules/localename: New file.
58244
58245 2007-06-07  Bruno Haible  <bruno@clisp.org>
58246
58247         Work around the lack of <wchar.h> on some builds of uClibc.
58248         * doc/headers/wchar.texi: Update.
58249         * lib/wchar_.h: Include <wchar.h> only if it exists.
58250         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
58251         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
58252         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
58253         doesn't exist.
58254         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
58255         * modules/mbfile (Depends-on): Add wchar.
58256         * modules/mbiter (Depends-on): Likewise.
58257         * modules/mbuiter (Depends-on): Likewise.
58258         Reported by Simon Josefsson.
58259
58260 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58261
58262         Work around problem reported by Steven M. Schweda in
58263         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
58264         Tru64 5.1B with the Compaq compiler environment installed declares
58265         an 'isblank' function but does not define it in the C library.
58266         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
58267         * lib/regex_internal.h (isblank): Likewise.
58268         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
58269         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58270
58271 2007-06-05  Bruno Haible  <bruno@clisp.org>
58272
58273         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
58274         ia64.
58275         * modules/printf-safe: New file.
58276         * modules/fprintf-posix (Depends-on): Add printf-safe.
58277         * modules/printf-posix (Depends-on): Likewise.
58278         * modules/snprintf-posix (Depends-on): Likewise.
58279         * modules/sprintf-posix (Depends-on): Likewise.
58280         * modules/vasnprintf-posix (Depends-on): Likewise.
58281         * modules/vasprintf-posix (Depends-on): Likewise.
58282         * modules/vfprintf-posix (Depends-on): Likewise.
58283         * modules/vprintf-posix (Depends-on): Likewise.
58284         * modules/vsnprintf-posix (Depends-on): Likewise.
58285         * modules/vsprintf-posix (Depends-on): Likewise.
58286         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
58287         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
58288         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
58289         "no" on i386, x86_64, ia64.
58290         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
58291         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58292         on i386, x86_64, ia64.
58293         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
58294         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58295         on i386, x86_64, ia64.
58296         * tests/test-vasnprintf-posix.c: Include float.h.
58297         (LDBL80_WORDS): New macro.
58298         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58299         on i386, x86_64, ia64.
58300         * tests/test-vasprintf-posix.c: Include float.h.
58301         (LDBL80_WORDS): New macro.
58302         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58303         on i386, x86_64, ia64.
58304         * tests/test-snprintf-posix.c: Include float.h.
58305         * tests/test-sprintf-posix.c: Likewise.
58306         * tests/test-vsnprintf-posix.c: Likewise.
58307         * tests/test-vsprintf-posix.c: Likewise.
58308
58309 2007-06-05  Bruno Haible  <bruno@clisp.org>
58310
58311         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
58312         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
58313         non-IEEE numbers on i386, x86_64, ia64.
58314         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
58315         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
58316         * tests/test-isnanl.h: Include float.h.
58317         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
58318
58319 2007-06-05  Bruno Haible  <bruno@clisp.org>
58320
58321         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
58322         also the %a / %A. Handle the %a / %A code before this extra handling.
58323
58324 2007-06-05  Bruno Haible  <bruno@clisp.org>
58325
58326         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
58327         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
58328
58329 2007-06-05  Bruno Haible  <bruno@clisp.org>
58330
58331         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
58332         typo in variable name.
58333
58334 2007-06-05  Eric Blake  <ebb9@byu.net>
58335
58336         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
58337         Reported by Simon Josefsson.
58338
58339 2007-06-04  Bruno Haible  <bruno@clisp.org>
58340
58341         Avoid test failures on some PowerPC platforms.
58342         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
58343         Define differently for PowerPC.
58344         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
58345         Reported by Gary V. Vaughan <gary@gnu.org>.
58346
58347 2007-06-02  Bruno Haible  <bruno@clisp.org>
58348
58349         Fix test-stdint failure on FreeBSD/ia64.
58350         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
58351         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
58352         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
58353         * doc/headers/stdint.texi: Update.
58354
58355 2007-06-01  Bruno Haible  <bruno@clisp.org>
58356
58357         * tests/test-binary-io.c (main): Pass a third argument to open().
58358         Reported by Gary V. Vaughan <gary@gnu.org>.
58359
58360 2007-06-01  Bruno Haible  <bruno@clisp.org>
58361
58362         * doc/functions/frexpl.texi: Update for mingw.
58363
58364 2007-06-01  Bruno Haible  <bruno@clisp.org>
58365
58366         * tests/test-lseek.c (main): Disable test of errno for invalid third
58367         argument.
58368         * doc/functions/lseek.texi: Update.
58369         Reported by Gary V. Vaughan <gary@gnu.org>.
58370
58371 2007-05-28  Bruno Haible  <bruno@clisp.org>
58372
58373         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
58374
58375 2007-05-31  Eric Blake  <ebb9@byu.net>
58376
58377         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
58378         cross compiling.
58379
58380 2007-05-30  Eric Blake  <ebb9@byu.net>
58381         and Bruno Haible  <bruno@clisp.org>
58382
58383         Work around mingw test failures exposed by m4-1.4.9b.
58384         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
58385         * tests/test-unistd.c: Disable uid_t and git_t tests for the
58386         moment.
58387
58388 2007-05-30  Bruno Haible  <bruno@clisp.org>
58389
58390         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
58391         assuming that they are closed. Needed on HP-UX 11.
58392
58393 2007-05-29  Bruno Haible  <bruno@clisp.org>
58394
58395         Fix a problem with #include_next.
58396         * lib/dirent_.h: Split the double-inclusion guard.
58397         * lib/fcntl_.h: Likewise.
58398         * lib/float_.h: Likewise.
58399         * lib/iconv_.h: Likewise.
58400         * lib/inttypes_.h: Likewise.
58401         * lib/locale_.h: Likewise.
58402         * lib/math_.h: Likewise.
58403         * lib/netinet_in_.h: Likewise.
58404         * lib/search_.h: Likewise.
58405         * lib/signal_.h: Likewise.
58406         * lib/stdint_.h: Likewise.
58407         * lib/stdio_.h: Likewise.
58408         * lib/stdlib_.h: Likewise.
58409         * lib/string_.h: Likewise.
58410         * lib/sys_select_.h: Likewise.
58411         * lib/sys_socket_.h: Likewise.
58412         * lib/sys_stat_.h: Likewise.
58413         * lib/sys_time_.h: Likewise.
58414         * lib/sysexits_.h: Likewise.
58415         * lib/time_.h: Likewise.
58416         * lib/unistd_.h: Likewise.
58417         * lib/wchar_.h: Likewise.
58418         * lib/wctype_.h: Likewise.
58419
58420 2007-05-29  Bruno Haible  <bruno@clisp.org>
58421
58422         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
58423         for the moment.
58424
58425 2007-05-29  Bruno Haible  <bruno@clisp.org>
58426
58427         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
58428         invocation.
58429         Reported by Eric Blake.
58430
58431 2007-05-29  Bruno Haible  <bruno@clisp.org>
58432
58433         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
58434         compiling case.
58435
58436 2007-05-29  Eric Blake  <ebb9@byu.net>
58437             Bruno Haible  <bruno@clisp.org>
58438
58439         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
58440         cross compiles.
58441
58442 2007-05-28  Eric Blake  <ebb9@byu.net>
58443
58444         * modules/closein-tests (test_closein_LDADD): Support test on
58445         cygwin with libtool.
58446
58447 2007-05-28  Bruno Haible  <bruno@clisp.org>
58448
58449         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
58450         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58451         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58452         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58453         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58454         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58455         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58456         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58457         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58458
58459 2007-05-28  Eric Blake  <ebb9@byu.net>
58460
58461         Unconditionally include <config.h> in unit tests.
58462         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58463         * tests/test-allocsa.c, tests/test-arcfour.c,
58464         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58465         tests/test-array_list.c, tests/test-array_oset.c,
58466         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58467         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58468         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58469         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58470         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58471         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58472         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58473         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58474         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58475         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58476         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58477         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58478         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58479         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58480         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58481         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58482         test-md5.c, test-memmem.c, test-printf-posix.c,
58483         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58484         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58485         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58486         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58487         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58488         test-vasnprintf-posix2.c, test-vasnprintf.c,
58489         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58490         test-vfprintf-posix.c, test-vprintf-posix.c,
58491         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58492         test-xvasprintf.c: Likewise.
58493
58494 2007-05-28  Bruno Haible  <bruno@clisp.org>
58495
58496         * gnulib-tool (func_import): Remember the --with-tests command-line
58497         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58498         Reported by Eric Blake.
58499
58500 2007-05-28  Bruno Haible  <bruno@clisp.org>
58501
58502         * modules/ftell-tests: New file.
58503         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58504         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58505
58506         * lib/ftell.c: New file.
58507         * modules/ftell: New file.
58508         * m4/ftell.m4: New file.
58509         * doc/functions/ftell.texi: Update.
58510         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58511         REPLACE_FTELL.
58512         * lib/stdio_.h (rpl_ftell): New declaration.
58513         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58514         REPLACE_FTELL.
58515
58516 2007-05-28  Eric Blake  <ebb9@byu.net>
58517
58518         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58519
58520 2007-05-28  Bruno Haible  <bruno@clisp.org>
58521
58522         * modules/fseek-tests: New file.
58523         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58524         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
58525
58526         * lib/fseek.c: New file.
58527         * modules/fseek: New file.
58528         * m4/fseek.m4: New file.
58529         * doc/functions/fseek.texi: Update.
58530         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
58531         REPLACE_FSEEK.
58532         * lib/stdio_.h (rpl_fseek): New declaration.
58533         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
58534         REPLACE_FSEEK.
58535
58536 2007-05-28  Bruno Haible  <bruno@clisp.org>
58537
58538         * lib/stdio_.h (fflush): More comments.
58539
58540 2007-05-28  Bruno Haible  <bruno@clisp.org>
58541
58542         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
58543         runtime test.
58544
58545 2007-05-28  Eric Blake  <ebb9@byu.net>
58546
58547         Improve lseek module.
58548         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
58549         * lib/unistd_.h (lseek): Scale back link warning message.
58550         * tests/test-lseek.c: Beef up test.
58551         * tests/test-lseek.sh: Exercise more facets of lseek.
58552         Reported by Bruno Haible.
58553
58554 2007-05-28  Bruno Haible  <bruno@clisp.org>
58555
58556         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
58557         to define.
58558
58559 2007-05-27  Bruno Haible  <bruno@clisp.org>
58560
58561         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
58562
58563 2007-05-27  Bruno Haible  <bruno@clisp.org>
58564
58565         * modules/openmp: New file.
58566         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
58567         Noah Misch.
58568
58569 2007-05-26  Bruno Haible  <bruno@clisp.org>
58570
58571         * modules/chdir-long (Depends-on): Add fchdir.
58572         * modules/chdir-safer (Depends-on): Likewise.
58573         * modules/fts (Depends-on): Likewise.
58574         * modules/fts-lgpl (Depends-on): Likewise.
58575         * modules/openat (Depends-on): Likewise.
58576         * modules/savewd (Depends-on): Likewise.
58577
58578 2007-05-24  Eric Blake  <ebb9@byu.net>
58579
58580         Fix lseek on mingw.
58581         * modules/lseek: New module.
58582         * m4/lseek.m4: New file.
58583         * lib/lseek.c: New file.
58584         * modules/lseek-tests: New file.
58585         * tests/test-lseek.c: New file.
58586         * tests/test-lseek.sh: New file.
58587         * MODULES.html.sh: Document lseek module.
58588         * modules/fflush (Depends-on): Add lseek, fseeko.
58589         * modules/fseeko (Depends-on): Likewise.
58590         * modules/ftello (Depends-on): Likewise.
58591         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
58592         broken.
58593         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
58594         broken.
58595         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
58596         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
58597         * lib/ftello.c (rpl_ftello): Likewise.
58598         * tests/test-fseeko.c (main): Test this.
58599         * tests/test-fseeko.sh: Likewise.
58600         * tests/test-ftello.c (main): Likewise.
58601         * tests/test-ftello.sh: Likewise.
58602         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
58603         implies replacing fseek.
58604         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
58605         HAVE_FTELLO.
58606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
58607         * modules/unistd (Makefile.am): Likewise.
58608         * lib/unistd_.h (lseek): Declare a replacement.
58609         * doc/functions/lseek.texi (lseek): Document this fix.
58610         * doc/functions/fseek.texi (fseek): Likewise.
58611         * doc/functions/ftell.texi (ftell): Likewise.
58612
58613 2007-05-24  Bruno Haible  <bruno@clisp.org>
58614
58615         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
58616         in the printed representation of a NaN.
58617         * tests/test-vasprintf-posix.c (test_function): Likewise.
58618         * tests/test-snprintf-posix.h (test_function): Likewise.
58619         * tests/test-sprintf-posix.h (test_function): Likewise.
58620         Reported by Eric Blake.
58621
58622 2007-05-23  Eric Blake  <ebb9@byu.net>
58623
58624         Fix fseeko/ftello on cygwin 1.5.24.
58625         * doc/functions/fseeko.texi (fseeko): Document the fix.
58626         * doc/functions/ftello.texi (ftello): Document the fix.
58627         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
58628         * doc/functions/stdout.text (stdout): New file.
58629         * doc/functions/stderr.text (stderr): New file.
58630         * doc/gnulib.texi (Function Substitutes): Use new files.
58631         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
58632         prior to 1.7.0.
58633         * tests/test-ftello.c (main): Likewise for ftello.
58634         * tests/test-fseeko.sh: New file.
58635         * tests/test-ftello.sh: New file.
58636         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
58637         with seekable stdin.
58638         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
58639         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
58640         (gl_REPLACE_FSEEKO): New macro.
58641         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
58642         * modules/fseeko (Files): Distribute fseeko.c.
58643         * modules/ftello (Files): Distribute ftello.c.
58644         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
58645         mode.
58646         * lib/ftello.c (rpl_ftello): New file.
58647         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
58648         fseeko, ftello.
58649         (gl_STDIN_LARGE_OFFSET): New macro.
58650         * modules/stdio (Makefile.am): Perform the replacement.
58651         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
58652
58653 2007-05-23  Bruno Haible  <bruno@clisp.org>
58654
58655         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
58656         GNULIB_POSIXCHECK is defined.
58657
58658 2007-05-21  Bruno Haible  <bruno@clisp.org>
58659
58660         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
58661         Check also the output for NaN arguments. When cross-compiling, guess
58662         no on IRIX.
58663         * lib/vasnprintf.c: Update comments.
58664         * tests/test-vasnprintf-posix.c (strisnan): New function.
58665         (test_function): Use it.
58666         * tests/test-vasprintf-posix.c (strisnan): New function.
58667         (test_function): Use it.
58668         * tests/test-snprintf-posix.h (strisnan): New function.
58669         (test_function): Use it.
58670         * tests/test-sprintf-posix.h (strisnan): New function.
58671         (test_function): Use it.
58672         Reported by Eric Blake.
58673
58674 2007-05-20  Bruno Haible  <bruno@clisp.org>
58675
58676         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
58677         numbers that fails on BeOS.
58678         * doc/functions/frexpl.texi: Update.
58679
58680 2007-05-20  Jim Meyering  <jim@meyering.net>
58681
58682         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
58683         forced upon us by glibc-2.6.
58684
58685 2007-05-20  Bruno Haible  <bruno@clisp.org>
58686
58687         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
58688         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
58689         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
58690         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
58691         NEED_PRINTF_INFINITE.
58692         (is_infinitel): New function.
58693         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
58694         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
58695         gl_PREREQ_VASNPRINTF_INFINITE.
58696         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
58697         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58698         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
58699         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
58700         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
58701         gl_PREREQ_VASNPRINTF_INFINITE.
58702         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58703         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58704         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58705         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58706         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58707         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58708         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58709         * doc/functions/fprintf.texi: Update.
58710         * doc/functions/printf.texi: Update.
58711         * doc/functions/snprintf.texi: Update.
58712         * doc/functions/sprintf.texi: Update.
58713         * doc/functions/vfprintf.texi: Update.
58714         * doc/functions/vprintf.texi: Update.
58715         * doc/functions/vsnprintf.texi: Update.
58716         * doc/functions/vsprintf.texi: Update.
58717
58718 2007-05-20  Bruno Haible  <bruno@clisp.org>
58719
58720         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
58721         was not found in libc.
58722         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
58723
58724 2007-05-20  Bruno Haible  <bruno@clisp.org>
58725
58726         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58727         printed as "-nan" instead of "nan".
58728         * tests/test-vasprintf-posix.c (test_function): Likewise.
58729         * tests/test-snprintf-posix.h (test_function): Likewise.
58730         * tests/test-sprintf-posix.h (test_function): Likewise.
58731         Needed for HP-UX 11.
58732
58733 2007-05-20  Jim Meyering  <jim@meyering.net>
58734
58735         Fix buggy test for the fchownat-deref bug.
58736         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
58737         symlink required for the run-test.  Without it, this test would
58738         always declare that fchownat doesn't work, and client code would
58739         unnecessarily use the replacement function with fixed libc.
58740         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
58741         Reported by Greg Schafer.
58742
58743 2007-05-19  Bruno Haible  <bruno@clisp.org>
58744
58745         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
58746         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
58747         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
58748         Needed for IRIX 6.5 and Solaris 2.5.1.
58749
58750 2007-05-19  Bruno Haible  <bruno@clisp.org>
58751
58752         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
58753         (test_function): Skip tests involving -0.0 on platforms where
58754         -0.0 = 0.0.
58755         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
58756         (test_function): Skip tests involving -0.0 on platforms where
58757         -0.0 = 0.0.
58758         * tests/test-snprintf-posix.h (have_minus_zero): New function.
58759         (test_function): Skip tests involving -0.0 on platforms where
58760         -0.0 = 0.0.
58761         * tests/test-sprintf-posix.h (have_minus_zero): New function.
58762         (test_function): Skip tests involving -0.0 on platforms where
58763         -0.0 = 0.0.
58764         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
58765         tests.
58766         * tests/test-printf-posix.h (test_function): Likewise.
58767         * tests/test-printf-posix.output: Remove all -0.0 related results.
58768         Needed for IRIX 6.5.
58769
58770 2007-05-19  Bruno Haible  <bruno@clisp.org>
58771
58772         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58773         printed as "nan0x7fffffff" instead of "nan".
58774         * tests/test-vasprintf-posix.c (test_function): Likewise.
58775         * tests/test-snprintf-posix.h (test_function): Likewise.
58776         * tests/test-sprintf-posix.h (test_function): Likewise.
58777         * tests/test-fprintf-posix.h (NaN): Remove macro.
58778         (test_function): Remove all NaN related tests.
58779         * tests/test-printf-posix.h (NaN): Remove macro.
58780         (test_function): Remove all NaN related tests.
58781         * tests/test-printf-posix.output: Remove all NaN related results.
58782         Needed for IRIX 6.5.
58783
58784 2007-05-19  Bruno Haible  <bruno@clisp.org>
58785
58786         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
58787         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
58788
58789 2007-05-19  Bruno Haible  <bruno@clisp.org>
58790
58791         * lib/float_.h: New file.
58792         * m4/float_h.m4: New file.
58793         * modules/float: New file.
58794         * modules/isnanl (Dependencies): Add float.
58795         * modules/isnanl-nolibm (Dependencies): Likewise.
58796         * modules/mathl (Dependencies): Likewise.
58797         * modules/printf-frexpl (Dependencies): Likewise.
58798         * modules/signbit (Dependencies): Likewise.
58799         * modules/vasnprintf (Dependencies): Likewise.
58800         * doc/headers/float.texi: Update.
58801
58802 2007-05-19  Jim Meyering  <jim@meyering.net>
58803
58804         * lib/utimens.c (gl_futimens): Rename from futimens,
58805         now that glibc-2.6 declares futimens.
58806         * lib/utimens.h: Likewise.
58807
58808 2007-05-19  Bruno Haible  <bruno@clisp.org>
58809
58810         Avoid test failures on mingw.
58811         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
58812         * tests/test-printf-posix.sh: Likewise.
58813         * tests/test-vfprintf-posix.sh: Likewise.
58814         * tests/test-vprintf-posix.sh: Likewise.
58815
58816 2007-05-19  Bruno Haible  <bruno@clisp.org>
58817
58818         Fix *printf result for NaN, Inf, -0.0 on mingw.
58819         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
58820         * lib/vasnprintf.c: Include math.h and isnan.h.
58821         (is_infinite_or_zero): New function.
58822         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
58823         values in the %f, %F, %e, %E, %g, %G directives.
58824         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
58825         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58826         gl_PRINTF_INFINITE and test its result. Invoke
58827         gl_PREREQ_VASNPRINTF_INFINITE.
58828         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58829         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58830         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58831         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58832         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58833         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58834         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58835         * doc/functions/fprintf.texi: Update.
58836         * doc/functions/printf.texi: Update.
58837         * doc/functions/snprintf.texi: Update.
58838         * doc/functions/sprintf.texi: Update.
58839         * doc/functions/vfprintf.texi: Update.
58840         * doc/functions/vprintf.texi: Update.
58841         * doc/functions/vsnprintf.texi: Update.
58842         * doc/functions/vsprintf.texi: Update.
58843
58844 2007-05-19  Bruno Haible  <bruno@clisp.org>
58845
58846         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
58847         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
58848         Instead of multiplying with 10^k, set extra_zeroes to k.
58849         (scale10_round_long_double): Remove function.
58850
58851 2007-05-18  Bruno Haible  <bruno@clisp.org>
58852
58853         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
58854         introduced on 2007-05-06.
58855
58856 2007-05-18  Bruno Haible  <bruno@clisp.org>
58857
58858         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
58859         %g directives.
58860         * tests/test-vasprintf-posix.c (test_function): Likewise.
58861         * tests/test-snprintf-posix.h (test_function): Likewise.
58862         * tests/test-sprintf-posix.h (test_function): Likewise.
58863
58864 2007-05-18  Bruno Haible  <bruno@clisp.org>
58865
58866         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
58867         (strmatch): New function.
58868         (test_function): Test the %f directive on numbers of various exponents.
58869         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
58870         (strmatch): New function.
58871         (test_function): Test the %f directive on numbers of various exponents.
58872         * tests/test-snprintf-posix.h (strmatch): New function.
58873         (test_function): Test the %f directive on numbers of various exponents.
58874         * tests/test-sprintf-posix.h (strmatch): New function.
58875         (test_function): Test the %f directive on numbers of various exponents.
58876         * tests/test-snprintf-posix.c (SIZEOF): New macro.
58877         * tests/test-sprintf-posix.c (SIZEOF): New macro.
58878         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
58879         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
58880
58881 2007-05-18  Bruno Haible  <bruno@clisp.org>
58882
58883         Add support for 'long double' number output.
58884         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
58885         * lib/vasnprintf.c: Include math.h and float+.h.
58886         (mp_limb_t): New type.
58887         (GMP_LIMB_BITS): New macro.
58888         (mp_twolimb_t): New type.
58889         (GMP_TWOLIMB_BITS): New macro.
58890         (mpn_t): New type.
58891         (multiply, divide, convert_to_decimal, decode_long_double,
58892         scale10_round_long_double, scale10_round_decimal_long_double,
58893         floorlog10l): New functions.
58894         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
58895         for the %f, %F, %e, %E, %g, %G directives.
58896         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
58897         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58898         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
58899         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
58900         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58901         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58902         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58903         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58904         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58905         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58906         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58907         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
58908         * modules/snprintf-posix (Depends-on): Likewise.
58909         * modules/sprintf-posix (Depends-on): Likewise.
58910         * modules/vasnprintf-posix (Depends-on): Likewise.
58911         * modules/vasprintf-posix (Depends-on): Likewise.
58912         * modules/vfprintf-posix (Depends-on): Likewise.
58913         * modules/vsnprintf-posix (Depends-on): Likewise.
58914         * modules/vsprintf-posix (Depends-on): Likewise.
58915         * modules/vasnprintf (Files): Add lib/float+.h.
58916         * doc/functions/fprintf.texi: Update.
58917         * doc/functions/printf.texi: Update.
58918         * doc/functions/snprintf.texi: Update.
58919         * doc/functions/sprintf.texi: Update.
58920         * doc/functions/vfprintf.texi: Update.
58921         * doc/functions/vprintf.texi: Update.
58922         * doc/functions/vsnprintf.texi: Update.
58923         * doc/functions/vsprintf.texi: Update.
58924
58925 2007-05-18  Bruno Haible  <bruno@clisp.org>
58926
58927         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
58928
58929 2007-05-18  Bruno Haible  <bruno@clisp.org>
58930
58931         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
58932         for printing 64-bit integers. Needed for mingw.
58933
58934 2007-05-18  Bruno Haible  <bruno@clisp.org>
58935
58936         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
58937         gl_FUNC_FREXPL_WORKS.
58938         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
58939
58940 2007-05-18  Bruno Haible  <bruno@clisp.org>
58941
58942         * modules/frexpl-nolibm-tests: New file.
58943
58944         * modules/frexpl-nolibm: New file.
58945         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
58946
58947 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58948
58949         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
58950         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
58951         GCC 4.2, which otherwise issues a lot of warnings.
58952         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
58953         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
58954         Likewise.
58955         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
58956         * modules/iconv_open (iconv.h): Likewise.
58957         * modules/locale (locale.h): Likewise.
58958         * modules/netinet_in (netinet/in.h): Likewise.
58959         * modules/sys_select (sys_select.h): Likewise.
58960         * modules/sys_socket (sys/socket.h): Likewise.
58961         * modules/sys_stat (sys/stat.h): Likewise.
58962         * modules/sysexits (sysexits.h): Likewise.
58963         * modules/unistd (unistd.h): Likewise.
58964
58965 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58966
58967         * modules/closein-tests (Makefile.am): Distribute
58968         `test-closein.sh'.
58969
58970 2007-05-17  Bruno Haible  <bruno@clisp.org>
58971
58972         * tests/test-printf-posix.output: Renamed from
58973         tests/test-fprintf-posix.out.
58974         * modules/fprintf-posix-tests: Update.
58975         * modules/printf-posix-tests: Update.
58976         * modules/vfprintf-posix-tests: Update.
58977         * modules/vprintf-posix-tests: Update.
58978         * tests/test-fprintf-posix.sh: Update.
58979         * tests/test-printf-posix.sh: Update.
58980         * tests/test-vfprintf-posix.sh: Update.
58981         * tests/test-vprintf-posix.sh: Update.
58982         Reported by Ralf Wildenhues.
58983
58984 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58985
58986         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
58987         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
58988         GCC 4.2, which otherwise issues a lot of warnings.
58989         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
58990         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
58991         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
58992         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
58993         it should no longer be needed.
58994         * lib/string_.h: Likewise.
58995         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
58996         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
58997         * modules/inttypes (inttypes.h): Likewise.
58998         * modules/math (math.h): Likewise.
58999         * modules/search (search.h): Likewise.
59000         * modules/signal (signal.h): Likewise.
59001         * modules/stdint (stdint.h): Likewise.
59002         * modules/stdio (stdio.h): Likewise.
59003         * modules/stdlib (stdlib.h): Likewise.
59004         * modules/string (string.h): Likewise.
59005         * modules/sys_time (sys/time.h): Likewise.
59006         * modules/time (time.h): Likewise.
59007         * modules/wchar (wchar.h): Likewise.
59008         * modules/wctype (wtype.h): Likewise.
59009
59010 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59011
59012         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
59013
59014 2007-05-13  Bruno Haible  <bruno@clisp.org>
59015
59016         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
59017         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59018         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
59019         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59020         (gl_PREREQ_STRTOK_R): Don't require it here.
59021
59022 2007-05-13  Bruno Haible  <bruno@clisp.org>
59023
59024         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
59025         when used in C++ mode.
59026
59027 2007-05-12  Bruno Haible  <bruno@clisp.org>
59028
59029         * lib/linebuffer.h: Tweak doc.
59030         * lib/linebuffer.c: Likewise.
59031
59032 2007-05-12  James Youngman  <jay@gnu.org>
59033
59034         * lib/linebuffer.c (readlinebuffer_delim): New function,
59035         like readlinebuffer, but use a caller-specified delimiter.
59036         (readlinebuffer): Just call readlinebuffer_delim with '\n'
59037         as the delimiter.
59038         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
59039
59040 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59041
59042         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
59043         * modules/openat (Files): Remove openat-die.c.
59044         (Depends-on): Add openat-die.
59045         * modules/openat-die: New module.
59046
59047 2007-05-06  Bruno Haible  <bruno@clisp.org>
59048
59049         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
59050         Update with info about Cygwin.
59051         * doc/functions/fprintf.texi: Update.
59052         * doc/functions/printf.texi: Update.
59053         * doc/functions/snprintf.texi: Update.
59054         * doc/functions/sprintf.texi: Update.
59055         * doc/functions/vfprintf.texi: Update.
59056         * doc/functions/vprintf.texi: Update.
59057         * doc/functions/vsnprintf.texi: Update.
59058         * doc/functions/vsprintf.texi: Update.
59059         Reported by Eric Blake.
59060
59061 2007-05-06  Bruno Haible  <bruno@clisp.org>
59062
59063         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
59064         padding ourselves for the floating-point directives.
59065         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
59066         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
59067         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59068         gl_PRINTF_FLAG_ZERO and test its result. Invoke
59069         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
59070         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59071         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59072         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59073         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59074         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59075         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59076         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59077         * tests/test-snprintf-posix.h (test_function): Also check the width
59078         and some flags in the %f directive.
59079         * tests/test-sprintf-posix.h (test_function): Likewise.
59080         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59081         * tests/test-vasprintf-posix.c (test_function): Likewise.
59082         * doc/functions/fprintf.texi: Update.
59083         * doc/functions/printf.texi: Update.
59084         * doc/functions/snprintf.texi: Update.
59085         * doc/functions/sprintf.texi: Update.
59086         * doc/functions/vfprintf.texi: Update.
59087         * doc/functions/vprintf.texi: Update.
59088         * doc/functions/vsnprintf.texi: Update.
59089         * doc/functions/vsprintf.texi: Update.
59090
59091 2007-05-06  Bruno Haible  <bruno@clisp.org>
59092
59093         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
59094         pass the ' flag character to sprintf or snprintf.
59095         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
59096         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
59097         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59098         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
59099         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
59100         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59101         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59102         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59103         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59104         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59105         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59106         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59107         * tests/test-snprintf-posix.h (test_function): Also check the grouping
59108         flag.
59109         * tests/test-sprintf-posix.h (test_function): Likewise.
59110         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59111         * tests/test-vasprintf-posix.c (test_function): Likewise.
59112         * doc/functions/fprintf.texi: Update.
59113         * doc/functions/printf.texi: Update.
59114         * doc/functions/snprintf.texi: Update.
59115         * doc/functions/sprintf.texi: Update.
59116         * doc/functions/vfprintf.texi: Update.
59117         * doc/functions/vprintf.texi: Update.
59118         * doc/functions/vsnprintf.texi: Update.
59119         * doc/functions/vsprintf.texi: Update.
59120
59121 2007-05-01  Bruno Haible  <bruno@clisp.org>
59122
59123         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
59124
59125 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
59126
59127         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
59128         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
59129
59130 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59131
59132         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
59133         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
59134         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
59135
59136 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
59137
59138         * lib/argp-help.c (struct hol_entry): New member `ord'.
59139         (HOL_ENTRY_PTRCMP): Use ord for comparison
59140         (hol_sort): Initialize ord.
59141
59142 2007-05-01  Bruno Haible  <bruno@clisp.org>
59143
59144         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
59145         Reported by Eric Blake.
59146         * doc/gnulib.texi (Function Substitutes): Update.
59147
59148 2007-05-01  Bruno Haible  <bruno@clisp.org>
59149
59150         * doc/functions.texi: Remove file, now redundant through
59151         doc/functions/*.texi.
59152
59153 2007-05-01  Bruno Haible  <bruno@clisp.org>
59154
59155         * modules/argp (Depends-on): Add sleep.
59156
59157 2007-05-01  Bruno Haible  <bruno@clisp.org>
59158
59159         * modules/sleep-tests: New file.
59160         * tests/test-sleep.c: New file.
59161
59162         * modules/sleep: New file.
59163         * lib/sleep.c: New file.
59164         * m4/sleep.m4: New file.
59165         * lib/unistd_.h (sleep): New declaration.
59166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
59167         HAVE_SLEEP.
59168         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
59169         * doc/functions/sleep.texi: Document the sleep module.
59170
59171 2007-05-01  Bruno Haible  <bruno@clisp.org>
59172
59173         * lib/sigprocmask.h: Remove file.
59174         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
59175         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
59176         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
59177         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
59178         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
59179         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
59180         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
59181         HAVE_SIGSET_T as a shell variable.
59182         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
59183         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
59184         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
59185         (Depends-on): Add signal. Remove verify.
59186         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
59187         (Include): Mention <signal.h> instead of sigprocmask.h.
59188         * NEWS: Mention the change.
59189         * lib/fatal-signal.c: Don't include sigprocmask.h.
59190
59191 2007-05-01  Bruno Haible  <bruno@clisp.org>
59192
59193         * modules/signal: New file.
59194         * lib/signal_.h: New file.
59195         * m4/signal_h.m4: New file.
59196
59197 2007-05-01  Bruno Haible  <bruno@clisp.org>
59198
59199         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
59200         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
59201         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
59202         HAVE_WCTYPE_CTMP_BUG into wctype.h.
59203
59204 2007-05-01  Bruno Haible  <bruno@clisp.org>
59205
59206         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
59207         configure time.
59208         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
59209         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
59210         * modules/sys_stat (Makefile.am): Substitute their values into
59211         sys/stat.h.
59212
59213 2007-05-01  Bruno Haible  <bruno@clisp.org>
59214
59215         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
59216         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
59217         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
59218
59219 2007-05-01  Bruno Haible  <bruno@clisp.org>
59220
59221         * doc/header/assert.texi: Undo last change: don't mention the gnulib
59222         'assert' module here.
59223
59224 2007-05-01  Bruno Haible  <bruno@clisp.org>
59225
59226         * doc/functions/*.texi: New files.
59227         * doc/functions/google-ranking.txt: New file.
59228         * doc/gnulib.texi (Function Substitutes): New chapter.
59229         (ctime, inet_ntoa): Remove sections.
59230         * doc/ctime.texi: Remove file.
59231         * doc/inet_ntoa.texi: Remove file.
59232         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
59233         dependencies.
59234         (%.info): New rule, specifying a --reference-limit.
59235
59236 2007-05-01  Bruno Haible  <bruno@clisp.org>
59237
59238         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
59239
59240 2007-05-01  Bruno Haible  <bruno@clisp.org>
59241
59242         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
59243         the portability of 'mkdir' to mingw systems.
59244
59245 2007-05-01  Bruno Haible  <bruno@clisp.org>
59246
59247         * doc/headers/google-ranking.txt: New file.
59248
59249 2007-04-30  Eric Blake  <ebb9@byu.net>
59250
59251         Prefer fseeko to fseek.
59252         * modules/getpass (Depends-on): Add fseeko.
59253         * lib/getpass.c (getpass): Use fseeko, not fseek.
59254
59255 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
59256
59257         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
59258         assumes the sorting is stable, while most qsort implementations
59259         are not.  Use argument addresses to ensure they never compare as
59260         equal.
59261
59262         * tests/test-argp-2.sh (usage-indent test): Fix output
59263         (func_compare): Restore diff options
59264         * tests/test-argp.c: Restore #include "progname.h"
59265
59266 2007-04-29  Bruno Haible  <bruno@clisp.org>
59267
59268         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
59269         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59270         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
59271         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59272         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
59273         (configure.ac): Define CHECK_SNPRINTF_POSIX.
59274         (TESTS, check_PROGRAMS): Add test-snprintf.
59275         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
59276         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
59277         (TESTS, check_PROGRAMS): Add test-vsnprintf.
59278         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
59279         assertions that fail on HP-UX, OSF/1, or IRIX.
59280         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
59281
59282 2007-04-29  Bruno Haible  <bruno@clisp.org>
59283
59284         * MODULES.html.sh (posix_functions): Remove 'contents'.
59285
59286 2007-04-29  Karl Berry  <karl@gnu.org>
59287
59288         * config/srclist.txt (gendocs_template_min): new entry.
59289
59290 2007-04-29  Bruno Haible  <bruno@clisp.org>
59291
59292         Work around fpurge bug on BSD systems.
59293         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
59294         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
59295         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
59296         fpurge to rpl_fpurge if the system already has this function.
59297         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
59298         the case where the system already has this function. Correct invariants
59299         on BSD systems.
59300         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
59301         BSD systems.
59302
59303 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59304
59305         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
59306         proposed by Sven Verdoolaege.
59307
59308         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
59309         options.
59310         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
59311         (usage and help tests): Update
59312
59313 2007-04-29  Bruno Haible  <bruno@clisp.org>
59314
59315         * tests/test-fflush.c (main): Use a file of size 17, not 10.
59316         Print more information in case of failure. Disable a test on BeOS.
59317
59318 2007-04-29  Bruno Haible  <bruno@clisp.org>
59319
59320         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
59321         This helps debugging on systems on which no gdb is available.
59322
59323 2007-04-29  Bruno Haible  <bruno@clisp.org>
59324
59325         * lib/freading.h: Improve comments.
59326         * lib/fwriting.h: Likewise.
59327         * tests/test-freading.c (main): Don't check freading immediately after
59328         repositioning. Needed for glibc.
59329
59330 2007-04-29  Bruno Haible  <bruno@clisp.org>
59331
59332         * lib/freading.c (freading): Trivial simplification.
59333
59334 2007-04-28  Bruno Haible  <bruno@clisp.org>
59335
59336         * tests/test-fwriting.c (main): Also test the interaction between
59337         fflush and fwriting.
59338         * modules/fwriting-tests (Depends-on): Add fflush.
59339
59340         * tests/test-freading.c (main): Also test the interaction between
59341         fflush and freading.
59342         * modules/freading-tests (Depends-on): Add fflush.
59343
59344 2007-04-28  Bruno Haible  <bruno@clisp.org>
59345
59346         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
59347         fseeko and ftello.
59348         Suggested by Eric Blake.
59349
59350 2007-04-28  Jim Meyering  <jim@meyering.net>
59351
59352         Avoid false-negative in gl_STDINT_H's C99 conformance test.
59353         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
59354         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
59355
59356 2007-04-27  Eric Blake  <ebb9@byu.net>
59357
59358         * doc/headers/assert.texi (assert.h): Document assert module use.
59359
59360 2007-04-27  Bruno Haible  <bruno@clisp.org>
59361
59362         * doc/headers/*.texi: New files.
59363         * doc/gnulib.texi (Header File Substitutes): New chapter.
59364         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
59365         dependencies.
59366         (standards.info ,standards.html, standards.dvi): Update dependencies.
59367         (mostlyclean, clean): New targets.
59368
59369 2007-04-27  Bruno Haible  <bruno@clisp.org>
59370
59371         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
59372         * modules/sysexits (Files, Makefile.am): Update.
59373
59374         * lib/sys_socket_.h: Renamed from lib/socket_.h.
59375         * modules/sys_socket (Files, Makefile.am): Update.
59376
59377         * lib/sys_stat_.h: Renamed from lib/stat_.h.
59378         * modules/sys_stat (Files, Makefile.am): Update.
59379
59380 2007-04-27  Eric Blake  <ebb9@byu.net>
59381
59382         * lib/freading.h: Improve comments.
59383         * lib/fwriting.h: Likewise.
59384         * lib/fflush.c: Likewise.
59385
59386         Fix closein for mingw.
59387         * modules/closein-tests: Add tests for closein.
59388         * tests/test-closein.c: New file.
59389         * tests/test-closein.sh: Likewise.
59390         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
59391         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
59392
59393 2007-04-27  Bruno Haible  <bruno@clisp.org>
59394
59395         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
59396         version is < 6.
59397         * lib/math_.h [__DECC]: Likewise.
59398         * lib/stdio_.h [__DECC]: Likewise.
59399         * lib/stdlib_.h [__DECC]: Likewise.
59400         * lib/string_.h [__DECC]: Likewise.
59401         * lib/time_.h [__DECC]: Likewise.
59402         * lib/wchar_.h [__DECC]: Likewise.
59403         * lib/wctype_.h [__DECC]: Likewise.
59404
59405 2007-04-27  Bruno Haible  <bruno@clisp.org>
59406
59407         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
59408
59409 2007-04-27  Bruno Haible  <bruno@clisp.org>
59410
59411         * lib/fflush.c: Add comments.
59412         * modules/fpurge-tests (Depends-on): Add fflush.
59413         * modules/freadable-tests (Depends-on): Likewise.
59414         * modules/fwritable-tests (Depends-on): Likewise.
59415
59416 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
59417
59418         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
59419         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
59420         Report by Bruno Haible <bruno@clisp.org>.
59421
59422 2007-04-26  Eric Blake  <ebb9@byu.net>
59423
59424         Fix fflush on mingw.
59425         * modules/fflush (Depends-on): Add freading.
59426         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
59427         but unread data.
59428
59429 2007-04-26  Eric Blake  <ebb9@byu.net>
59430         and Bruno Haible  <bruno@clisp.org>
59431
59432         Implement freading and fwriting.
59433         * lib/freading.c: New file.
59434         * lib/freading.h: Likewise.
59435         * m4/freading.m4: Likewise.
59436         * modules/freading: Likewise.
59437         * modules/freading-tests: Likewise.
59438         * tests/test-freading.c: Likewise.
59439         * lib/fwriting.c: New file.
59440         * lib/fwriting.h: Likewise.
59441         * m4/fwriting.m4: Likewise.
59442         * modules/fwriting: Likewise.
59443         * modules/fwriting-tests: Likewise.
59444         * tests/test-fwriting.c: Likewise.
59445         * MODULES.html.sh (File stream based Input/Output): Mention them.
59446
59447 2007-04-26  Bruno Haible  <bruno@clisp.org>
59448
59449         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
59450         'long' when we assume it.
59451         Suggested by Eric Blake.
59452
59453 2007-04-26  Bruno Haible  <bruno@clisp.org>
59454
59455         Ensure fseeko, ftello are declared on glibc systems.
59456         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
59457         * modules/fseeko (configure.ac-early): Likewise.
59458         * modules/ftello (configure.ac-early): Likewise.
59459         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
59460         AC_FUNC_FSEEKO for this.
59461         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59462         (gl_CHECK_FSEEKO): Remove macro.
59463
59464 2007-04-26  Bruno Haible  <bruno@clisp.org>
59465
59466         * tests/test-fflush.c (main): Also check the ftell result after
59467         fflush and fseek/fseeko.
59468         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59469         file descriptor position cache in the stream.
59470         * lib/fseeko.c (rpl_fseeko): Likewise.
59471
59472 2007-04-26  Bruno Haible  <bruno@clisp.org>
59473
59474         * modules/fflush-tests (Depends-on): Add fseeko.
59475
59476 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59477             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59478
59479         * lib/argz_.h: ensure error_t definition is obtained in same
59480         mechanism system argz.h would have.
59481         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59482         argz facilities are known bad.  Err on the side of caution if
59483         cross-compiling.
59484
59485 2007-04-25  Eric Blake  <ebb9@byu.net>
59486
59487         * lib/fpurge.c (includes): Use stdlib.h for free.
59488         * tests/test-fflush.c (main): Also test fflush-fseeko.
59489
59490 2007-04-25  Bruno Haible  <bruno@clisp.org>
59491
59492         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59493         * lib/fseeko.c: New file.
59494         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59495         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59496         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59497         gl_FUNC_FSEEKO.
59498         (gl_FUNC_FSEEKO): Invoke it.
59499         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59500         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59501         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59502
59503 2007-04-25  Bruno Haible  <bruno@clisp.org>
59504
59505         * modules/fflush (Depends-on): Add ftello.
59506
59507 2007-04-25  Bruno Haible  <bruno@clisp.org>
59508
59509         * modules/ftello-tests: New file.
59510         * tests/test-ftello.c: New file.
59511
59512         * modules/ftello: New file.
59513         * m4/ftello.m4: New file.
59514         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59515         HAVE_FTELLO.
59516         * lib/stdio_.h (ftello): New declaration.
59517         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59518         HAVE_FTELLO.
59519
59520 2007-04-25  Bruno Haible  <bruno@clisp.org>
59521
59522         * modules/fseeko-tests: New file.
59523         * tests/test-fseeko.c: New file.
59524
59525         * modules/fseeko: New file.
59526         * m4/fseeko.m4: New file.
59527         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
59528         HAVE_FSEEKO.
59529         * lib/stdio_.h (fseeko): New declaration.
59530         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
59531         HAVE_FSEEKO.
59532
59533 2007-04-25  Bruno Haible  <bruno@clisp.org>
59534
59535         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
59536
59537 2007-04-25  Bruno Haible  <bruno@clisp.org>
59538
59539         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
59540         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
59541         * tests/test-unistd.c: Likewise.
59542         * tests/test-fcntl.c: Likewise.
59543
59544 2007-04-23  Eric Blake  <ebb9@byu.net>
59545
59546         * lib/fflush.c: Fix missing include.
59547         Reported by Bruno Haible.
59548
59549 2007-04-23  Bruno Haible  <bruno@clisp.org>
59550
59551         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
59552         Reported by Eric Blake.
59553
59554 2007-04-23  Bruno Haible  <bruno@clisp.org>
59555
59556         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
59557
59558 2007-04-23  Bruno Haible  <bruno@clisp.org>
59559
59560         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
59561
59562 2007-04-23  Bruno Haible  <bruno@clisp.org>
59563
59564         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
59565         Needed on HP-UX 11.
59566
59567 2007-04-16  Eric Blake  <ebb9@byu.net>
59568
59569         Make fflush rely on fpurge.
59570         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
59571         open coding all variants.
59572         * modules/fflush (Depends-on): Add fpurge and unistd.
59573         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
59574         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
59575
59576         Fix --with-tests compilation on cygwin.
59577         * modules/argmatch-tests (Makefile.am): List gnulib library first
59578         in LDADD.
59579         * modules/argp-tests (Makefile.am): Likewise.
59580         * modules/array-list-tests (Makefile.am): Likewise.
59581         * modules/array-oset-tests (Makefile.am): Likewise.
59582         * modules/avltree-list-tests (Makefile.am): Likewise.
59583         * modules/avltree-oset-tests (Makefile.am): Likewise.
59584         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59585         * modules/carray-list-tests (Makefile.am): Likewise.
59586         * modules/dirname-tests (Makefile.am): Likewise.
59587         * modules/frexp-tests (Makefile.am): Likewise.
59588         * modules/isnanl-tests (Makefile.am): Likewise.
59589         * modules/linked-list-tests (Makefile.am): Likewise.
59590         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59591         * modules/lock-tests (Makefile.am): Likewise.
59592         * modules/rbtree-list-tests (Makefile.am): Likewise.
59593         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59594         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59595         * modules/tls-tests (Makefile.am): Likewise.
59596         * modules/tsearch-tests (Makefile.am): Likewise.
59597         * modules/xvasprintf-tests (Makefile.am): Likewise.
59598
59599         Fix fpurge for cygwin.
59600         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
59601         value.
59602         * modules/fpurge-tests (Depends-on): Clean up trash.
59603
59604 2007-04-16  Simon Josefsson  <simon@josefsson.org>
59605
59606         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
59607
59608         * m4/autobuild.m4: Re-indent.
59609
59610 2007-04-13  Bruno Haible  <bruno@clisp.org>
59611
59612         * modules/fpurge-tests: New file.
59613         * tests/test-fpurge.c: New file.
59614
59615         * modules/fpurge: New file.
59616         * lib/fpurge.h: New file.
59617         * lib/fpurge.c: New file.
59618         * m4/fpurge.m4: New file.
59619
59620 2007-04-13  Bruno Haible  <bruno@clisp.org>
59621
59622         * modules/fbufmode-tests: New file.
59623         * tests/test-fbufmode.c: New file.
59624
59625         * modules/fbufmode: New file.
59626         * lib/fbufmode.h: New file.
59627         * lib/fbufmode.c: New file.
59628         * m4/fbufmode.m4: New file.
59629
59630 2007-04-13  Bruno Haible  <bruno@clisp.org>
59631
59632         * modules/fwritable-tests: New file.
59633         * tests/test-fwritable.c: New file.
59634
59635         * modules/fwritable: New file.
59636         * lib/fwritable.h: New file.
59637         * lib/fwritable.c: New file.
59638         * m4/fwritable.m4: New file.
59639
59640 2007-04-13  Bruno Haible  <bruno@clisp.org>
59641
59642         * modules/freadable-tests: New file.
59643         * tests/test-freadable.c: New file.
59644
59645         * modules/freadable: New file.
59646         * lib/freadable.h: New file.
59647         * lib/freadable.c: New file.
59648         * m4/freadable.m4: New file.
59649
59650 2007-04-13  Bruno Haible  <bruno@clisp.org>
59651
59652         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
59653         MOSTLYCLEANFILES.
59654
59655 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59656
59657         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
59658         gzip bootstrap.conf to avoid dragging in i18n machinery.
59659         (gnulib_tool_option): Use it.
59660
59661 2007-04-13  Bruno Haible  <bruno@clisp.org>
59662
59663         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
59664         %F directives.
59665         * tests/test-vasprintf-posix.c (test_function): Likewise.
59666         * tests/test-snprintf-posix.h (test_function): Likewise.
59667         * tests/test-sprintf-posix.h (test_function): Likewise.
59668         * tests/test-fprintf-posix.h (test_function): Likewise.
59669         * tests/test-printf-posix.h (test_function): Likewise.
59670         * tests/test-fprintf-posix.out: Likewise.
59671
59672 2007-04-13  Bruno Haible  <bruno@clisp.org>
59673
59674         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
59675         * modules/tls-tests (configure.ac): Likewise.
59676         Reported by Arto C. Nirkko <anirkko@insel.ch>.
59677
59678 2007-04-13  Bruno Haible  <bruno@clisp.org>
59679
59680         * lib/tls.c (glthread_tls_get): Fix return type.
59681         Patch by Arto C. Nirkko <anirkko@insel.ch>.
59682
59683 2007-04-12  Eric Blake  <ebb9@byu.net>
59684
59685         * modules/gettime (Depends-on): Remove gettime.
59686         Reported by Dmitry V. Levin.
59687
59688 2007-04-12  Bruno Haible  <bruno@clisp.org>
59689
59690         * modules/fflush (Include): Mention <stdio.h>.
59691         * modules/strtoimax (Include): Mention <inttypes.h>.
59692         * modules/strtoumax (Include): Likewise.
59693
59694 2007-04-12  Eric Blake  <ebb9@byu.net>
59695
59696         * .cvsignore: New file.
59697         * .gitignore: Likewise.
59698
59699 2007-04-12  Bruno Haible  <bruno@clisp.org>
59700
59701         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
59702         not before, since $(LDADD) often contains libgnu.a.
59703         * modules/striconv-tests (test_striconv_LDADD): Likewise.
59704         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
59705         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
59706         Needed on Cygwin.
59707
59708 2007-04-12  Eric Blake  <ebb9@byu.net>
59709
59710         Work around glibc's failure to flush stdin on fclose.
59711         * lib/closein.c (close_stdin): Flush stdin before closing.
59712
59713         Work around glibc's failure to reset seekable stdin on exit.
59714         * modules/closein: New module.
59715         * lib/closein.c: New file.
59716         * lib/closein.h: Likewise.
59717         * m4/closein.m4: Likewise.
59718         * MODULES.html.sh (File stream based Input/Output): Document it.
59719
59720 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59721
59722         * gnulib-tool: Rename generated 'autobuild' script to
59723         'do-autobuild' in --create-megatestdir output.
59724
59725         * doc/gnulib.texi (Build robot for gnulib): Fix.
59726
59727 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59728
59729         * modules/sysexits (Depends-on): Add absolute-header.
59730
59731 2007-04-12  Eric Blake  <ebb9@byu.net>
59732
59733         No need to preserve errno on success.
59734         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
59735         Reported by Bruno Haible.
59736
59737 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59738
59739         * MODULES.html.sh (Support for maintaining and releasing
59740         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
59741
59742 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59743
59744         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
59745
59746 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59747
59748         * modules/autobuild: New module.
59749
59750         * m4/autobuild.m4: New file.
59751
59752 2007-04-11  Bruno Haible  <bruno@clisp.org>
59753
59754         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
59755         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
59756         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
59757         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
59758         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59759         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59760         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59761         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59762         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59763         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59764         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
59765         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59766         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59767         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
59768         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59769         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59770         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
59771         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59772         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59773         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
59774         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59775         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59776         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
59777         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59778         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59779         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
59780         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59781         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59782         Reported by Eric Blake.
59783
59784 2007-04-11  Bruno Haible  <bruno@clisp.org>
59785
59786         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
59787
59788 2007-04-10  Bruno Haible  <bruno@clisp.org>
59789
59790         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
59791         for NaN and Infinity. Needed on FreeBSD 6.1.
59792         * tests/test-vasnprintf-posix.c (test_function): Undo last change
59793         regarding results for "%010a" of Infinity and NaN.
59794         * tests/test-vasprintf-posix.c (test_function): Likewise.
59795         * tests/test-snprintf-posix.h (test_function): Likewise.
59796         * tests/test-sprintf-posix.h (test_function): Likewise.
59797         * tests/test-fprintf-posix.h (test_function): Likewise.
59798         * tests/test-printf-posix.h (test_function): Likewise.
59799         * tests/test-fprintf-posix.out: Likewise.
59800
59801 2007-04-10  Bruno Haible  <bruno@clisp.org>
59802
59803         * modules/locale-tests: New file.
59804         * tests/test-locale.c: New file.
59805
59806         * modules/locale: New file.
59807         * lib/locale_.h: New file.
59808         * m4/locale_h.m4: New file.
59809
59810 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
59811             Bruno Haible  <bruno@clisp.org>
59812
59813         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
59814         be determined, test for availability of the copysignf, copysign,
59815         copysignl functions.
59816         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
59817         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
59818         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
59819
59820 2007-04-09  Eric Blake  <ebb9@byu.net>
59821
59822         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
59823         * modules/stdio (Makefile.am): Support fflush.
59824         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59825         * modules/fflush: New file.
59826         * lib/fflush.c: Likewise.
59827         * m4/fflush.m4: Likewise.
59828         * modules/fflush-tests: New test.
59829         * tests/test-fflush.c: Likewise.
59830         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
59831
59832 2007-04-06  Bruno Haible  <bruno@clisp.org>
59833
59834         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
59835         (VASNPRINTF): Use signbit for faster determination whether to print a
59836         minus sign.
59837         * modules/vasnprintf (Files): Remove lib/float+.h.
59838         * modules/fprintf-posix (Depends-on): Add signbit.
59839         * modules/snprintf-posix (Depends-on): Likewise.
59840         * modules/sprintf-posix (Depends-on): Likewise.
59841         * modules/vasnprintf-posix (Depends-on): Likewise.
59842         * modules/vasprintf-posix (Depends-on): Likewise.
59843         * modules/vfprintf-posix (Depends-on): Likewise.
59844         * modules/vsnprintf-posix (Depends-on): Likewise.
59845         * modules/vsprintf-posix (Depends-on): Likewise.
59846
59847 2007-04-06  Bruno Haible  <bruno@clisp.org>
59848
59849         * tests/test-frexp.c (main): Test also the sign bit of zero results.
59850         * tests/test-frexpl.c (main): Likewise.
59851         * tests/test-ldexpl.c (main): Likewise.
59852         * modules/frexp-tests (Depends-on): Add signbit.
59853         * modules/frexpl-tests (Depdends-on): Likewise.
59854         * modules/ldexpl-tests (Depdends-on): Likewise.
59855
59856 2007-04-06  Bruno Haible  <bruno@clisp.org>
59857
59858         * modules/signbit-tests: New file.
59859         * tests/test-signbit.c: New file.
59860
59861         * modules/signbit: New file.
59862         * lib/signbitf.c: New file.
59863         * lib/signbitd.c: New file.
59864         * lib/signbitl.c: New file.
59865         * m4/signbit.m4: New file.
59866         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
59867         (signbit): New macro.
59868         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
59869         REPLACE_SIGNBIT.
59870         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
59871         REPLACE_FREXPL into math.h.
59872
59873 2007-04-06  Bruno Haible  <bruno@clisp.org>
59874
59875         * modules/isnanf-nolibm-tests: New file.
59876         * tests/test-isnanf.c: New file.
59877
59878         * modules/isnanf-nolibm: New file.
59879         * lib/isnanf.h: New file.
59880         * lib/isnanf.c: New file.
59881         * lib/isnan.c: Consider the USE_FLOAT macro.
59882         * m4/isnanf.m4: New file.
59883
59884 2007-04-06  Bruno Haible  <bruno@clisp.org>
59885
59886         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
59887         (Link): New section.
59888
59889         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
59890
59891 2007-04-06  Bruno Haible  <bruno@clisp.org>
59892
59893         Assume the 'long double' type.
59894         * m4/longdouble.m4: Remove file.
59895         * config/srclist.txt: Don't mention longdouble.m4.
59896         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
59897         * lib/float+.h: Likewise.
59898         * lib/frexp.c: Likewise.
59899         * lib/printf-args.h: Likewise.
59900         * lib/printf-args.c: Likewise.
59901         * lib/printf-frexp.c: Likewise.
59902         * lib/printf-parse.c: Likewise.
59903         * lib/vasnprintf.c: Likewise.
59904         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
59905         * m4/intl.m4: Likewise.
59906         * m4/isnanl.m4: Likewise.
59907         * m4/printf.m4: Likewise.
59908         * m4/printf-frexpl.m4: Likewise.
59909         * m4/vasnprintf.m4: Likewise.
59910         * modules/allocsa (Files): Remove m4/longdouble.m4.
59911         * modules/gettext (Files): Likewise.
59912         * modules/relocatable-prog-wrapper (Files): Likewise.
59913         * modules/vasnprintf (Files): Likewise.
59914         * modules/isnanl (Files): Likewise.
59915         (Include): Simplify.
59916         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
59917         (Include): Simplify.
59918         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
59919         (Include): Simplify.
59920         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
59921         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59922         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
59923         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59924         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59925         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59926         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
59927         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59928         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59929         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59930         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
59931         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59932         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
59933         * tests/test-isnanl.c: Likewise.
59934         * tests/test-snprintf-posix.h: Likewise.
59935         * tests/test-sprintf-posix.h: Likewise.
59936         * tests/test-vasnprintf-posix.c: Likewise.
59937         * tests/test-vasnprintf-posix2.c: Likewise.
59938         * tests/test-vasprintf-posix.c: Likewise.
59939
59940 2007-04-06  Bruno Haible  <bruno@clisp.org>
59941
59942         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
59943         * lib/math_.h [__DECC]: Include the overridden include file through
59944         #include_next, outside the double-inclusion guard.
59945         * lib/stdio_.h [__DECC]: Likewise.
59946         * lib/stdlib_.h [__DECC]: Likewise.
59947         * lib/string_.h [__DECC]: Likewise.
59948         * lib/time_.h [__DECC]: Likewise.
59949         * lib/wchar_.h [__DECC]: Likewise.
59950         * lib/wctype_.h [__DECC]: Likewise.
59951         * lib/inttypes_.h [__DECC]: Likewise.
59952         Reported by Albert Chin <china@thewrittenword.com> in
59953         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
59954
59955 2007-04-04  Eric Blake  <ebb9@byu.net>
59956
59957         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
59958         1.5.x.
59959
59960 2007-04-04  Bruno Haible  <bruno@clisp.org>
59961
59962         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
59963         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
59964
59965 2007-04-04  Bruno Haible  <bruno@clisp.org>
59966
59967         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
59968         results for "%010a" of Infinity and NaN.
59969         * tests/test-vasprintf-posix.c (test_function): Likewise.
59970         * tests/test-snprintf-posix.h (test_function): Likewise.
59971         * tests/test-sprintf-posix.h (test_function): Likewise.
59972         * tests/test-fprintf-posix.h (test_function): Remove these tests.
59973         * tests/test-printf-posix.h (test_function): Likewise.
59974         * tests/test-fprintf-posix.out: Update.
59975         Needed for FreeBSD 6.1.
59976
59977 2007-04-04  Bruno Haible  <bruno@clisp.org>
59978
59979         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
59980         directly used by the gnulib modules nor by gnulib-tool.
59981
59982 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
59983
59984         * DEPENDENCIES: Give overall description of version dependency
59985         desirability.  Use more-typical names for apps.
59986         Add shell, coreutils, diffutils, grep, tar, gzip.
59987
59988 2007-04-04  Simon Josefsson  <simon@josefsson.org>
59989
59990         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
59991
59992 2007-04-04  Karl Berry  <karl@gnu.org>
59993
59994         * MODULES.html.sh (func_module): missing '.
59995
59996 2007-04-03  Bruno Haible  <bruno@clisp.org>
59997
59998         * modules/argmatch-tests (Makefile.am): New variable
59999         test_argmatch_LDADD.
60000         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
60001         * modules/array-list-tests (Makefile.am): New variable
60002         test_array_list_LDADD.
60003         * modules/array-oset-tests (Makefile.am): New variable
60004         test_array_oset_LDADD.
60005         * modules/avltree-list-tests (Makefile.am): New variable
60006         test_avltree_list_LDADD.
60007         * modules/avltree-oset-tests (Makefile.am): New variable
60008         test_avltree_oset_LDADD.
60009         * modules/avltreehash-list-tests (Makefile.am): New variable
60010         test_avltreehash_list_LDADD.
60011         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
60012         test_canonicalize_lgpl_LDADD.
60013         * modules/carray-list-tests (Makefile.am): New variable
60014         test_carray_list_LDADD.
60015         * modules/dirname-tests (Makefile.am): New variable
60016         test_dirname_LDADD.
60017         * modules/linked-list-tests (Makefile.am): New variable
60018         test_linked_list_LDADD.
60019         * modules/linkedhash-list-tests (Makefile.am): New variable
60020         test_linkedhash_list_LDADD.
60021         * modules/rbtree-list-tests (Makefile.am): New variable
60022         test_rbtree_list_LDADD.
60023         * modules/rbtree-oset-tests (Makefile.am): New variable
60024         test_rbtree_oset_LDADD.
60025         * modules/rbtreehash-list-tests (Makefile.am): New variable
60026         test_rbtreehash_list_LDADD.
60027         * modules/xvasprintf-tests (Makefile.am): New variable
60028         test_xvasprintf_LDADD.
60029         Reported by Eric Blake.
60030
60031 2007-04-03  Eric Blake  <ebb9@byu.net>
60032
60033         * DEPENDENCIES: Weaken m4 requirements.
60034
60035 2007-04-03  Bruno Haible  <bruno@clisp.org>
60036
60037         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
60038         * modules/isnanl-tests (configure.ac): Likewise.
60039
60040 2007-04-03  Ben Pfaff  <blp@gnu.org>
60041
60042         * modules/iconv_open: Add $(srcdir)/ to source directory
60043         references in Makefile fragments that call gperf, to fix VPATH
60044         builds.
60045
60046 2007-04-03  Bruno Haible  <bruno@clisp.org>
60047
60048         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
60049         * lib/ldexpl.c: Undo last change.
60050
60051 2007-04-03  Bruno Haible  <bruno@clisp.org>
60052
60053         * modules/printf-frexpl (Depends-on): Undo last change.
60054         (Files): Add m4/ldexpl.m4.
60055
60056 2007-04-03  Bruno Haible  <bruno@clisp.org>
60057
60058         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
60059         * modules/isnanl (Link): New section.
60060
60061         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
60062         * modules/frexp (Link): New section.
60063
60064         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
60065         * modules/frexpl (Link): New section.
60066
60067         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
60068         * modules/ldexpl (Link): New section.
60069
60070 2007-04-03  Bruno Haible  <bruno@clisp.org>
60071
60072         * modules/TEMPLATE-EXTENDED: New file.
60073         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
60074
60075 2007-04-03  Bruno Haible  <bruno@clisp.org>
60076
60077         * DEPENDENCIES: New file.
60078         Suggested by Simon Josefsson.
60079
60080 2007-04-03  Bruno Haible  <bruno@clisp.org>
60081
60082         * doc/gnulib.texi: Escape @.
60083
60084 2007-04-03  James Youngman  <jay@gnu.org>
60085         and Paul Eggert  <eggert@cs.ucla.edu>
60086
60087         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
60088         birthtime on all systems that have birthtime, not just those which
60089         use st_birthtimensec rather than st_birthtim.  Putting zero in
60090         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
60091         that the birth time is not available for files on an NFS mount.
60092
60093 2007-04-03  Simon Josefsson  <simon@josefsson.org>
60094
60095         * modules/memxor: Move back from crypto/, suggested by Bruno.
60096         * modules/crypto/hmac-sha1: Fix memxor dependency.
60097
60098         * modules/crypto/gc: Moved from ../.
60099
60100 2007-04-02  Eric Blake  <ebb9@byu.net>
60101
60102         * lib/ldexpl.c (includes): Avoid libm.
60103
60104         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
60105
60106 2007-04-02  Bruno Haible  <bruno@clisp.org>
60107
60108         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
60109         on IRIX.
60110
60111 2007-04-02  Bruno Haible  <bruno@clisp.org>
60112
60113         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
60114         x86 or x86_64 platforms running MacOS X.
60115         Reported by Ryan Schmidt <@ryandesign.com>.
60116
60117 2007-04-02  Bruno Haible  <bruno@clisp.org>
60118
60119         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
60120         i386.
60121
60122 2007-04-01  Simon Josefsson  <simon@josefsson.org>
60123
60124         * modules/crypto/arcfour: Moved from ../.
60125         * modules/crypto/arcfour-tests: Moved from ../.
60126         * modules/crypto/arctwo: Moved from ../.
60127         * modules/crypto/arctwo-tests: Moved from ../.
60128         * modules/crypto/des: Moved from ../.
60129         * modules/crypto/des-tests: Moved from ../.
60130         * modules/crypto/gc-arcfour: Moved from ../.
60131         * modules/crypto/gc-arcfour-tests: Moved from ../.
60132         * modules/crypto/gc-arctwo: Moved from ../.
60133         * modules/crypto/gc-arctwo-tests: Moved from ../.
60134         * modules/crypto/gc-des: Moved from ../.
60135         * modules/crypto/gc-des-tests: Moved from ../.
60136         * modules/crypto/gc-hmac-md5: Moved from ../.
60137         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
60138         * modules/crypto/gc-hmac-sha1: Moved from ../.
60139         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
60140         * modules/crypto/gc-md2: Moved from ../.
60141         * modules/crypto/gc-md2-tests: Moved from ../.
60142         * modules/crypto/gc-md4: Moved from ../.
60143         * modules/crypto/gc-md4-tests: Moved from ../.
60144         * modules/crypto/gc-md5: Moved from ../.
60145         * modules/crypto/gc-md5-tests: Moved from ../.
60146         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
60147         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
60148         * modules/crypto/gc-random: Moved from ../.
60149         * modules/crypto/gc-rijndael: Moved from ../.
60150         * modules/crypto/gc-rijndael-tests: Moved from ../.
60151         * modules/crypto/gc-sha1: Moved from ../.
60152         * modules/crypto/gc-sha1-tests: Moved from ../.
60153         * modules/crypto/gc-tests: Moved from ../.
60154         * modules/crypto/hmac-md5: Moved from ../.
60155         * modules/crypto/hmac-md5-tests: Moved from ../.
60156         * modules/crypto/hmac-sha1: Moved from ../.
60157         * modules/crypto/hmac-sha1-tests: Moved from ../.
60158         * modules/crypto/md2: Moved from ../.
60159         * modules/crypto/md2-tests: Moved from ../.
60160         * modules/crypto/md4: Moved from ../.
60161         * modules/crypto/md4-tests: Moved from ../.
60162         * modules/crypto/md5: Moved from ../.
60163         * modules/crypto/md5-tests: Moved from ../.
60164         * modules/crypto/memxor: Moved from ../.
60165         * modules/crypto/rijndael: Moved from ../.
60166         * modules/crypto/rijndael-tests: Moved from ../.
60167         * modules/crypto/sha1: Moved from ../.
60168
60169 2007-03-30  James Youngman  <jay@gnu.org>
60170
60171         * tests/test-stat-time.c (prepare_test): use chmod() rather than
60172         rename() to change the ctime of a file (because ctime is unaffected
60173         by rename on jfs2 on AIX 5.1).
60174         (main): Start by doing cleanup, in case a previous run failed leaving
60175         test files behind.
60176
60177 2007-03-31  Bruno Haible  <bruno@clisp.org>
60178
60179         Support old proprietary implementations of iconv.
60180         * modules/iconv_open: New file.
60181         * lib/iconv_.h: New file.
60182         * m4/iconv_h.m4: New file.
60183         * lib/iconv_open.c: New file.
60184         * lib/iconv_open-aix.gperf: New file.
60185         * lib/iconv_open-hpux.gperf: New file.
60186         * lib/iconv_open-irix.gperf: New file.
60187         * lib/iconv_open-osf.gperf: New file.
60188         * m4/iconv_open.m4: New file.
60189         * modules/linebreak (Depends-on): Add iconv_open.
60190         * modules/striconv (Depends-on): Likewise.
60191         * modules/striconveh (Depends-on): Likewise.
60192         * modules/unicodeio (Depends-on): Likewise.
60193         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
60194         (iconv_t)(-1).
60195         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
60196         conversion if cd is (iconv_t)(-1).
60197         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
60198         is not possible.
60199
60200 2007-03-31  Bruno Haible  <bruno@clisp.org>
60201
60202         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60203         work on Solaris either. Protect also second use of "autodetect_jp".
60204
60205 2007-03-31  Bruno Haible  <bruno@clisp.org>
60206
60207         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
60208         the function is not present.
60209
60210 2007-03-31  Bruno Haible  <bruno@clisp.org>
60211
60212         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
60213         the function is not present.
60214
60215 2007-03-31  Bruno Haible  <bruno@clisp.org>
60216
60217         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
60218         a bug in HP-UX iconv_open().
60219
60220 2007-03-31  Bruno Haible  <bruno@clisp.org>
60221
60222         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
60223         (Mathematics <math.h>): New section, add fpieee.
60224         (Input/output <stdio.h>): Add fseterr.
60225         (Mathematics <math.h>): New section, add printf-frexp.
60226         (Container data structures): Add sublist.
60227         (Core language properties): Add fpucw, inline.
60228         (Functions for greatest-width integer types <inttypes.h>): Add
60229         imaxabs, imaxdiv, inttypes.
60230         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
60231         isnanl-nolibm, ldexp.
60232         (Mathematics <math.h>): New section, add printf-frexpl.
60233         (Support for systems lacking POSIX:2001): Add fprintf-posix,
60234         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
60235         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
60236         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
60237         (Unicode string functions): Add unistr/u*-mbtoucr.
60238         (Java): Add javacomp-script, javaexec-script.
60239         (C#): Add csharpcomp-script, csharpexec-script.
60240         (Support for building libraries and executables): Add havelib,
60241         relocatable-*.
60242         (Support for maintaining and releasing projects): Renamed from
60243         'Support for maintaining and release projects'. Add announce-gen.
60244
60245 2007-03-31  Bruno Haible  <bruno@clisp.org>
60246
60247         * README: Talk primarily about git.
60248         (git and CVS): Renamed from CVS.
60249         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
60250         gnulib is available through git.
60251         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
60252
60253 2007-03-30  Bruno Haible  <bruno@clisp.org>
60254
60255         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
60256         * lib/poll_.h: Likewise.
60257         * lib/stat_.h: Likewise.
60258         * lib/sys_time_.h: Likewise.
60259         * lib/sysexit_.h: Likewise.
60260         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
60261         * lib/stdbool_.h: Likewise.
60262         * lib/byteswap_.h: Add double-inclusion guard.
60263
60264 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
60265
60266         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
60267
60268 2007-03-30  Karl Berry  <karl@gnu.org>
60269
60270         * config/srclist-update: double space after USA in the license
60271         substitution, since that's how it's usually (?) written.
60272
60273 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60274
60275         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
60276         reported by Bruno Haible.
60277
60278 2007-03-29  Bruno Haible  <bruno@clisp.org>
60279
60280         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
60281         a bug in AIX iconv().
60282
60283 2007-03-29  Bruno Haible  <bruno@clisp.org>
60284
60285         * modules/ldexpl-tests: New file.
60286         * tests/test-ldexpl.c: New file.
60287
60288 2007-03-29  Bruno Haible  <bruno@clisp.org>
60289
60290         * lib/ldexpl.c: Include fpucw.h.
60291         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
60292         multiplication.
60293         * modules/ldexpl (Depends-on): Add fpucw.
60294
60295 2007-03-29  Bruno Haible  <bruno@clisp.org>
60296
60297         * modules/ldexpl: New file.
60298         * m4/ldexpl.m4: New file.
60299         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
60300         set.
60301         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
60302         REPLACE_LDEXPL.
60303         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
60304         REPLACE_LDEXPL.
60305         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
60306         gl_FUNC_LDEXPL_WORKS.
60307         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
60308         * modules/mathl (Files): Remove lib/ldexpl.c.
60309         (Depends-on): Add ldexpl.
60310
60311 2007-03-29  Bruno Haible  <bruno@clisp.org>
60312
60313         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
60314
60315 2007-03-29  Bruno Haible  <bruno@clisp.org>
60316
60317         * tests/test-striconveh.c (main): Don't assume that a direct conversion
60318         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
60319         and possibly also HP-UX.
60320         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60321         work on AIX, IRIX, HP-UX, OSF/1.
60322         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60323         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60324         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60325         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60326         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
60327         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60328
60329 2007-03-29  Bruno Haible  <bruno@clisp.org>
60330
60331         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
60332
60333 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60334
60335         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
60336         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
60337
60338 2007-03-29  Eric Blake  <ebb9@byu.net>
60339
60340         * lib/acl-internal.h: Remove redundant include.
60341         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
60342         Cygwin when a file is locked.
60343
60344 2007-03-29  Bruno Haible  <bruno@clisp.org>
60345
60346         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
60347         file.
60348         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
60349
60350 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60351
60352         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
60353         try to remove a parent directory if the child couldn't be removed
60354         (except for the first rmdir, which could fail because the child
60355         doesn't exist).  Problem reported by Jeff Blaine in
60356         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
60357
60358 2007-03-28  Bruno Haible  <bruno@clisp.org>
60359
60360         * lib/striconveh.c (utf8conv_carefully): New function.
60361         (mem_cd_iconveh_internal): Invoke it.
60362
60363 2007-03-28  Bruno Haible  <bruno@clisp.org>
60364
60365         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
60366         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
60367         input.
60368         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
60369         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
60370         unistr/u8-uctomb.
60371
60372 2007-03-28  Bruno Haible  <bruno@clisp.org>
60373
60374         * modules/unistr/u8-mbtoucr: New file.
60375         * lib/unistr/u8-mbtoucr.c: New file.
60376         * modules/unistr/u16-mbtoucr: New file.
60377         * lib/unistr/u16-mbtoucr.c: New file.
60378         * modules/unistr/u16-mbtoucr: New file.
60379         * lib/unistr/u16-mbtoucr.c: New file.
60380         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
60381
60382 2007-03-27  Simon Josefsson  <simon@josefsson.org>
60383             Bruno Haible  <bruno@clisp.org>
60384
60385         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
60386         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
60387         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
60388
60389         * m4/stdio_h.m4: Add stubs for vasprintf too.
60390
60391         * modules/stdio: Support vasprintf in sed command.
60392
60393         * modules/vasprintf: Depend on stdio for prototypes.  Remove
60394         vasprintf.h.  Add stdio module indicator.
60395
60396         * lib/stdio_.h: Declare asprintf and vasprintf, based on
60397         vasprintf.h.
60398
60399         * lib/vasprintf.h: File removed.
60400
60401         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
60402         * lib/vasprintf.c: Ditto.
60403         * lib/xvasprintf.c: Ditto.
60404         * tests/test-vasprintf-posix.c: Ditto.
60405         * tests/test-vasprintf.c: Ditto.
60406
60407 2007-03-27  Bruno Haible  <bruno@clisp.org>
60408
60409         Make vasnprintf multithread-safe.
60410         * lib/vasnprintf.c (decimal_point_char): New function.
60411         (VASNPRINTF): Use it.
60412         Suggested by Simon Josefsson.
60413
60414 2007-03-27  Eric Blake  <ebb9@byu.net>
60415
60416         Support sub-second birthtime on cygwin.
60417         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
60418         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
60419         (get_stat_birthtime): Also work with st_birthtim.
60420
60421 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
60422
60423         * lib/stat-time.h (USE_BIRTHTIME): Remove.
60424         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
60425         (get_stat_birthtime_ns): Do not try to use "spare" fields.
60426         (get_stat_birthtime_ns): Simplify compile-time tests.
60427         (get_stat_birthtime): Change the API to look like
60428         get_stat_mtime etc., except return a negative tv_nsec on error.
60429         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
60430         Don't check for "spare" fields.
60431         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
60432         or for struct stat.st_birthtime, as these tests aren't used.
60433         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
60434
60435 2007-03-27  Bruno Haible  <bruno@clisp.org>
60436
60437         * lib/stat-time.h: Include <sys/stat.h>.
60438
60439 2007-03-27  James Youngman  <jay@gnu.org>
60440
60441         * lib/stat-time.h (get_stat_birthtime): New function for
60442           retrieving st_birthtime as provided by UFS2 (hence *BSD).
60443         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
60444           and its variants.
60445         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
60446         * modules/stat-time-test: New file.
60447         * tests/test-stat-time.c: New test, devised by Bruno Haible.
60448
60449 2007-03-26  Bruno Haible  <bruno@clisp.org>
60450
60451         Better support of signalling NaNs.
60452         * lib/atanl.c: Include isnanl.h.
60453         (atanl): Perform test for NaN at the beginning of the function and
60454         through a call to isnanl.
60455         * lib/cosl.c: Include isnanl.h.
60456         (cosl): Perform test for NaN at the beginning of the function and
60457         through a call to isnanl.
60458         * lib/ldexpl.c: Include isnanl.h.
60459         (ldexpl): Perform test for NaN through a call to isnanl.
60460         * lib/logl.c: Include isnanl.h.
60461         (logl): Perform test for NaN at the beginning of the function and
60462         through a call to isnanl.
60463         * lib/sinl.c: Include isnanl.h.
60464         (sinl): Perform test for NaN at the beginning of the function and
60465         through a call to isnanl.
60466         * lib/sqrtl.c: Include isnanl.h.
60467         (sqrtl): Perform test for NaN at the beginning of the function and
60468         through a call to isnanl.
60469         * lib/tanl.c: Include isnanl.h.
60470         (tanl): Perform test for NaN at the beginning of the function and
60471         through a call to isnanl.
60472         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60473         * modules/mathl (Depends-on): Add isnanl.
60474
60475 2007-03-26  Eric Blake  <ebb9@byu.net>
60476
60477         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60478         regression in logic sense of previous patch.
60479
60480 2007-03-26  Bruno Haible  <bruno@clisp.org>
60481
60482         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60483         unportable shell command "if ! ...".
60484         Reported by Ralf Wildenhues.
60485
60486 2007-03-25  Bruno Haible  <bruno@clisp.org>
60487
60488         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60489         <sysexits.h> file, and only add EX_CONFIG.
60490         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60491         absolute file name and whether it is sufficient. Substitute also
60492         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60493         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60494         ABSOLUTE_SYSEXITS_H into sysexits.h.
60495
60496 2007-03-25  Bruno Haible  <bruno@clisp.org>
60497
60498         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60499         hints is NULL.
60500
60501 2007-03-25  Bruno Haible  <bruno@clisp.org>
60502
60503         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60504         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60505
60506 2007-03-25  Bruno Haible  <bruno@clisp.org>
60507
60508         * lib/vasnprintf.c: Include langinfo.h.
60509         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60510         multithread-safe.
60511         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60512         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60513         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60514         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60515         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60516         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60517         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60518         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60519         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60520         Reported by Simon Josefsson.
60521
60522 2007-03-25  Bruno Haible  <bruno@clisp.org>
60523
60524         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
60525         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
60526         * modules/vasnprintf (Depends-on): Add stdint.
60527
60528 2007-03-25  Bruno Haible  <bruno@clisp.org>
60529
60530         * modules/fpieee: New file.
60531         * m4/fpieee.m4: New file.
60532         * modules/isnan-nolibm (Depends-on): Add fpieee.
60533         * modules/isnanl-nolibm (Depends-on): Add fpieee.
60534         * modules/isnanl (Depends-on): Add fpieee.
60535
60536 2007-03-25  Bruno Haible  <bruno@clisp.org>
60537
60538         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
60539
60540 2007-03-25  Bruno Haible  <bruno@clisp.org>
60541
60542         Avoid test failures on IRIX 6.5.
60543         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
60544         (main): Use it.
60545         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
60546         macros.
60547         (main): Use them.
60548
60549 2007-03-25  Bruno Haible  <bruno@clisp.org>
60550
60551         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
60552         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
60553         exists but doesn't work.
60554         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
60555         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
60556         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
60557         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
60558         math.h.
60559
60560 2007-03-25  Bruno Haible  <bruno@clisp.org>
60561
60562         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
60563         returns inf. Needed on IRIX 6.5.
60564
60565 2007-03-25  Bruno Haible  <bruno@clisp.org>
60566
60567         * tests/test-frexpl.c: Include isnanl-nolibm.h.
60568         (main): Use isnanl instead of x != x idiom.
60569         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
60570
60571         * tests/test-frexp.c: Include isnan.h.
60572         (main): Use isnan instead of x != x idiom.
60573         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
60574
60575 2007-03-25  Bruno Haible  <bruno@clisp.org>
60576
60577         * tests/test-frexp.c (NaN): New function/macro.
60578         (main): Use it instead of 0.0 / 0.0.
60579         * tests/test-isnan.c (NaN): New function/macro.
60580         (main): Use it instead of 0.0 / 0.0.
60581         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
60582         (test_function): Use it instead of 0.0 / 0.0.
60583         * tests/test-vasprintf-posix.c (NaN): New function/macro.
60584         (test_function): Use it instead of 0.0 / 0.0.
60585         * tests/test-snprintf-posix.h (NaN): New function/macro.
60586         (test_function): Use it instead of 0.0 / 0.0.
60587         * tests/test-sprintf-posix.h (NaN): New function/macro.
60588         (test_function): Use it instead of 0.0 / 0.0.
60589         * tests/test-fprintf-posix.h (NaN): New function/macro.
60590         (test_function): Use it instead of 0.0 / 0.0.
60591         * tests/test-printf-posix.h (NaN): New function/macro.
60592         (test_function): Use it instead of 0.0 / 0.0.
60593
60594         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
60595
60596 2007-03-25  Bruno Haible  <bruno@clisp.org>
60597
60598         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
60599
60600 2007-03-25  Bruno Haible  <bruno@clisp.org>
60601
60602         * lib/regexec.c (merge_state_with_log): Make static.
60603
60604 2007-03-25  Bruno Haible  <bruno@clisp.org>
60605
60606         * lib/trigl.c (kernel_rem_pio2): Make static.
60607
60608 2007-03-25  Bruno Haible  <bruno@clisp.org>
60609
60610         * lib/sincosl.c (sincosl_table): Make static.
60611
60612 2007-03-25  Bruno Haible  <bruno@clisp.org>
60613
60614         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
60615         if the compiler does not support C99.
60616
60617 2007-03-25  Bruno Haible  <bruno@clisp.org>
60618
60619         * modules/time (Makefile.am): Ensure all rule action lines start with a
60620         tab.
60621
60622 2007-03-24  Bruno Haible  <bruno@clisp.org>
60623
60624         * modules/tsearch-tests: New file.
60625         * tests/test-tsearch.sh: New file.
60626         * tests/test-tsearch.c: New file, mostly copied from glibc.
60627
60628         * modules/search-tests: New file.
60629         * tests/test-search.c: New file.
60630
60631         * modules/search: New file.
60632         * lib/search_.h: New file, incorporating lib/tsearch.h.
60633         * m4/search_h.m4: New file.
60634         * lib/tsearch.h: Remove file.
60635         * lib/tsearch.c: Include search.h instead of tsearch.h.
60636         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
60637         HAVE_TSEARCH.
60638         * modules/tsearch (Files): Remove lib/tsearch.h.
60639         (Depends-on): Add search.
60640         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
60641         (Include): Change tsearch.h into search.h.
60642
60643 2007-03-24  Bruno Haible  <bruno@clisp.org>
60644
60645         * modules/fpucw: New file.
60646         * lib/fpucw.h: New file.
60647         * lib/frexp.c: Include fpucw.h.
60648         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60649         (FUNC): Use them.
60650         * lib/printf-frexp.c: Include fpucw.h.
60651         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60652         (FUNC): Use them.
60653         * lib/vasnprintf.c: Include fpucw.h.
60654         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
60655         'long double' calculations.
60656         * tests/test-frexpl.c: Include fpucw.h.
60657         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60658         * tests/test-printf-frexpl.c: Include fpucw.h.
60659         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60660         * modules/frexpl (Depends-on): Add fpucw.
60661         * modules/printf-frexpl (Depends-on): Likewise.
60662         * modules/fprintf-posix (Depends-on): Likewise.
60663         * modules/snprintf-posix (Depends-on): Likewise.
60664         * modules/sprintf-posix (Depends-on): Likewise.
60665         * modules/vasnprintf-posix (Depends-on): Likewise.
60666         * modules/vasprintf-posix (Depends-on): Likewise.
60667         * modules/vfprintf-posix (Depends-on): Likewise.
60668         * modules/vsnprintf-posix (Depends-on): Likewise.
60669         * modules/vsprintf-posix (Depends-on): Likewise.
60670         * modules/frexpl-tests (Depends-on): Likewise.
60671         * modules/printf-frexpl-tests (Depends-on): Likewise.
60672
60673 2007-03-24  Bruno Haible  <bruno@clisp.org>
60674
60675         * lib/float+.h: New file.
60676         * lib/isnan.c: Include float+.h.
60677         (SIZE): New macro.
60678         (FUNC): Compare only SIZE bytes of the value.
60679         * lib/vasnprintf.c: Include float+.h.
60680         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
60681         SIZEOF_LDBL or SIZEOF_DBL bytes.
60682         * modules/isnan-nolibm (Files): Add lib/float+.h.
60683         * modules/isnanl-nolibm (Files): Add lib/float+.h.
60684         * modules/isnanl (Files): Add lib/float+.h.
60685         * modules/vasnprintf (Files): Add lib/float+.h.
60686
60687 2007-03-24  Bruno Haible  <bruno@clisp.org>
60688
60689         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
60690         include isnanl-nolibm.h.
60691
60692 2007-03-24  Bruno Haible  <bruno@clisp.org>
60693
60694         * tests/test-read-file.c (main): Don't produce spurious output for
60695         expected situations. Make the test fail if it encountered unexpected
60696         results.
60697
60698 2007-03-24  Bruno Haible  <bruno@clisp.org>
60699
60700         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
60701         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
60702
60703 2007-03-24  Bruno Haible  <bruno@clisp.org>
60704
60705         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
60706
60707 2007-03-24  Bruno Haible  <bruno@clisp.org>
60708
60709         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
60710         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
60711
60712         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
60713         * modules/utf8-ucs4: Turn into a symbolic link to module
60714         unistr/u8-mbtouc.
60715
60716         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
60717         utf8-ucs4-unsafe.
60718         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
60719         unistr/u8-mbtouc-unsafe.
60720
60721         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
60722         * modules/utf16-ucs4: Turn into a symbolic link to module
60723         unistr/u16-mbtouc.
60724
60725         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
60726         utf16-ucs4-unsafe.
60727         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
60728         unistr/u16-mbtouc-unsafe.
60729
60730         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
60731         * modules/ucs4-utf8: Turn into a symbolic link to module
60732         unistr/u8-ubtomb.
60733
60734         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
60735         * modules/ucs4-utf16: Turn into a symbolic link to module
60736         unistr/u16-ubtomb.
60737
60738 2007-03-24  Bruno Haible  <bruno@clisp.org>
60739
60740         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
60741         Enable the function only if HAVE_INLINE.
60742         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
60743         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60744         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
60745         Enable the function only if HAVE_INLINE.
60746         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
60747         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60748         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
60749         Enable the function only if HAVE_INLINE.
60750         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
60751         Enable the function only if HAVE_INLINE.
60752         * modules/utf8-ucs4: Update.
60753         * modules/utf8-ucs4-unsafe: Update.
60754         * modules/utf16-ucs4: Update.
60755         * modules/utf16-ucs4-unsafe: Update.
60756         * modules/ucs4-utf8: Update.
60757         * modules/ucs4-utf16: Update.
60758
60759 2007-03-24  Bruno Haible  <bruno@clisp.org>
60760
60761         * lib/utf8-ucs4.h: Remove file.
60762         * lib/utf8-ucs4-unsafe.h: Remove file.
60763         * lib/utf16-ucs4.h: Remove file.
60764         * lib/utf16-ucs4-unsafe.h: Remove file.
60765         * lib/ucs4-utf8.h: Remove file.
60766         * lib/ucs4-utf16.h: Remove file.
60767         * lib/unistr.h: Include their previous contents.
60768         * m4/utf-ucs4.m4: Remove file.
60769         * m4/ucs4-utf.m4: Remove file.
60770         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
60771         (Depends-on): Add unistr/base.
60772         (configure.ac): Remove gl_UTF_UCS4.
60773         (Makefile.am): Update.
60774         (Include): Change to unistr.h.
60775         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
60776         (Depends-on): Add unistr/base.
60777         (configure.ac): Remove gl_UTF_UCS4.
60778         (Makefile.am): Update.
60779         (Include): Change to unistr.h.
60780         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
60781         (Depends-on): Add unistr/base.
60782         (configure.ac): Remove gl_UTF_UCS4.
60783         (Makefile.am): Update.
60784         (Include): Change to unistr.h.
60785         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
60786         (Depends-on): Add unistr/base.
60787         (configure.ac): Remove gl_UTF_UCS4.
60788         (Makefile.am): Update.
60789         (Include): Change to unistr.h.
60790         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
60791         (Depends-on): Add unistr/base.
60792         (configure.ac): Remove gl_UCS4_UTF.
60793         (Makefile.am): Update.
60794         (Include): Change to unistr.h.
60795         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
60796         (Depends-on): Add unistr/base.
60797         (configure.ac): Remove gl_UCS4_UTF.
60798         (Makefile.am): Update.
60799         (Include): Change to unistr.h.
60800         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
60801         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
60802         utf8-ucs4-unsafe.h.
60803         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
60804         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
60805         utf16-ucs4-unsafe.h.
60806         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
60807         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
60808         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
60809         * lib/unistr/u8-strchr.c: Likewise.
60810         * lib/unistr/u8-strrchr.c: Likewise.
60811         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
60812         * lib/unistr/u16-strchr.c: Likewise.
60813         * lib/unistr/u16-strrchr.c: Likewise.
60814         * lib/striconveh.c: Update.
60815         * lib/linebreak.c: Update.
60816
60817 2007-03-24  Bruno Haible  <bruno@clisp.org>
60818
60819         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
60820         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
60821
60822 2007-03-22  Bruno Haible  <bruno@clisp.org>
60823
60824         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
60825
60826 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
60827
60828         * MODULES.html.sh (File system functions): New module write-any-file.
60829         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
60830         * m4/write-any-file.m4: New files.
60831
60832 2007-03-23  Eric Blake  <ebb9@byu.net>
60833
60834         * gnulib-tool: Rearrange space-tab sequences, since some editors
60835         like to eat them.
60836
60837 2007-03-23  Eric Blake  <ebb9@byu.net>
60838
60839         * lib/version-etc.c (version_etc_va): Update license wording to
60840         be more concise.  Recommended by Richard Stallman.
60841
60842 2007-03-22  Bruno Haible  <bruno@clisp.org>
60843
60844         * lib/poll.c (MSG_PEEK): New fallback definition.
60845
60846 2007-03-22  Bruno Haible  <bruno@clisp.org>
60847
60848         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
60849         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
60850         (main): Update.
60851         Fixes a compilation error on BeOS.
60852
60853 2007-03-22  Bruno Haible  <bruno@clisp.org>
60854
60855         * modules/frexpl-tests: New file.
60856         * tests/test-frexpl.c: New file.
60857
60858         * modules/frexpl: New file.
60859         * m4/frexpl.m4: New file.
60860         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
60861         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
60862         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
60863         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
60864         (Depends-on): Add frexpl. Remove isnanl-nolibm.
60865         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
60866
60867 2007-03-22  Bruno Haible  <bruno@clisp.org>
60868
60869         * lib/frexpl.c: Share code with lib/frexp.c.
60870         * modules/mathl (Files): Add lib/frexp.c.
60871         (Depends-on): Add isnanl-nolibm.
60872
60873 2007-03-22  Bruno Haible  <bruno@clisp.org>
60874
60875         * modules/printf-frexp (Files): Add m4/frexp.m4.
60876         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
60877         only if the found frexp function actually works.
60878
60879 2007-03-22  Bruno Haible  <bruno@clisp.org>
60880
60881         * lib/frexp.c: Remove older implementation that uses divisions.
60882
60883 2007-03-21  Bruno Haible  <bruno@clisp.org>
60884
60885         * modules/frexp-tests: New file.
60886         * tests/test-frexp.c: New file.
60887
60888         * modules/frexp: New file.
60889         * lib/frexp.c: New file.
60890         * m4/frexp.m4: New file.
60891         * lib/math_.h (frexp): New declaration.
60892         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
60893         REPLACE_FREXP.
60894         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
60895
60896 2007-03-21  Bruno Haible  <bruno@clisp.org>
60897
60898         * modules/isnanl-tests: New file.
60899         * tests/test-isnanl.c: New file.
60900
60901         * modules/isnanl: New file.
60902         * lib/isnanl.h: New file.
60903         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
60904         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
60905         gl_FUNC_ISNANL_WORKS.
60906         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
60907         New macros.
60908
60909 2007-03-21  Bruno Haible  <bruno@clisp.org>
60910
60911         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
60912         lib/isnanl.h.
60913         (Include): Update.
60914         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
60915         * lib/vasnprintf.c: Update.
60916         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
60917         tests/test-isnanl.h, remove tests/test-isnanl.c.
60918         (Makefile.am): Update.
60919         * tests/test-isnanl-nolibm.c: New file.
60920         * tests/test-isnanl.h: New file.
60921         * tests/test-isnanl.c: Remove file.
60922
60923 2007-03-21  Jim Meyering  <jim@meyering.net>
60924
60925         When trying to open ".", treat ESTALE like EACCES.
60926         * lib/savewd.c (savewd_save): Resort to forking not just upon
60927         failure with EACCES, but also when errno is ESTALE.
60928
60929 2007-03-20  Bruno Haible  <bruno@clisp.org>
60930
60931         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
60932         Needed on AIX 5.1. Reported by Matthew Woehlke.
60933
60934 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60935
60936         Suggestions by Bruno Haible:
60937         * lib/acl-internal.h: Include "gettext.h" rather than rolling
60938         our own.
60939         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
60940         * modules/acl (Depends-on): Add gettext.
60941
60942 2007-03-19  Bruno Haible  <bruno@clisp.org>
60943
60944         * modules/iconvme: Remove file.
60945         * lib/iconvme.h: Remove file.
60946         * lib/iconvme.c: Remove file.
60947         * m4/iconvme.m4: Remove file.
60948
60949 2007-03-19  Bruno Haible  <bruno@clisp.org>
60950
60951         * doc/relocatable-maint.texi: Break long shell script line.
60952         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
60953
60954 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60955
60956         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
60957         handle file_has_acl.
60958         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
60959         * lib/acl.c: Move header inclusions and related macro defns into
60960         lib/acl-internal.h.
60961         (S_ISLNK): Remove defn, since that's now done for us.
60962         (file_has_acl): Move to lib/file-has-acl.c.
60963         Call acl_trivial if available.  This is the crucial part of the fix.
60964         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
60965         shared within the library.  Rewrite a bit, partly to make it compatible
60966         with the GNU coding style.
60967         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
60968         Remove unnecessary double-quotes.
60969         Don't test for acl_to_text; the build will catch that.
60970         Replace acl_entries if it doesn't exist and it is needed.
60971         Check for -lsec and acl_trivial (as used on Solaris 10).
60972         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
60973         lib/file-has-acl.c.
60974         (Depends-on): Add sys_stat, for S_ISLNK.
60975
60976 2007-03-19  Ben Pfaff  <blp@gnu.org>
60977
60978         * doc/gnulib.texi: Fix typos.
60979         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
60980
60981 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60982
60983         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
60984         If size is zero here, buf must be zero.
60985
60986 2007-03-19  Simon Josefsson  <simon@josefsson.org>
60987
60988         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
60989         <bruno@clisp.org>.
60990
60991 2007-03-18  Bruno Haible  <bruno@clisp.org>
60992
60993         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
60994         Suggested by Eric Blake.
60995
60996 2007-03-18  Ben Pfaff  <blp@gnu.org>
60997
60998         * doc/relocatable.texi: Recommend using as prefix a directory
60999         that does not exist and will never be created.  Based on
61000         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
61001         and others.
61002
61003 2007-03-17  Bruno Haible  <bruno@clisp.org>
61004
61005         * lib/fchownat.c: Include lchown.h.
61006
61007 2007-03-17  Bruno Haible  <bruno@clisp.org>
61008
61009         Fix endless loop when the given allocated size was > INT_MAX.
61010         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
61011         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
61012         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
61013         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
61014         * lib/sprintf.c (sprintf): Likewise.
61015
61016 2007-03-17  Bruno Haible  <bruno@clisp.org>
61017
61018         * tests/test-argp-2.sh (func_compare): Output a context diff.
61019
61020 2007-03-17  Bruno Haible  <bruno@clisp.org>
61021
61022         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
61023         locale's decimal-point character.
61024
61025 2007-03-17  Bruno Haible  <bruno@clisp.org>
61026
61027         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
61028         before comparing it. Needed because on some platforms (e.g. x86) a
61029         'long double' occupies less bytes than sizeof (long double).
61030
61031 2007-03-17  Bruno Haible  <bruno@clisp.org>
61032
61033         * tests/test-crc.c (main): Make printf statements 64-bit clean.
61034         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
61035         * tests/test-getaddrinfo.c (simple): Likewise.
61036         * tests/test-read-file.c (main): Likewise.
61037
61038 2007-03-17  Bruno Haible  <bruno@clisp.org>
61039
61040         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
61041
61042 2007-03-17  Bruno Haible  <bruno@clisp.org>
61043
61044         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
61045         unused variable.
61046
61047 2007-03-17  Bruno Haible  <bruno@clisp.org>
61048
61049         * tests/test-c-strcasecmp.c: Include c-strcase.h.
61050         * tests/test-c-strncasecmp.c: Likewise.
61051
61052 2007-03-17  Bruno Haible  <bruno@clisp.org>
61053
61054         * modules/stdlib (Depends-on): Add unistd.
61055         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
61056         Needed for MacOS X 10.3.
61057
61058 2007-03-17  Bruno Haible  <bruno@clisp.org>
61059
61060         * lib/unistr/u-strdup.h: Include <stdlib.h>.
61061
61062 2007-03-17  Bruno Haible  <bruno@clisp.org>
61063
61064         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
61065
61066 2007-03-17  Bruno Haible  <bruno@clisp.org>
61067
61068         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
61069         to reflect files copied from gnulib (with or without modifications).
61070         Suggested by Jim Meyering.
61071
61072 2007-03-17  Eric Blake  <ebb9@byu.net>
61073
61074         * NEWS: Document stdlib change from 2007-02-18.
61075
61076 2007-03-17  Jim Meyering  <jim@meyering.net>
61077
61078         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
61079         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
61080         someone uses a name containing shell meta-characters.
61081         Reported by Alfred M. Szmidt.
61082
61083         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
61084
61085 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61086
61087         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
61088         and copy gettext configuration files only if configure.ac contains
61089         a use of AM_GNU_GETTEXT_VERSION.
61090
61091 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61092
61093         * build-aux/bootstrap (gnulib_name): New variable.
61094         (gnulib_tool_options): Use it.
61095
61096 2007-03-13  Simon Josefsson  <simon@josefsson.org>
61097
61098         * tests/test-des.c: Use new namespace.
61099
61100 2007-03-15  Bruno Haible  <bruno@clisp.org>
61101
61102         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
61103         Reported by James Youngman <jay@gnu.org>.
61104
61105 2007-03-15  Bruno Haible  <bruno@clisp.org>
61106
61107         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
61108         declared prototype. Needed with cc on OSF/1 5.1.
61109
61110 2007-03-15  Bruno Haible  <bruno@clisp.org>
61111
61112         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
61113         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
61114         (struct gl_list_implementation): Add dispose_fn argument to the
61115         'create_empty', 'create' methods.
61116         (struct gl_list_impl_base): Add field 'dispose_fn'.
61117         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
61118         argument.
61119         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
61120         dispose_fn argument.
61121         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
61122         dispose_fn on the dropped values.
61123         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
61124         dispose_fn argument.
61125         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
61126         dropped values.
61127         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
61128         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61129         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
61130         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61131         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
61132         argument.
61133         (gl_tree_list_free): Call dispose_fn on the dropped values.
61134         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
61135         the dropped values.
61136         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61137         Add dispose_fn argument.
61138         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
61139         Call dispose_fn on the dropped values.
61140         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
61141         Add dispose_fn argument.
61142         (gl_sublist_create): Initialize the 'dispose_fn' field.
61143         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
61144         * tests/test-array_list.c (main): Update.
61145         * tests/test-carray_list.c (main): Update.
61146         * tests/test-avltree_list.c (main): Update.
61147         * tests/test-rbtree_list.c (main): Update.
61148         * tests/test-avltreehash_list.c (main): Update.
61149         * tests/test-rbtreehash_list.c (main): Update.
61150         * tests/test-linked_list.c (main): Update.
61151         * tests/test-linkedhash_list.c (main): Update.
61152         * tests/test-array_oset.c (main): Update.
61153
61154 2007-03-15  Bruno Haible  <bruno@clisp.org>
61155
61156         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
61157         (gl_oset_create_empty): Add dispose_fn argument.
61158         (struct gl_oset_implementation): Add dispose_fn argument to
61159         'create_empty' method.
61160         (struct gl_oset_impl_base): Add dispose_fn field.
61161         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
61162         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
61163         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
61164         values.
61165         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
61166         (gl_tree_oset_free): Call dispose_fn on the dropped values.
61167         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61168         dropped value.
61169         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61170         dropped value.
61171         * tests/test-array_oset.c (main): Update.
61172         * tests/test-avltree_oset.c (main): Update.
61173         * tests/test-rbtree_oset.c (main): Update.
61174         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
61175
61176 2007-03-13  Bruno Haible  <bruno@clisp.org>
61177
61178         * tests/test-stdbool.c (i): Update after last patch.
61179
61180 2007-03-12  Bruno Haible  <bruno@clisp.org>
61181
61182         * lib/quotearg.c: Include <wctype.h> early, before the definition of
61183         the iswprint macro. Needed on Solaris 2.5.1.
61184
61185 2007-03-12  Bruno Haible  <bruno@clisp.org>
61186
61187         * tests/test-printf-frexp.c (main): Declare x as volatile.
61188
61189 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61190
61191         * doc/gnulib.texi (Build robot for gnulib): New section.
61192
61193 2007-03-12  Jim Meyering  <jim@meyering.net>
61194
61195         * build-aux/bootstrap: New file.
61196         * build-aux/bootstrap.conf: New file, from coreutils.
61197
61198 2007-03-11  Bruno Haible  <bruno@clisp.org>
61199
61200         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
61201
61202 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61203
61204         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
61205         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
61206         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
61207
61208 2007-03-11  Bruno Haible  <bruno@clisp.org>
61209
61210         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
61211         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
61212
61213 2007-03-11  Bruno Haible  <bruno@clisp.org>
61214
61215         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
61216         formula. Needed for SunPRO C 5.0.
61217
61218 2007-03-11  Bruno Haible  <bruno@clisp.org>
61219
61220         * modules/long-options (Depends-on): Add getopt.
61221
61222 2007-03-11  Bruno Haible  <bruno@clisp.org>
61223
61224         * modules/modechange (Depends-on): Add stdbool.
61225
61226 2007-03-11  Bruno Haible  <bruno@clisp.org>
61227
61228         * modules/i-ring (Depends-on): Add stdbool.
61229
61230 2007-03-11  Bruno Haible  <bruno@clisp.org>
61231
61232         * modules/gc-des (Depends-on): Add stdbool.
61233
61234 2007-03-11  Bruno Haible  <bruno@clisp.org>
61235
61236         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
61237
61238 2007-03-11  Bruno Haible  <bruno@clisp.org>
61239
61240         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
61241
61242 2007-03-11  Bruno Haible  <bruno@clisp.org>
61243
61244         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
61245
61246 2007-03-11  Bruno Haible  <bruno@clisp.org>
61247
61248         * lib/vasnprintf.c (sprintf): Undefine.
61249
61250 2007-03-11  Bruno Haible  <bruno@clisp.org>
61251
61252         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
61253         initializers in SunPRO C and Compaq C compilers.
61254
61255 2007-03-11  Bruno Haible  <bruno@clisp.org>
61256
61257         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
61258         decrementing code ANSI C compliant.
61259
61260 2007-03-11  Bruno Haible  <bruno@clisp.org>
61261
61262         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
61263         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
61264
61265 2007-03-11  Bruno Haible  <bruno@clisp.org>
61266
61267         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
61268         <stdbool.h> substitute doesn't pass.
61269
61270 2007-03-11  Bruno Haible  <bruno@clisp.org>
61271
61272         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
61273
61274 2007-03-11  Bruno Haible  <bruno@clisp.org>
61275
61276         * gnulib-tool (func_create_megatestdir): Create also an autobuild
61277         script, for submission to autobuild.josefsson.org.
61278
61279 2007-03-10  Bruno Haible  <bruno@clisp.org>
61280
61281         * modules/canonicalize-lgpl-tests: New file.
61282         * tests/test-canonicalize-lgpl.sh: New file.
61283         * tests/test-canonicalize-lgpl.c: New file.
61284
61285         * modules/c-strcase-tests: New file.
61286         * tests/test-c-strcase.sh: New file.
61287         * tests/test-c-strcasecmp.c: New file.
61288         * tests/test-c-strncasecmp.c: New file.
61289
61290         * modules/atexit-tests: New file.
61291         * tests/test-atexit.sh: New file.
61292         * tests/test-atexit.c: New file.
61293
61294 2007-03-10  Bruno Haible  <bruno@clisp.org>
61295
61296         * tests/test-binary-io.sh: Use temporary filenames that are not so
61297         likely to clash with those of other tests (in a parallel make).
61298         * tests/test-binary-io.c: Likewise.
61299
61300 2007-03-10  Bruno Haible  <bruno@clisp.org>
61301
61302         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
61303         fallback; use #error instead.
61304         Suggested by Simon Josefsson.
61305
61306 2007-03-10  Bruno Haible  <bruno@clisp.org>
61307
61308         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
61309         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
61310         first and the last.
61311
61312 2007-03-10  Bruno Haible  <bruno@clisp.org>
61313
61314         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
61315
61316 2007-03-10  Bruno Haible  <bruno@clisp.org>
61317
61318         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
61319         "make distcheck".
61320         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
61321         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
61322         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
61323
61324 2007-03-10  Bruno Haible  <bruno@clisp.org>
61325
61326         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
61327         variable.
61328         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
61329         variable.
61330
61331 2007-03-09  Eric Blake  <ebb9@byu.net>
61332         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
61333
61334         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
61335         types are not being provided by gnulib.
61336         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
61337         types are supported.
61338
61339 2007-03-10  Bruno Haible  <bruno@clisp.org>
61340
61341         * lib/stdio_.h (__attribute__): New macro.
61342         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
61343         vsprintf): Specify __attribute__ __format__ for GCC.
61344         Suggested by Eric Blake.
61345
61346 2007-03-09  Bruno Haible  <bruno@clisp.org>
61347
61348         * modules/printf-posix-tests: New file.
61349         * tests/test-printf-posix.sh: New file.
61350         * tests/test-printf-posix.c: New file.
61351
61352         * modules/printf-posix: New file.
61353         * lib/printf.c: New file.
61354         * m4/printf-posix-rpl.m4: New file.
61355         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
61356         REPLACE_PRINTF.
61357         * lib/stdio_.h (printf): New declaration.
61358         (format, __format__, ____printf____, ____scanf____, ____strftime____,
61359         ____strfmon____): New macros.
61360         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
61361         REPLACE_PRINTF.
61362
61363 2007-03-09  Bruno Haible  <bruno@clisp.org>
61364
61365         * tests/test-vasnprintf-posix2.sh: New file.
61366         * tests/test-vasnprintf-posix2.c: New file.
61367         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
61368         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
61369         (Makefile.am): Activate test-vasnprintf-posix2.sh.
61370
61371         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
61372         a locale dependent decimal point, rather than always '.'.
61373
61374 2007-03-09  Eric Blake  <ebb9@byu.net>
61375
61376         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
61377         spite of platforms like Tandem/NSK that define it to -1.
61378
61379 2007-03-08  Bruno Haible  <bruno@clisp.org>
61380
61381         * modules/vprintf-posix-tests: New file.
61382         * tests/test-vprintf-posix.sh: New file.
61383         * tests/test-vprintf-posix.c: New file.
61384         * tests/test-printf-posix.h: New file.
61385
61386         * modules/vprintf-posix: New file.
61387         * lib/vprintf.c: New file.
61388         * m4/vprintf-posix.m4: New file.
61389         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
61390         REPLACE_VPRINTF.
61391         * lib/stdio_.h (vprintf): New declaration.
61392         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
61393         REPLACE_VPRINTF.
61394
61395 2007-03-08  Bruno Haible  <bruno@clisp.org>
61396
61397         * modules/fprintf-posix-tests: New file.
61398         * tests/test-fprintf-posix.sh: New file.
61399         * tests/test-fprintf-posix.c: New file.
61400
61401         * modules/fprintf-posix: New file.
61402         * lib/fprintf.c: New file.
61403         * m4/fprintf-posix.m4: New file.
61404         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
61405         REPLACE_FPRINTF.
61406         * lib/stdio_.h (fprintf): New declaration.
61407         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
61408         REPLACE_FPRINTF.
61409
61410 2007-03-08  Bruno Haible  <bruno@clisp.org>
61411
61412         * modules/vfprintf-posix-tests: New file.
61413         * tests/test-vfprintf-posix.sh: New file.
61414         * tests/test-vfprintf-posix.c: New file.
61415         * tests/test-fprintf-posix.h: New file.
61416         * tests/test-fprintf-posix.out: New file.
61417
61418         * modules/vfprintf-posix: New file.
61419         * lib/vfprintf.c: New file.
61420         * m4/vfprintf-posix.m4: New file.
61421         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
61422         REPLACE_VFPRINTF.
61423         * lib/stdio_.h (vfprintf): New declaration.
61424         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
61425         REPLACE_VFPRINTF.
61426
61427 2007-03-08  Bruno Haible  <bruno@clisp.org>
61428
61429         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
61430
61431 2007-03-08  Bruno Haible  <bruno@clisp.org>
61432
61433         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
61434         instead of 'expr' invocations.
61435         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61436         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61437         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61438         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61439         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61440         Suggested by Paul Eggert.
61441
61442 2007-03-08  Bruno Haible  <bruno@clisp.org>
61443
61444         * modules/fseterr-tests: New file.
61445         * tests/test-fseterr.c: New file.
61446
61447         * modules/fseterr: New file.
61448         * lib/fseterr.h: New file.
61449         * lib/fseterr.c: New file.
61450
61451 2007-03-08  Bruno Haible  <bruno@clisp.org>
61452
61453         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
61454         * lib/getopt_.h: Likewise.
61455         * lib/mbswidth.h: Likewise.
61456         * lib/setenv.h: Likewise.
61457         * lib/vasnprintf.h: Likewise.
61458         * lib/vasprintf.h: Likewise.
61459         * lib/verror.h: Likewise.
61460         * lib/xsetenv.h: Likewise.
61461         * lib/xvasprintf.h: Likewise.
61462
61463 2007-03-08  Jim Meyering  <jim@meyering.net>
61464
61465         * users.txt: Add parted.
61466
61467         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61468
61469 2007-03-07  Bruno Haible  <bruno@clisp.org>
61470
61471         * m4/printf.m4: Make the shell script snippets copy&pastable.
61472
61473 2007-03-02  Bruno Haible  <bruno@clisp.org>
61474
61475         * lib/netinet_in_.h: New file.
61476         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61477         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61478         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61479         (Depends-on): Add absolute-header.
61480         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61481         into netinet/in.h.
61482
61483 2007-03-03  Bruno Haible  <bruno@clisp.org>
61484
61485         * lib/sys_select_.h: New file.
61486         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61487         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61488         * modules/sys_select (Files): Add lib/sys_select_.h.
61489         (Depends-on): Add absolute-header.
61490         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61491         into sys/select.h.
61492
61493 2007-03-02  Bruno Haible  <bruno@clisp.org>
61494
61495         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61496         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61497         values.
61498         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61499         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61500         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61501         * modules/sys_socket (Depends-on): Add absolute-header.
61502         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61503         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61504         (Include): Remove requirement of inclusion of <sys/types.h>.
61505
61506 2007-03-02  Bruno Haible  <bruno@clisp.org>
61507
61508         * lib/byteswap_.h (bswap_32): Fix formula.
61509
61510 2007-03-06  Bruno Haible  <bruno@clisp.org>
61511
61512         * modules/sprintf-posix-tests: New file.
61513         * tests/test-sprintf-posix.c: New file.
61514
61515         * modules/sprintf-posix: New file.
61516         * lib/sprintf.c: New file.
61517         * m4/sprintf-posix.m4: New file.
61518         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61519         REPLACE_SPRINTF.
61520         * lib/stdio_.h (sprintf): New declaration.
61521         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61522         REPLACE_SPRINTF.
61523
61524 2007-03-06  Bruno Haible  <bruno@clisp.org>
61525
61526         * modules/vsprintf-posix-tests: New file.
61527         * tests/test-vsprintf-posix.c: New file.
61528         * tests/test-sprintf-posix.h: New file.
61529
61530         * modules/vsprintf-posix: New file.
61531         * lib/vsprintf.c: New file.
61532         * m4/vsprintf-posix.m4: New file.
61533         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
61534         REPLACE_VSPRINTF.
61535         * lib/stdio_.h (vsprintf): New declaration.
61536         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
61537         REPLACE_VSPRINTF.
61538
61539 2007-03-06  Bruno Haible  <bruno@clisp.org>
61540
61541         * modules/vsnprintf (Depend-on): Remove minmax.
61542
61543 2007-03-06  Bruno Haible  <bruno@clisp.org>
61544
61545         * modules/snprintf-posix-tests: New file.
61546         * tests/test-snprintf-posix.c: New file.
61547
61548         * modules/snprintf-posix: New file.
61549         * m4/snprintf-posix.m4: New file.
61550         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
61551         gl_FUNC_SNPRINTF.
61552         (gl_FUNC_SNPRINTF): Invoke it.
61553         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
61554         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
61555         is set.
61556         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
61557
61558 2007-03-06  Bruno Haible  <bruno@clisp.org>
61559
61560         * modules/vsnprintf-posix-tests: New file.
61561         * tests/test-vsnprintf-posix.c: New file.
61562         * tests/test-snprintf-posix.h: New file.
61563
61564         * modules/vsnprintf-posix: New file.
61565         * m4/vsnprintf-posix.m4: New file.
61566         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
61567         gl_FUNC_VSNPRINTF.
61568         (gl_FUNC_VSNPRINTF): Invoke it.
61569         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
61570         * lib/stdio_.h (vsnprintf): Define as a replacement if
61571         REPLACE_VSNPRINTF is set.
61572         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
61573
61574 2007-03-06  Bruno Haible  <bruno@clisp.org>
61575
61576         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
61577         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
61578
61579 2007-03-06  Bruno Haible  <bruno@clisp.org>
61580
61581         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
61582         (asinl): Declare also if HAVE_DECL_ASINL is set.
61583         (atanl): Declare also if HAVE_DECL_ATANL is set.
61584         (ceill): Declare also if HAVE_DECL_CEILL is set.
61585         (cosl): Declare also if HAVE_DECL_COSL is set.
61586         (expl): Declare also if HAVE_DECL_EXPL is set.
61587         (floorl): Declare also if HAVE_DECL_FLOORL is set.
61588         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
61589         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
61590         (logl): Declare also if HAVE_DECL_LOGL is set.
61591         (sinl): Declare also if HAVE_DECL_SINL is set.
61592         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
61593         (tanl): Declare also if HAVE_DECL_TANL is set.
61594         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
61595         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
61596         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
61597         declaration of frexpl, ldexpl.
61598         * modules/printf-frexpl (Depends-on): Add math.
61599         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
61600
61601 2007-03-05  Bruno Haible  <bruno@clisp.org>
61602
61603         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
61604         frexpl and ldexpl are declared.
61605         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
61606
61607 2007-03-05  Bruno Haible  <bruno@clisp.org>
61608
61609         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
61610         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
61611
61612 2007-03-05  Bruno Haible  <bruno@clisp.org>
61613
61614         * lib/stdio_.h: Include <stddef.h>.
61615
61616 2007-03-05  Bruno Haible  <bruno@clisp.org>
61617
61618         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
61619
61620 2007-03-05  Bruno Haible  <bruno@clisp.org>
61621
61622         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
61623         NetBSD 4, from Ralf Wildenhues.
61624
61625 2007-03-04  Bruno Haible  <bruno@clisp.org>
61626
61627         * lib/vasprintf.h: Update #if logic for the case when the functions
61628         exist but are overridden.
61629
61630 2007-03-04  Bruno Haible  <bruno@clisp.org>
61631
61632         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
61633         implementations: glibc-2.4 and MacOS X 10.3.
61634         * tests/test-vasnprintf-posix.c (test_function): Test also the case
61635         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
61636         * tests/test-vasprintf-posix.c (test_function): Likewise.
61637
61638 2007-03-04  Bruno Haible  <bruno@clisp.org>
61639
61640         * modules/vasprintf-posix-tests: New file.
61641         * tests/test-vasprintf-posix.c: New file.
61642
61643         * modules/vasprintf-posix: New file.
61644         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
61645         defined.
61646         * m4/vasprintf-posix.m4: New file.
61647         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
61648         gl_FUNC_VASPRINTF.
61649         (gl_FUNC_VASPRINTF): Invoke it.
61650         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
61651         here.
61652         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
61653
61654 2007-03-04  Bruno Haible  <bruno@clisp.org>
61655
61656         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
61657         REPLACE_GETTIMEOFDAY.
61658         * modules/sys_time (Makefile.am): Likewise.
61659         * m4/sys_time_h.m4: Likewise.
61660         * m4/gettimeofday.m4: Likewise.
61661
61662 2007-03-04  Bruno Haible  <bruno@clisp.org>
61663
61664         * modules/vasnprintf-posix-tests: New file.
61665         * tests/test-vasnprintf-posix.c: New file.
61666
61667         * modules/vasnprintf-posix: New file.
61668         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
61669         printf-frexpl.h.
61670         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
61671         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
61672         REPLACE_VASNPRINTF is defined.
61673         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
61674         gl_FUNC_VASNPRINTF.
61675         (gl_FUNC_VASNPRINTF): Invoke it.
61676         * m4/vasnprintf-posix.m4: New file.
61677         * m4/printf.m4: New file.
61678
61679 2007-03-04  Bruno Haible  <bruno@clisp.org>
61680
61681         Compile progreloc.c only if --enable-relocatable is specified.
61682         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
61683         if --enable-relocatable was specified.
61684         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
61685         lib_SOURCES.
61686
61687 2007-03-04  Jim Meyering  <jim@meyering.net>
61688
61689         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
61690         Use it consistently, rather than enumerating errno constants.
61691
61692 2007-03-04  Bruno Haible  <bruno@clisp.org>
61693
61694         * modules/xvasprintf-tests: New file.
61695         * tests/test-xvasprintf.c: New file.
61696
61697         * modules/vasprintf-tests: New file.
61698         * tests/test-vasprintf.c: New file.
61699
61700         * modules/vasnprintf-tests: New file.
61701         * tests/test-vasnprintf.c: New file.
61702
61703         * modules/vsnprintf-tests: New file.
61704         * tests/test-vsnprintf.c: New file.
61705
61706         * modules/snprintf-tests: New file.
61707         * tests/test-snprintf.c: New file.
61708
61709 2007-03-04  Bruno Haible  <bruno@clisp.org>
61710
61711         Compile relocatable.c only if --enable-relocatable is specified.
61712         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
61713         gl_RELOCATABLE_LIBRARY.
61714         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
61715         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
61716         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
61717         gl_RELOCATABLE_LIBRARY.
61718         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
61719         (Makefile.am): Remove lib_SOURCES.
61720         * modules/relocatable-lib-lgpl (configure.ac): Invoke
61721         gl_RELOCATABLE_LIBRARY.
61722         (Makefile.am): Remove lib_SOURCES.
61723         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
61724         always.
61725         * modules/relocatable-prog-wrapper (configure.ac): Invoke
61726         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
61727
61728 2007-03-04  Bruno Haible  <bruno@clisp.org>
61729
61730         * modules/argmatch-tests: New file.
61731         * tests/test-argmatch.c: New file.
61732
61733         * tests/test-allocsa.c (main): Halve the number of loop runs.
61734
61735         * modules/alloca-opt-tests: New file.
61736         * tests/test-alloca-opt.c: New file.
61737
61738 2007-03-04  Jim Meyering  <jim@meyering.net>
61739
61740         Work around difference between Linux ACLs and Solaris 10 ZFS.
61741         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
61742         for EINVAL.
61743
61744 2007-03-03  Bruno Haible  <bruno@clisp.org>
61745
61746         * modules/relocatable-prog (Depends-on): Add back progreloc's
61747         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
61748
61749 2007-03-03  Bruno Haible  <bruno@clisp.org>
61750
61751         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
61752         * modules/relocatable-lib: New file.
61753
61754 2007-03-03  Bruno Haible  <bruno@clisp.org>
61755
61756         * modules/relocatable-prog: Renamed from modules/relocatable.
61757         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
61758
61759 2007-03-03  Bruno Haible  <bruno@clisp.org>
61760
61761         * modules/relocatable-script (Files): Add doc/relocatable.texi,
61762         m4/relocatable-lib.m4.
61763         (Depends-on): Remove 'relocatable'.
61764         (configure.ac): Add gl_RELOCATABLE_NOP.
61765
61766 2007-03-03  Bruno Haible  <bruno@clisp.org>
61767
61768         * modules/relocatable-prog-wrapper: New file.
61769         * modules/relocatable (Depends-on): Add it. Remove all other
61770         dependencies except progname.
61771         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
61772
61773         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
61774         (gl_FUNC_STRERROR): Nop.
61775         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
61776
61777         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
61778         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
61779
61780         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
61781         (gl_FUNC_READLINK): Update.
61782
61783         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
61784
61785 2007-03-03  Bruno Haible  <bruno@clisp.org>
61786
61787         * lib/xreadlink.c: Include <unistd.h> unconditionally.
61788         * modules/xreadlink (Depends-on): Add unistd.
61789         * modules/xreadlink-with-size (Depends-on): Likewise.
61790
61791 2007-03-03  Bruno Haible  <bruno@clisp.org>
61792
61793         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
61794         extracted from gt_FUNC_SETENV.
61795         (gt_FUNC_SETENV): Remove macro.
61796         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
61797         remove gt_FUNC_SETENV.
61798
61799 2007-03-03  Bruno Haible  <bruno@clisp.org>
61800
61801         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
61802         ENABLE_RELOCATABLE here.
61803         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
61804
61805 2007-03-03  Bruno Haible  <bruno@clisp.org>
61806
61807         * modules/rbtreehash-list-tests (Depends-on): Add progname.
61808         * tests/test-rbtreehash_list.c: Include progname.h.
61809         (main): Call set_program_name.
61810
61811         * modules/rbtree-oset-tests (Depends-on): Add progname.
61812         * tests/test-rbtree_oset.c: Include progname.h.
61813         (main): Call set_program_name.
61814
61815         * modules/rbtree-list-tests (Depends-on): Add progname.
61816         * tests/test-rbtree_list.c: Include progname.h.
61817         (main): Call set_program_name.
61818
61819         * modules/linked-list-tests (Depends-on): Add progname.
61820         * tests/test-linked_list.c: Include progname.h.
61821         (main): Call set_program_name.
61822
61823 2007-03-03  Bruno Haible  <bruno@clisp.org>
61824
61825         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
61826         All uses of __restrict changed to _Restrict_.
61827         * lib/glob_.h (__restrict): Remove macro.
61828
61829 2007-03-02  Bruno Haible  <bruno@clisp.org>
61830
61831         * modules/gettext (configure.ac): Require gettext infrastructure
61832         from version 0.16.1.
61833
61834 2007-03-02  Bruno Haible  <bruno@clisp.org>
61835
61836         * modules/linkedhash-list-tests (Depends-on): Add progname.
61837         * tests/test-linkedhash_list.c: Include progname.h.
61838         (main): Call set_program_name.
61839
61840         * modules/carray-list-tests (Depends-on): Add progname.
61841         * tests/test-carray_list.c: Include progname.h.
61842         (main): Call set_program_name.
61843
61844         * modules/avltreehash-list-tests (Depends-on): Add progname.
61845         * tests/test-avltreehash_list.c: Include progname.h.
61846         (main): Call set_program_name.
61847
61848         * modules/avltree-oset-tests (Depends-on): Add progname.
61849         * tests/test-avltree_oset.c: Include progname.h.
61850         (main): Call set_program_name.
61851
61852         * modules/avltree-list-tests (Depends-on): Add progname.
61853         * tests/test-avltree_list.c: Include progname.h.
61854         (main): Call set_program_name.
61855
61856         * modules/array-oset-tests (Depends-on): Add progname.
61857         * tests/test-array_oset.c: Include progname.h.
61858         (main): Call set_program_name.
61859
61860         * modules/array-list-tests (Depends-on): Add progname.
61861         * tests/test-array_list.c: Include progname.h.
61862         (main): Call set_program_name.
61863
61864         * modules/argp-tests (Depends-on): Add progname.
61865         * tests/test-argp.c: Include argp.h first. Include progname.h.
61866         (main): Call set_program_name.
61867
61868 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
61869
61870         * doc/gnulib-tool.texi (Initial import): Reword description of
61871         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
61872         limited effect even if defined after the first system include.
61873
61874 2007-03-01  Bruno Haible  <bruno@clisp.org>
61875
61876         * build-aux/config.libpath: Update to libtool-1.5.22.
61877         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
61878
61879 2007-03-01  Bruno Haible  <bruno@clisp.org>
61880
61881         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
61882         foo_CFLAGS.
61883         Reported by Ralf Wildenhues.
61884
61885 2007-03-01  Bruno Haible  <bruno@clisp.org>
61886
61887         * build-aux/install-reloc: Remove object files left over by some
61888         compilers.
61889         Reported by Ralf Wildenhues.
61890
61891 2007-03-01  Bruno Haible  <bruno@clisp.org>
61892
61893         * build-aux/install-reloc: Break long lines.
61894
61895 2007-03-01  Bruno Haible  <bruno@clisp.org>
61896
61897         * doc/relocatable.texi: Document that it may not work on OpenBSD.
61898         Reported by Ralf Wildenhues.
61899
61900 2007-03-01  Bruno Haible  <bruno@clisp.org>
61901
61902         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
61903         include ordering constraints.
61904
61905 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61906
61907         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
61908         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
61909         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
61910         as another example.
61911         * lib/time_.h: Fix misspelling.
61912         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61913         Require gl_HEADER_TIME_H_DEFAULTS.
61914         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
61915         * m4/time_r.m4 (gl_TIME_R): Likewise.
61916         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
61917
61918 2007-03-01  Bruno Haible  <bruno@clisp.org>
61919
61920         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
61921         * m4/utimens.m4 (gl_UTIMENS): Likewise.
61922
61923 2007-03-01  Jim Meyering  <jim@meyering.net>
61924
61925         * modules/xreadlink (Maintainer): Add my name.
61926         * modules/xreadlink-with-size (Depends-on): Alphabetize.
61927
61928 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
61929             Bruno Haible  <bruno@clisp.org>
61930
61931         * build-aux/install-reloc: Compile also c-ctype.c.
61932         * build-aux/relocatable.sh.in: New file.
61933         * doc/relocatable.texi: New file.
61934         * doc/relocatable-maint.texi: New file.
61935         * doc/gnulib.texi: Include relocatable-maint.texi.
61936         * lib/progreloc.c: Include unistd.h unconditionally.
61937         * lib/relocwrapper.c: Include unistd.h unconditionally.
61938         Include c-ctype.h.
61939         (add_dotbin): Use c_tolower.
61940         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
61941         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
61942         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
61943         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
61944         to m4/relocatable-lib.m4.
61945         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
61946         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
61947         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
61948         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
61949         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
61950         * modules/relocatable: New file.
61951         * modules/relocatable-lib: New file.
61952         * modules/relocatable-script: New file.
61953
61954 2007-02-28  Bruno Haible  <bruno@clisp.org>
61955
61956         Import --enable-relocatable infrastructure.
61957         * build-aux/config.libpath: New file, from GNU gettext.
61958         * build-aux/install-reloc: New file, from GNU gettext.
61959         * build-aux/reloc-ldflags: New file, from GNU gettext.
61960         * lib/relocatable.h: New file, from GNU gettext.
61961         * lib/relocatable.c: New file, from GNU gettext.
61962         * lib/relocwrapper.c: New file, from GNU gettext.
61963         * m4/relocatable.m4: New file, from GNU gettext.
61964
61965 2007-02-28  Bruno Haible  <bruno@clisp.org>
61966
61967         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
61968
61969         * modules/xreadlink: New file, from GNU gettext with modifications.
61970         * lib/xreadlink.c: New file, from GNU gettext.
61971         * lib/xreadlink.h: Add comments.
61972         (xreadlink): New declaration.
61973
61974         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
61975         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
61976         lib/xreadlink-with-size.c.
61977         (configure.ac): Remove gl_XREADLINK invocation.
61978         (Makefile.am): Augment lib_SOURCES.
61979         * m4/xreadlink.m4: Remove file.
61980         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
61981         (xreadlink_with_size): Renamed from xreadink.
61982         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
61983         * modules/canonicalize (Depends-on): Replace xreadlink with
61984         xreadlink-with-size.
61985         * lib/canonicalize.c (canonicalize_filename_mode): Update.
61986
61987 2007-02-25  Jim Meyering  <jim@meyering.net>
61988
61989         * build-aux/announce-gen: When complaining about excess arguments,
61990         list them.
61991
61992 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
61993
61994         * README: Document signed integer overflow situation more
61995         accurately.
61996
61997 2007-02-25  Bruno Haible  <bruno@clisp.org>
61998
61999         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
62000         'a' or 'A' conversion.
62001
62002 2007-02-25  Bruno Haible  <bruno@clisp.org>
62003
62004         * modules/filename: Renamed from modules/pathname.
62005         (Files): Replace lib/pathname.h with lib/filename.h. Replace
62006         lib/concatpath.c with lib/concat-filename.c.
62007         (Makefile.am): Update.
62008         (Include): Replace pathname.h with filename.h.
62009         * lib/filename.h: Renamed from lib/pathname.h.
62010         (concatenated_filename): Renamed from concatenated_pathname.
62011         * lib/concat-filename.c: Renamed from lib/concatpath.c.
62012         (concatenated_filename): Renamed from concatenated_pathname.
62013         * lib/findprog.c: Include filename.h instead of pathname.h.
62014         (find_in_path): Update.
62015         * lib/javacomp.c: Include filename.h instead of pathname.h.
62016         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
62017         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
62018         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
62019         is_oldgcj_14_13_usable, is_javac_usable): Update.
62020         * lib/javaexec.c: Include filename.h instead of pathname.h.
62021         (execute_java_class): Update.
62022         * modules/findprog: Update.
62023         * modules/javacomp: Update.
62024         * modules/javaexec: Update.
62025         * MODULES.html.sh (File system functions): Add 'filename', remove
62026         'pathname'.
62027
62028 2007-02-25  Bruno Haible  <bruno@clisp.org>
62029
62030         * modules/printf-frexpl-tests: New file.
62031         * tests/test-printf-frexpl.c: New file.
62032
62033         * modules/printf-frexpl: New file.
62034         * lib/printf-frexpl.h: New file.
62035         * lib/printf-frexpl.c: New file.
62036         * m4/printf-frexpl.m4: New file.
62037
62038 2007-02-25  Bruno Haible  <bruno@clisp.org>
62039
62040         * modules/printf-frexp-tests: New file.
62041         * tests/test-printf-frexp.c: New file.
62042
62043         * modules/printf-frexp: New file.
62044         * lib/printf-frexp.h: New file.
62045         * lib/printf-frexp.c: New file.
62046         * m4/printf-frexp.m4: New file.
62047
62048 2007-02-25  Bruno Haible  <bruno@clisp.org>
62049
62050         Assume automake >= 1.10 for the tests.
62051         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
62052         * modules/arctwo-tests: Likewise.
62053         * modules/argp-tests: Likewise.
62054         * modules/avltree-list-tests: Likewise.
62055         * modules/avltree-oset-tests: Likewise.
62056         * modules/avltreehash-list-tests: Likewise.
62057         * modules/carray-list-tests: Likewise.
62058         * modules/crc-tests: Likewise.
62059         * modules/des-tests: Likewise.
62060         * modules/gc-arcfour-tests: Likewise.
62061         * modules/gc-arctwo-tests: Likewise.
62062         * modules/gc-des-tests: Likewise.
62063         * modules/gc-hmac-md5-tests: Likewise.
62064         * modules/gc-hmac-sha1-tests: Likewise.
62065         * modules/gc-md2-tests: Likewise.
62066         * modules/gc-md4-tests: Likewise.
62067         * modules/gc-md5-tests: Likewise.
62068         * modules/gc-pbkdf2-sha1-tests: Likewise.
62069         * modules/gc-rijndael-tests: Likewise.
62070         * modules/gc-sha1-tests: Likewise.
62071         * modules/gc-tests: Likewise.
62072         * modules/getaddrinfo-tests: Likewise.
62073         * modules/hmac-md5-tests: Likewise.
62074         * modules/hmac-sha1-tests: Likewise.
62075         * modules/linked-list-tests: Likewise.
62076         * modules/linkedhash-list-tests: Likewise.
62077         * modules/lock-tests: Likewise.
62078         * modules/md2-tests: Likewise.
62079         * modules/md4-tests: Likewise.
62080         * modules/md5-tests: Likewise.
62081         * modules/rbtree-list-tests: Likewise.
62082         * modules/rbtree-oset-tests: Likewise.
62083         * modules/rbtreehash-list-tests: Likewise.
62084         * modules/read-file-tests: Likewise.
62085         * modules/rijndael-tests: Likewise.
62086         * modules/stdint-tests: Likewise.
62087         * modules/tls-tests: Likewise.
62088
62089 2007-02-24  Bruno Haible  <bruno@clisp.org>
62090
62091         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
62092         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
62093         function; instead check whether isnan with a double argument links.
62094         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
62095         function; instead check whether isnan with a 'long double' argument
62096         links.
62097         Reported by Eric Blake <ebb9@byu.net>.
62098
62099 2007-02-24  Bruno Haible  <bruno@clisp.org>
62100
62101         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
62102         defined.
62103         * lib/isnanl.c: Remove all code. Just include isnan.c.
62104         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
62105
62106 2007-02-25  Jim Meyering  <jim@meyering.net>
62107
62108         Avoid conflicting types for 'unsetenv' on FreeBSD.
62109         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
62110         conflicting with FreeBSD's (5.0 and 6.1) function declaration
62111         in stdlib.h.
62112
62113 2007-02-24  Bruno Haible  <bruno@clisp.org>
62114
62115         * modules/isnanl-nolibm-tests: New file.
62116         * tests/test-isnanl.c: New file.
62117
62118         * modules/isnanl-nolibm: New file.
62119         * lib/isnanl.h: New file.
62120         * lib/isnanl.c: New file.
62121         * m4/isnanl.m4: New file.
62122
62123 2007-02-24  Bruno Haible  <bruno@clisp.org>
62124
62125         * modules/isnan-nolibm-tests: New file.
62126         * tests/test-isnan.c: New file.
62127
62128         * modules/isnan-nolibm: New file.
62129         * lib/isnan.h: New file.
62130         * lib/isnan.c: New file.
62131         * m4/isnan.m4: New file.
62132
62133 2007-02-24  Bruno Haible  <bruno@clisp.org>
62134
62135         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
62136         assume that an exponent fits in 20 bits.
62137
62138 2007-02-24  Jim Meyering  <jim@meyering.net>
62139
62140         * m4/regex.m4: Update the description of the configure-time option,
62141         --without-included-regex, to state accurately what the defaults are,
62142         and perhaps to give people an idea why using this option is risky.
62143
62144 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62145
62146         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
62147         loops on small arguments.  This attempts to avoid the problem
62148         Bruno Haible reported for AIX 4.3.2 in
62149         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
62150
62151 2007-02-23  Bruno Haible  <bruno@clisp.org>
62152
62153         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
62154         Needed for help2man.
62155
62156 2007-02-23  Karl Berry  <karl@gnu.org>
62157
62158         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
62159         exists, foo.h should be cvs-ignored, not committed.
62160
62161 2007-02-23  Eric Blake  <ebb9@byu.net>
62162
62163         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
62164         * lib/stat-time.h (includes): Likewise.
62165         * lib/utimecmp.c (includes): Likewise.
62166         * lib/utimens.h (includes): Likewise.
62167         * lib/getdate.y (includes): Also include "timespec.h" for use
62168         internal to the module.
62169         * modules/utimens (Depends-on): Revert yesterday's patch.
62170         * modules/nanosleep (Depends-on): Add missing dependency.
62171
62172 2007-02-22  Bruno Haible  <bruno@clisp.org>
62173
62174         * lib/glob.c: Don't include getlogin_r.h.
62175
62176 2007-02-22  Jim Meyering  <jim@meyering.net>
62177
62178         * modules/utimens (Depends-on): Add timespec, required for
62179         utimens.h's inclusion of timespec.h.
62180
62181 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
62182
62183         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
62184         long unreadable paths in GNU/Linux.  Problem reported by Andreas
62185         Schwab in
62186         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
62187         I'll try to think of a better way to fix the Solaris problem.
62188
62189         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
62190         like glibc; on Solaris 10, it fails with errno == EINVAL.
62191         POSIX says the behavior is unspecified if the first argument is NULL,
62192         so play it safe and never pass NULL to the system getcwd.
62193
62194 2007-02-21  Jim Meyering  <jim@meyering.net>
62195
62196         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
62197         of gettimeofday.  It would conflict with the one now always
62198         provided via sys_time_.h.  Reported by Matthew Woehlke, as
62199         an IRIX 6.5 build failure.
62200
62201 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62202
62203         Minor fixups to port to Solaris 10 with Sun C 5.8.
62204         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
62205         * modules/getcwd (Depends-on): Add dirfd.
62206         * lib/putenv.c (putenv): #undef it.
62207         (rpl_putenv): New decl.
62208         (malloc, free): Include <stdlib.h> rather than prototyping separately.
62209
62210 2007-02-20  Bruno Haible  <bruno@clisp.org>
62211
62212         * modules/stdio-tests: New file.
62213         * tests/test-stdio.c: New file.
62214
62215         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
62216         (Depends-on): Add stdio.
62217         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62218         (Include): Use <stdio.h> instead of vsnprintf.h.
62219         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62220         HAVE_DECL_VSNPRINTF.
62221         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
62222
62223         * modules/snprintf (Files): Remove lib/snprintf.h.
62224         (Depends-on): Add stdio.
62225         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62226         (Include): Use <stdio.h> instead of snprintf.h.
62227         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62228         HAVE_DECL_SNPRINTF.
62229         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
62230         * lib/getaddrinfo.c: Likewise.
62231
62232         * modules/stdio: New file.
62233         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
62234         * lib/snprintf.h: Remove file.
62235         * lib/vsnprintf.h: Remove file.
62236         * lib/.cppi-disable: Remove snprintf.h.
62237         * m4/stdio_h.m4: New file.
62238         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
62239
62240 2007-02-20  Jim Meyering  <jim@meyering.net>
62241
62242         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
62243         used by e.g., mingw.  From Bruno Haible.
62244
62245 2007-02-19  Bruno Haible  <bruno@clisp.org>
62246
62247         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
62248         warnings.
62249         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62250
62251 2007-02-19  Bruno Haible  <bruno@clisp.org>
62252
62253         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
62254         from mingw users.
62255
62256 2007-02-19  Bruno Haible  <bruno@clisp.org>
62257
62258         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
62259         warnings.
62260         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
62261
62262 2007-02-19  Jim Meyering  <jim@meyering.net>
62263
62264         Don't use FD after a successful "fdopendir (fd)".
62265         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
62266         Reset it by calling dirfd on the just-obtained DIR*.
62267
62268         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
62269         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
62270
62271 2007-02-18  Bruno Haible  <bruno@clisp.org>
62272
62273         * lib/readlink.c: Include <unistd.h>.
62274         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
62275         HAVE_READLINK.
62276         * modules/readlink (Depends-on): Add unistd.
62277         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62278         (Include): Add <unistd.h>.
62279
62280         * lib/getlogin_r.h: Remove file.
62281         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
62282         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
62283         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
62284         HAVE_DECL_GETLOGIN_R.
62285         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
62286         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62287         (Include): Use <unistd.h> instead of getlogin_r.h.
62288
62289         * lib/getcwd.h: Remove file.
62290         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
62291         * lib/xgetcwd.c: Likewise.
62292         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
62293         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
62294         * modules/getcwd (Files): Remove lib/getcwd.h.
62295         (Depends-on): Add unistd.
62296         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62297         (Include): Use <unistd.h> instad of getcwd.h.
62298
62299         * lib/ftruncate.c: Include <unistd.h> first.
62300         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
62301         Set HAVE_FTRUNCATE.
62302         * modules/ftruncate (Depends-on): Add unistd.
62303         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62304
62305         * lib/fchdir.c: Include <unistd.h> first.
62306         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
62307         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
62308         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
62309         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62310         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
62311
62312         * lib/dup2.c: Include <unistd.h> first.
62313         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
62314         HAVE_DUP2.
62315         * modules/dup2 (Depends-on): Add unistd.
62316         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62317
62318         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
62319         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
62320         REPLACE_CHOWN. Don't define chown as a macro here.
62321         * modules/chown (Depends-on): Add unistd.
62322         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62323
62324         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
62325         Add definition for GL_LINK_WARNING.
62326         (chown, dup2): New declarations.
62327         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
62328         link warning.
62329         (ftruncate): New declaration.
62330         (getcwd): New declaration, taken from old getcwd.h.
62331         (getlogin_r): New declaration, taken from old getlogin_r.h.
62332         (readlink): New declaration.
62333         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
62334         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
62335         (gl_PREREQ_UNISTD): Remove macro.
62336         (gl_UNISTD_MODULE_INDICATOR): New macro.
62337         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
62338         many new variables. Don't set UNISTD_H.
62339         * modules/unistd (Description): Change.
62340         (Depends-on): Add link-warning.
62341         (configure.ac): Update.
62342         (Makefile.am): Create unistd.h always. Substitute many new variables
62343         into it.
62344
62345 2007-02-18  Bruno Haible  <bruno@clisp.org>
62346
62347         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
62348         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
62349         HAVE_GETSUBOPT.
62350         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
62351         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
62352         * lib/getsubopt.h: Remove file.
62353         * modules/getsubopt (Files): Remove lib/getsubopt.h.
62354         (Depends-on): Add stdlib.
62355         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62356         (Includes): Use <stdlib.h> instead of getsubopt.h.
62357         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
62358         Set HAVE_GETSUBOPT.
62359         * lib/getsubopt.c: Don't include getsubopt.h.
62360
62361 2007-02-18  Bruno Haible  <bruno@clisp.org>
62362
62363         * modules/fchdir (Depends-on): Add dup2.
62364
62365 2007-02-18  Bruno Haible  <bruno@clisp.org>
62366
62367         * lib/stdlib_.h: Handle glibc's special invocation convention
62368         specially.
62369
62370 2007-02-18  Bruno Haible  <bruno@clisp.org>
62371
62372         * modules/stdlib-tests: New file.
62373         * tests/test-stdlib.c: New file.
62374
62375         * modules/mkstemp (Files): Remove lib/mkstemp.h.
62376         (Depends-on): Add stdlib.
62377         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62378         (Includes): Use <stdlib.h> instead of mkstemp.h.
62379         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62380         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
62381         * lib/mkstemp.c: Don't include mkstemp.h.
62382         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
62383         * lib/stdlib--.h: Don't include mkstemp.h.
62384
62385         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
62386         (Depends-on): Add stdlib.
62387         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62388         (Includes): Use <stdlib.h> instead of mkdtemp.h.
62389         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62390         HAVE_MKDTEMP.
62391         * lib/mkdtemp.c: Don't include mkdtemp.h.
62392         * lib/clean-temp.c: Don't include mkdtemp.h.
62393
62394         * modules/exit (Files): Remove lib/exit.h.
62395         (Depends-on): Add stdlib.
62396         (Makefile.am): Remove lib_SOURCES.
62397         (Include): Use <stdlib.h> instead of exit.h.
62398         * lib/argmatch.c: Don't include exit.h.
62399         * lib/execute.c: Likewise.
62400         * lib/pagealign_alloc.c: Likewise.
62401         * lib/pipe.c: Likewise.
62402         * lib/wait-process.c: Likewise.
62403         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
62404         * lib/exitfail.c: Likewise.
62405         * lib/savewd.c: Likewise.
62406         * lib/xsetenv.c: Likewise.
62407
62408         * modules/stdlib: New file.
62409         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
62410         and extra comments about mkstemp().
62411         * lib/exit.h: Remove file.
62412         * lib/mkdtemp.h: Remove file.
62413         * lib/mkstemp.h: Remove file.
62414         * m4/stdlib_h.m4: New file.
62415         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
62416
62417 2007-02-18  Bruno Haible  <bruno@clisp.org>
62418
62419         * modules/math-tests: New file.
62420         * tests/test-math.c: New file.
62421
62422         * modules/math: New file.
62423         * modules/mathl (Files): Remove lib/mathl.h.
62424         (Depends-on): Add math.
62425         (Makefile.am): Don't mention mathl.h.
62426         (Include): Use <math.h> instead of mathl.h.
62427         * lib/math_.h: New file.
62428         * lib/mathl.h: Remove file.
62429         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
62430         mathl.h.
62431         * lib/asinl.c: Likewise.
62432         * lib/atanl.c: Likewise.
62433         * lib/ceill.c: Likewise.
62434         * lib/cosl.c: Likewise.
62435         * lib/expl.c: Likewise.
62436         * lib/floorl.c: Likewise.
62437         * lib/frexpl.c: Likewise.
62438         * lib/ldexpl.c: Likewise.
62439         * lib/logl.c: Likewise.
62440         * lib/sincosl.c: Likewise.
62441         * lib/sinl.c: Likewise.
62442         * lib/sqrtl.c: Likewise.
62443         * lib/tanl.c: Likewise.
62444         * lib/trigl.c: Likewise.
62445         * m4/math_h.m4: New file.
62446         * MODULES.html.sh (Mathematics): Add math.
62447
62448 2007-02-17  Bruno Haible  <bruno@clisp.org>
62449
62450         * modules/wctype-tests: New file.
62451         * tests/test-wctype.c: New file.
62452
62453         * modules/wchar-tests: New file.
62454         * tests/test-wchar.c: New file.
62455
62456         * modules/unistd-tests: New file.
62457         * tests/test-unistd.c: New file.
62458
62459         * modules/time-tests: New file.
62460         * tests/test-time.c: New file.
62461
62462         * modules/sysexits-tests: New file.
62463         * tests/test-sysexits.c: New file.
62464
62465         * modules/sys_time-tests: New file.
62466         * tests/test-sys_time.c: New file.
62467
62468         * modules/sys_stat-tests: New file.
62469         * tests/test-sys_stat.c: New file.
62470
62471         * modules/sys_socket-tests: New file.
62472         * tests/test-sys_socket.c: New file.
62473
62474         * modules/sys_select-tests: New file.
62475         * tests/test-sys_select.c: New file.
62476
62477         * modules/string-tests: New file.
62478         * tests/test-string.c: New file.
62479
62480         * modules/stdbool-tests: New file.
62481         * tests/test-stdbool.c: New file.
62482
62483         * modules/netinet_in-tests: New file.
62484         * tests/test-netinet_in.c: New file.
62485
62486         * modules/inttypes-tests: New file.
62487         * tests/test-inttypes.c: New file.
62488
62489         * modules/fcntl-tests: New file.
62490         * tests/test-fcntl.c: New file.
62491
62492         * modules/byteswap-tests: New file.
62493         * tests/test-byteswap.c: New file.
62494
62495         * modules/arpa_inet-tests: New file.
62496         * tests/test-arpa_inet.c: New file.
62497
62498 2007-02-17  Bruno Haible  <bruno@clisp.org>
62499
62500         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62501         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62502         if the corresponding module is not enabled. Emit link warnings if
62503         the function is used nevertheless.
62504         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62505         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62506         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62507         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62508         * modules/inttypes (Depends-on): Add link-warning.
62509         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62510         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62511         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62512         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62513         * modules/imaxdiv (configure.ac): Likewise.
62514         * modules/strtoimax (configure.ac): Likewise.
62515         * modules/strtoumax (configure.ac): Likewise.
62516
62517 2007-02-17  Bruno Haible  <bruno@clisp.org>
62518
62519         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62520         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62521         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62522         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62523
62524 2007-02-17  Bruno Haible  <bruno@clisp.org>
62525
62526         * modules/link-warning: New file.
62527         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
62528         * lib/string_.h (GL_LINK_WARNING): Remove definition.
62529         * modules/string (Depends-on): Add link-warning.
62530         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62531         string.h.
62532         * MODULES.html.sh (Support for building libraries and executables): Add
62533         link-warning.
62534
62535 2007-02-17  Bruno Haible  <bruno@clisp.org>
62536
62537         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
62538         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
62539         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
62540         long lines.
62541
62542 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
62543             Bruno Haible  <bruno@clisp.org>
62544
62545         * modules/tmpfile: New file.
62546         * lib/tmpfile.c: New file.
62547         * m4/tmpfile.m4: New file.
62548         * MODULES.html.sh (func_all_modules): New section "Input/output".
62549
62550 2007-02-15  Bruno Haible  <bruno@clisp.org>
62551
62552         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
62553         (supports_delete_on_close): New function.
62554         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
62555
62556 2007-02-14  Bruno Haible  <bruno@clisp.org>
62557
62558         * modules/mbspcasecmp-tests: New file.
62559         * tests/test-mbspcasecmp.sh: New file.
62560         * tests/test-mbspcasecmp.c: New file.
62561
62562         New module mbspcasecmp.
62563         * modules/mbspcasecmp: New file.
62564         * lib/mbspcasecmp.c: New file.
62565         * lib/string_.h (strncasecmp): Change warning message.
62566         (mbspcasecmp): New declaration.
62567         * m4/mbspcasecmp.m4: New file.
62568         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62569         GNULIB_MBSPCASECMP.
62570         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
62571         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
62572
62573 2007-02-14  Bruno Haible  <bruno@clisp.org>
62574
62575         * modules/mbsncasecmp-tests: New file.
62576         * tests/test-mbsncasecmp.sh: New file.
62577         * tests/test-mbsncasecmp.c: New file.
62578
62579         New module mbsncasecmp.
62580         * modules/mbsncasecmp: New file.
62581         * lib/mbsncasecmp.c: New file.
62582         * lib/string_.h (mbsncasecmp): New declaration.
62583         * m4/mbsncasecmp.m4: New file.
62584         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62585         GNULIB_MBSNCASECMP.
62586         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
62587         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
62588
62589 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62590
62591         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
62592         Verify that it doesn't overlap with our flags.
62593         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
62594         do not have the desired effect in multibyte locales; instead, use
62595         mbscasecmp.
62596         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
62597         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
62598         we don't require GNU fnmatch ourselves (if our users require it, they
62599         should do so explicitly).
62600
62601         Fix regex code so it doesn't rely on strcasecmp.
62602         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
62603         Otherwise, include gnulib's langinfo.h.
62604         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
62605         undesirable behavior in non-C locales.  Instead, rely on localecharset.
62606         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
62607         * modules/regex (FILES): Remove m4/codeset.m4.
62608         (Depends-on): Add localcharset.  Remove strcase.
62609
62610 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62611
62612         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
62613         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62614
62615 2007-02-13  Bruno Haible  <bruno@clisp.org>
62616
62617         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
62618         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62619
62620 2007-02-12  Bruno Haible  <bruno@clisp.org>
62621
62622         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62623         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
62624         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
62625         time warning rather than a link error.
62626
62627 2007-02-12  Bruno Haible  <bruno@clisp.org>
62628
62629         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
62630         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62631         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62632
62633 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62634
62635         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
62636         args, not 2.
62637
62638 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62639
62640         New module 'time', so that apps can include <time.h> as per
62641         POSIX and GNU instead of separate include files like time_r.h
62642         and timegm.h.  This implementation tries out a simpler approach
62643         for replacing decls in standard include files (as compared to
62644         the string module), somewhat as an experiment.
62645
62646         * config/srclist.txt: Comment out mktime.c for now.
62647         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
62648         since it doesn't apply any more.  Use generic wording instead.
62649         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
62650         'time'.
62651         * lib/time_.h, m4/time_h.m4, modules/time: New files.
62652         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
62653         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
62654         Don't include <sys/types.h>; no longer needed since we assume C89.
62655         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
62656         * lib/strftime.c: Likewise.
62657         * lib/time_r.c: Likewise.
62658         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
62659         * lib/nanosleep.c: Include <time.h> first, to check interface.
62660         * lib/strptime.c: Likewise.
62661         * lib/time_r.c: Likewise.
62662         * lib/timegm.c: Likewise.
62663         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
62664         needed.
62665         * lib/timegm.c: Don't include timegm.h; no longer needed.
62666         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
62667         time.h now handles any problems in that area.
62668         (struct timespec, nanosleep): Remove; time.h now arranges for these.
62669         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
62670         that time.h defines struct timespec.
62671         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
62672         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
62673         handles that.
62674         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
62675         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
62676         needed.  Set REPLACE_LOCALTIME.
62677         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
62678         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
62679         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
62680         nanosleep; time_h.m4 now does that.  Don't require
62681         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
62682         module handles this now.
62683         * modules/getdate (Depends-on): Remove timespec.  Add time.
62684         * modules/nanosleep (Depends-on): Likewise.
62685         * modules/stat-time (Depends-on): Likewise.
62686         * modules/nanosleep (Include): Include time.h, not timespec.h.
62687         * modules/strptime (Files): Remove lib/strptime.h.
62688         (Depends-on): Add extensions, time.
62689         (Include): Include time.h, not strptime.h.
62690         * modules/time_r (Files): Remove lib/time_r.h.
62691         (Depends-on): Add time.
62692         (Include): Include time.h, not time_r.h.
62693         * modules/timegm: Likewise.
62694         * modules/timespec (Description): Now does timespec-related decls
62695         of our own, instead of struct timespec itself.
62696         (Depends-on): Add time; remove extensions.
62697         (Maintainer): Add self.
62698         * modules/utimecmp (Depends-on): Add time; remove timespec.
62699         * modules/utimens (Depends-on): Likewise.
62700         * modules/xnanosleep (Depends-on): Likewise.
62701
62702 2007-02-11  Bruno Haible  <bruno@clisp.org>
62703
62704         * lib/c-strstr.c: Include allocsa.h.
62705         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62706         * lib/c-strcasestr.c: Include allocsa.h.
62707         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62708         * lib/strcasestr.c: Include allocsa.h.
62709         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62710         * lib/mbsstr.c: Include allocsa.h.
62711         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62712         allocsa/freesa instead of malloc/free.
62713         * lib/mbscasestr.c: Include allocsa.h.
62714         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62715         allocsa/freesa instead of malloc/free.
62716         * modules/c-strstr (Depends-on): Add allocsa.
62717         * modules/c-strcasestr (Depends-on): Likewise.
62718         * modules/strcasestr (Depends-on): Likewise.
62719         * modules/mbsstr (Depends-on): Likewise.
62720         * modules/mbscasestr (Depends-on): Likewise.
62721
62722 2007-02-11  Bruno Haible  <bruno@clisp.org>
62723
62724         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
62725
62726         * modules/mbsspn-tests: New file.
62727         * tests/test-mbsspn.sh: New file.
62728         * tests/test-mbsspn.c: New file.
62729
62730 2007-02-11  Bruno Haible  <bruno@clisp.org>
62731
62732         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
62733
62734         * modules/mbspbrk-tests: New file.
62735         * tests/test-mbspbrk.sh: New file.
62736         * tests/test-mbspbrk.c: New file.
62737
62738 2007-02-11  Bruno Haible  <bruno@clisp.org>
62739
62740         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
62741         unneeded cast.
62742
62743         * modules/mbscspn-tests: New file.
62744         * tests/test-mbscspn.sh: New file.
62745         * tests/test-mbscspn.c: New file.
62746
62747 2007-02-11  Bruno Haible  <bruno@clisp.org>
62748
62749         * modules/mbscasecmp-tests: New file.
62750         * tests/test-mbscasecmp.sh: New file.
62751         * tests/test-mbscasecmp.c: New file.
62752
62753 2007-02-11  Bruno Haible  <bruno@clisp.org>
62754
62755         Ensure O(n) worst-case complexity of mbscasestr.
62756         * lib/mbscasestr.c: Include stdbool.h.
62757         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62758         functions.
62759         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
62760         the bookkeeping indicates that it's worth it.
62761         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
62762
62763         * modules/mbscasestr-tests: New file.
62764         * tests/test-mbscasestr1.c: New file.
62765         * tests/test-mbscasestr2.sh: New file.
62766         * tests/test-mbscasestr2.c: New file.
62767         * tests/test-mbscasestr3.sh: New file.
62768         * tests/test-mbscasestr3.c: New file.
62769         * tests/test-mbscasestr4.sh: New file.
62770         * tests/test-mbscasestr4.c: New file.
62771         * m4/locale-tr.m4: New file.
62772
62773 2007-02-11  Bruno Haible  <bruno@clisp.org>
62774
62775         Ensure O(n) worst-case complexity of mbsstr.
62776         * lib/mbsstr.c: Include stdbool.h.
62777         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62778         functions.
62779         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
62780         bookkeeping indicates that it's worth it.
62781         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
62782
62783         * modules/mbsstr-tests: New file.
62784         * tests/test-mbsstr1.c: New file.
62785         * tests/test-mbsstr2.sh: New file.
62786         * tests/test-mbsstr2.c: New file.
62787         * tests/test-mbsstr3.sh: New file.
62788         * tests/test-mbsstr3.c: New file.
62789         * m4/locale-fr.m4: New file.
62790
62791 2007-02-11  Bruno Haible  <bruno@clisp.org>
62792
62793         * lib/mbsrchr.c (mbsrchr): Fix bug.
62794
62795         * modules/mbsrchr-tests: New file.
62796         * tests/test-mbsrchr.sh: New file.
62797         * tests/test-mbsrchr.c: New file.
62798
62799 2007-02-11  Bruno Haible  <bruno@clisp.org>
62800
62801         * lib/mbschr.c (mbschr): Fix bug.
62802
62803         * modules/mbschr-tests: New file.
62804         * tests/test-mbschr.sh: New file.
62805         * tests/test-mbschr.c: New file.
62806         * m4/locale-zh.m4: New file.
62807
62808 2007-02-11  Bruno Haible  <bruno@clisp.org>
62809
62810         Support for copying multibyte string iterators.
62811         * lib/mbiter.h: Include <string.h>.
62812         (mbiter_multi_copy): New function.
62813         (mbi_copy): New macro.
62814         * lib/mbuiter.h: Include <string.h>.
62815         (mbuiter_multi_copy): New function.
62816         (mbui_copy): New macro.
62817
62818 2007-02-11  Bruno Haible  <bruno@clisp.org>
62819
62820         New module mbslen.
62821         * modules/mbslen: New file.
62822         * lib/mbslen.c: New file.
62823         * lib/string_.h (mbslen): New declaration.
62824         * m4/mbslen.m4: New file.
62825         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62826         GNULIB_MBSLEN.
62827         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
62828         * MODULES.html.sh (Internationalization functions): Add mbslen.
62829
62830 2007-02-11  Bruno Haible  <bruno@clisp.org>
62831
62832         Ensure O(n) worst-case complexity of strcasestr substitute.
62833         * lib/strcasestr.c: Include stdbool.h.
62834         (knuth_morris_pratt): New function.
62835         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62836         bookkeeping indicates that it's worth it.
62837         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
62838
62839         * modules/strcasestr-tests: New file.
62840         * tests/test-strcasestr.c: New file.
62841
62842 2007-02-11  Bruno Haible  <bruno@clisp.org>
62843
62844         Ensure O(n) worst-case complexity of c_strcasestr.
62845         * lib/c-strcasestr.c: Include stdbool.h, string.h.
62846         (knuth_morris_pratt): New function.
62847         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
62848         the bookkeeping indicates that it's worth it.
62849         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
62850
62851         * modules/c-strcasestr-tests: New file.
62852         * tests/test-c-strcasestr.c: New file.
62853
62854 2007-02-11  Bruno Haible  <bruno@clisp.org>
62855
62856         Ensure O(n) worst-case complexity of c_strstr.
62857         * lib/c-strstr.c: Include stdbool.h, string.h.
62858         (knuth_morris_pratt): New function.
62859         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62860         bookkeeping indicates that it's worth it.
62861         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
62862
62863         * lib/c-strstr.c: Complete rewrite for maintainability.
62864
62865         * modules/c-strstr-tests: New file.
62866         * tests/test-c-strstr.c: New file.
62867
62868 2007-02-11  Bruno Haible  <bruno@clisp.org>
62869
62870         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
62871         5.2.1 and earlier, whereby \055 was treated just like the range
62872         delimiter '-'.
62873         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62874
62875 2007-02-08  Bruno Haible  <bruno@clisp.org>
62876
62877         * modules/regex (Depends-on): Add stdbool.
62878         Reported by Dalibor Topic <robilad@kaffe.org>.
62879
62880 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62881
62882         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
62883         Prefer returning from main to exiting from it.
62884         Remove unnecessary parens after sizeof.
62885
62886 2007-02-05  Bruno Haible  <bruno@clisp.org>
62887
62888         New module mbssep.
62889         * modules/mbssep: New file.
62890         * lib/mbssep.c: New file.
62891         * lib/string_.h (strsep): Add a conditional link warning.
62892         (mbssep): New declaration.
62893         * m4/mbssep.m4: New file.
62894         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62895         GNULIB_MBSSEP.
62896         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
62897         * MODULES.html.sh (Internationalization functions): Add mbssep.
62898
62899 2007-02-05  Bruno Haible  <bruno@clisp.org>
62900
62901         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
62902         Optimize search in case of 1 delimiter.
62903
62904 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62905
62906         * lib/acl.h: Include sys/types.h before sys/acl.h.
62907
62908 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62909
62910         Merge upstream fix for glibc bugzilla #3957:
62911
62912         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
62913
62914         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
62915         bit for RE_HAT_LISTS_NOT_NEWLINE.
62916         (build_charclass_op): Remove bogus comment.
62917
62918 2007-02-05  Simon Josefsson  <simon@josefsson.org>
62919
62920         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
62921
62922 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62923
62924         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
62925         * lib/memmem.c [!defined _LIBC]: Include config.h.
62926
62927 2007-02-04  Bruno Haible  <bruno@clisp.org>
62928
62929         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
62930         warning message.
62931
62932 2007-02-04  Bruno Haible  <bruno@clisp.org>
62933
62934         New module mbstok_r.
62935         * modules/mbstok_r: New file.
62936         * lib/mbstok_r.c: New file.
62937         * lib/string_.h (strtok_r): Change argument names to match the
62938         comments. Add a conditional link warning.
62939         (mbstok_r): New declaration.
62940         * m4/mbstok_r.m4: New file.
62941         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62942         GNULIB_MBSTOK_R.
62943         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
62944         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
62945
62946 2007-02-04  Bruno Haible  <bruno@clisp.org>
62947
62948         New module mbsspn.
62949         * modules/mbsspn: New file.
62950         * lib/mbsspn.c: New file.
62951         * lib/string_.h (strspn): Add a conditional link warning.
62952         (mbsspn): New declaration.
62953         * m4/mbsspn.m4: New file.
62954         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62955         GNULIB_MBSSPN.
62956         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
62957         * MODULES.html.sh (Internationalization functions): Add mbsspn.
62958
62959 2007-02-04  Bruno Haible  <bruno@clisp.org>
62960
62961         New module mbspbrk.
62962         * modules/mbspbrk: New file.
62963         * lib/mbspbrk.c: New file.
62964         * lib/string_.h (strpbrk): Add a conditional link warning.
62965         (mbspbrk): New declaration.
62966         * m4/mbspbrk.m4: New file.
62967         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62968         GNULIB_MBSPBRK.
62969         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
62970         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
62971
62972 2007-02-04  Bruno Haible  <bruno@clisp.org>
62973
62974         New module mbscspn.
62975         * modules/mbscspn: New file.
62976         * lib/mbscspn.c: New file.
62977         * lib/string_.h (strcspn): Add a conditional link warning.
62978         (mbscspn): New declaration.
62979         * m4/mbscspn.m4: New file.
62980         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62981         GNULIB_MBSCSPN.
62982         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
62983         * MODULES.html.sh (Internationalization functions): Add mbscspn.
62984
62985 2007-02-04  Bruno Haible  <bruno@clisp.org>
62986
62987         New module mbscasestr, reduced goal of strcasestr.
62988         * modules/mbscasestr: New file.
62989         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
62990         (mbscasestr): Renamed from strcasestr.
62991         * lib/strcasestr.c: Don't include mbuiter.h.
62992         (strcasestr): Remove support for multibyte locales.
62993         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
62994         Change the conditional link warning.
62995         (mbscasestr): New declaration.
62996         * m4/mbscasestr.m4: New file.
62997         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
62998         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
62999         REPLACE_STRCASESTR.
63000         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
63001         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63002         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63003         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
63004         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
63005         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63006         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
63007         (Depends-on): Remove mbuiter.
63008         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
63009
63010 2007-02-04  Bruno Haible  <bruno@clisp.org>
63011
63012         Simplify handling of strncasecmp.
63013         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
63014         the conditional link warning.
63015         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63016         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
63017         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
63018         * modules/strcase (configure.ac): Don't invoke
63019         gl_STRING_MODULE_INDICATOR.
63020         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
63021
63022 2007-02-04  Bruno Haible  <bruno@clisp.org>
63023
63024         New module mbscasecmp, reduced goal of strcasecmp.
63025         * modules/mbscasecmp: New file.
63026         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
63027         (mbscasecmp): Renamed from strcasecmp.
63028         * lib/strcasecmp.c: Don't include mbuiter.h.
63029         (strcasecmp): Remove support for multibyte locales.
63030         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
63031         Change the conditional link warning.
63032         (mbscasecmp): New declaration.
63033         * m4/mbscasecmp.m4: New file.
63034         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
63035         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
63036         REPLACE_STRCASECMP.
63037         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
63038         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63039         GNULIB_MBSCASECMP.
63040         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
63041         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
63042         * modules/strcase (Files): Remove m4/mbrtowc.m4.
63043         (Depends-on): Remove mbuiter.
63044         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
63045
63046 2007-02-04  Bruno Haible  <bruno@clisp.org>
63047
63048         New module mbsstr. Remove module strstr.
63049         * modules/mbsstr: New file.
63050         * modules/strstr: Remove file.
63051         * lib/mbsstr.c: Renamed from lib/strstr.c.
63052         (mbsstr): Renamed from strstr.
63053         * lib/string_.h (strstr): Remove declaration. Change the conditional
63054         link warning.
63055         (mbsstr): New declaration.
63056         * m4/mbsstr.m4: New file.
63057         * m4/strstr.m4: Remove file.
63058         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
63059         REPLACE_STRSTR.
63060         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
63061         Don't initialize GNULIB_STRSTR.
63062         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
63063         substitute GNULIB_STRSTR and REPLACE_STRSTR.
63064         * MODULES.html.sh (Internationalization functions): Add mbsstr.
63065         (Support for systems lacking ANSI C 89): Remove strstr.
63066
63067 2007-02-04  Bruno Haible  <bruno@clisp.org>
63068
63069         New module mbsrchr.
63070         * modules/mbsrchr: New file.
63071         * lib/mbsrchr.c: New file.
63072         * lib/string_.h (strrchr): Add a conditional link warning.
63073         (mbsrchr): New declaration.
63074         * m4/mbsrchr.m4: New file.
63075         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63076         GNULIB_MBSRCHR.
63077         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
63078         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
63079
63080 2007-02-04  Bruno Haible  <bruno@clisp.org>
63081
63082         New module mbschr.
63083         * modules/mbschr: New file.
63084         * lib/mbschr.c: New file.
63085         * lib/string_.h (strchr): Add a conditional link warning.
63086         (mbschr): New declaration.
63087         * m4/mbschr.m4: New file.
63088         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63089         GNULIB_MBSCHR.
63090         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
63091         * MODULES.html.sh (Internationalization functions): Add mbschr.
63092
63093 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63094
63095         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
63096
63097         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
63098
63099 2007-02-04  Bruno Haible  <bruno@clisp.org>
63100
63101         New module description section 'configure.ac-early'.
63102         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
63103         (func_get_autoconf_early_snippet): New function.
63104         (func_import, func_create_testdir): Use it. Remove special cases for
63105         modules 'extensions' and 'lock'.
63106         * modules/extensions (configure.ac-early): Require
63107         gl_USE_SYSTEM_EXTENSIONS.
63108         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
63109
63110 2007-02-04  Bruno Haible  <bruno@clisp.org>
63111
63112         Make use of gcj-4.3's -fsource and -ftarget option.
63113         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
63114         and if so try the options -fsource and -ftarget.
63115         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
63116         source_version, ftarget_option, target_version arguments.
63117         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
63118         (is_envjavac_oldgcj_14_14_usable): Renamed from
63119         is_envjavac_gcj_14_14_usable.
63120         (is_envjavac_oldgcj_14_13_usable): Renamed from
63121         is_envjavac_gcj_14_13_usable.
63122         (is_gcj_present): Update.
63123         (is_gcj_43, is_gcj43_usable): New functions.
63124         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
63125         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
63126         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
63127         try the options -fsource and -ftarget.
63128
63129 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63130
63131         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
63132         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
63133         larger value.
63134
63135 2007-02-03  Jim Meyering  <jim@meyering.net>
63136
63137         Give tools a better chance to allocate space for very large buffers.
63138         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
63139
63140         Make pwd and readlink work also when run with an unreadable parent dir
63141         on systems with openat support.
63142         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
63143         provided getcwd function, even when we have openat support.
63144         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
63145
63146 2007-02-02  Bruno Haible  <bruno@clisp.org>
63147
63148         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63149         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
63150         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
63151         portability problems if one of these functions is only used on specific
63152         platforms.
63153         Reported by Paul Eggert.
63154
63155 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
63156
63157         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
63158         is causing more trouble than it's curing.
63159         * lib/regex_internal.h (__mempcpy): Remove.
63160         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
63161         (and make the code a tad smaller to boot).
63162         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
63163
63164 2007-02-02  Jim Meyering  <jim@meyering.net>
63165
63166         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
63167         section, not in the Makefile.am: one.
63168
63169 2007-02-02  Eric Blake  <ebb9@byu.net>
63170
63171         * lib/strchrnul.c: Always include config.h first.
63172
63173         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
63174         gnulib strstr is not necessary here.
63175
63176 2007-02-02  Simon Josefsson  <simon@josefsson.org>
63177
63178         * m4/socklen.m4: Fix typo.
63179
63180 2007-02-02  Eric Blake  <ebb9@byu.net>
63181
63182         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
63183         * modules/netinet_in (Makefile.am): Likewise.
63184
63185 2007-02-01  Bruno Haible  <bruno@clisp.org>
63186
63187         * lib/string_.h (GL_LINK_WARNING): New macro.
63188         (strcasecmp, strstr, strcasestr): If provided by the system,
63189         conditionally define as a macro that leads to a warning instead of to
63190         an error.
63191         (strncasecmp): Conditionally define as a macro that leads to a warning.
63192
63193 2007-02-01  Karl Berry  <karl@gnu.org>
63194
63195         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
63196
63197 2007-02-01  Bruno Haible  <bruno@clisp.org>
63198
63199         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
63200         renamings.
63201
63202 2007-02-01  Eric Blake  <ebb9@byu.net>
63203
63204         * modules/regex (Depends-on): Revert dependence on mempcpy.
63205         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
63206         module's definition of mempcpy.
63207         Reported by Paul Eggert.
63208
63209 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
63210
63211         * lib/string_.h: If the gnulib module XYZ is not present, undefine
63212         the symbol XYZ before redefining it.  This fixes a problem with
63213         programs that don't use XYZ, when compiled on systems that define
63214         XYZ to something else.
63215
63216 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
63217
63218         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
63219         occurs when "mkdir -m foo" creates a setgid directory that is (1)
63220         writeable to group or other and (2) is intended to have a special
63221         mode bit that is set or cleared.  In such a case, the directory
63222         should be neither group- nor other-writeable until the special
63223         mode bits are right.
63224
63225 2007-01-31  Eric Blake  <ebb9@byu.net>
63226
63227         * modules/mountlist (Depends-on): Add strstr.
63228
63229         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
63230         bug.
63231         * modules/string (Makefile.am): Remove redundant replacement.
63232         * modules/regex (Depends-on): Add mempcpy.
63233
63234 2007-01-31  Bruno Haible  <bruno@clisp.org>
63235
63236         New module description field 'Link'.
63237         * gnulib-tool (func_usage): Document --extract-link-directive.
63238         (sed_extract_prog): Recognize 'Link' directive.
63239         (func_get_link_directive): New function.
63240         (func_import): Show summary of link directives.
63241         Handle --extract-link-directive option.
63242         * modules/acl (Link): New section.
63243         * modules/clock-time (Link): New section.
63244         * modules/euidaccess (Link): New section.
63245         * modules/gettext (Link): New section.
63246         * modules/iconv (Link): New section.
63247         * modules/lock (Link): New section.
63248         * modules/nanosleep (Link): New section.
63249         * modules/readline (Link): New section.
63250
63251 2007-01-27  Bruno Haible  <bruno@clisp.org>
63252
63253         Enforce the use of gnulib modules for unportable <string.h> functions.
63254         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
63255         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
63256         (gl_HEADER_STRING_H_BODY): Require it.
63257         * lib/string_.h: If the gnulib module XYZ is not present, redefine
63258         the symbol XYZ to one that gives a link error.
63259         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
63260         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
63261         * modules/mempcpy (configure.ac): Likewise.
63262         * modules/memrchr (configure.ac): Likewise.
63263         * modules/stpcpy (configure.ac): Likewise.
63264         * modules/stpncpy (configure.ac): Likewise.
63265         * modules/strcase (configure.ac): Likewise.
63266         * modules/strcasestr (configure.ac): Likewise.
63267         * modules/strchrnul (configure.ac): Likewise.
63268         * modules/strdup (configure.ac): Likewise.
63269         * modules/strndup (configure.ac): Likewise.
63270         * modules/strnlen (configure.ac): Likewise.
63271         * modules/strpbrk (configure.ac): Likewise.
63272         * modules/strsep (configure.ac): Likewise.
63273         * modules/strstr (configure.ac): Likewise.
63274         * modules/strtok_r (configure.ac): Likewise.
63275
63276 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
63277
63278         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
63279
63280 2007-01-30  Jim Meyering  <jim@meyering.net>
63281
63282         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
63283
63284 2007-01-29  Bruno Haible  <bruno@clisp.org>
63285
63286         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
63287         * lib/execute.c: Likewise.
63288         * lib/pipe.c: Likewise.
63289         * lib/printf-args.h: Likewise.
63290         * lib/printf-args.c: Likewise.
63291         * lib/printf-parse.c: Likewise.
63292         * lib/vasnprintf.c: Likewise.
63293
63294 2007-01-29  Eric Blake  <ebb9@byu.net>
63295
63296         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
63297         declaration.
63298
63299 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
63300
63301         * lib/strptime.h (strptime): Use 'restrict' for args where
63302         POSIX requires this.
63303         * lib/strptime.c (strptime): Likewise.
63304         Change license notice from LGPL to GPL, since gnulib-tool will
63305         change this as needed.
63306         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
63307         defined.
63308         Include "strptime.h" first, to check interface.
63309         Do not #undef _LIBC and _NL_CURRENT.
63310         Do not include <stdlib.h>; no longer needed.
63311         Include "time_r.h" and declare ptime_locale_status
63312         only if _LIBC is not defined.
63313         (__P): Remove unused macro.
63314         (match_string): Bring back glibc version, but use it only if _LIBC
63315         is defined.
63316         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
63317         Remove unnecessary assertion and abort() call.
63318         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
63319         * m4/strptime.m4: Fix serial number comment.
63320         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
63321         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
63322         (Depends-on): Add time_r.
63323
63324 2007-01-29  Bruno Haible  <bruno@clisp.org>
63325
63326         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63327         strptime.
63328         * modules/strptime (Depends-on): Add stdbool.
63329         * lib/strptime.h: Include <time.h> always. Add comments.
63330
63331 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63332
63333         * modules/strptime: New file.
63334         * lib/strptime.h: New file.
63335         * lib/strptime.c: New file.
63336         * m4/strptime.m4: New file.
63337
63338 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63339
63340         * MODULES.html.sh: New module mpsort.
63341         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
63342
63343         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
63344         a circularity problem with HP-UX ia64 reported by Bob Proulx in
63345         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
63346         All uses changed.
63347         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
63348         All uses changed.
63349         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
63350         to _Restrict_.
63351         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
63352         the parameter matches the prototype.
63353
63354 2007-01-28  Jim Meyering  <jim@meyering.net>
63355
63356         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
63357         sys/time.h here, reverting that part of the previous patch:
63358         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
63359
63360 2007-01-28  Bruno Haible  <bruno@clisp.org>
63361
63362         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
63363         value of $(SYS_TIME_H).
63364         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
63365         remove it conditionally, too. [added by Jim Meyering]
63366         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
63367         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63368         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
63369         GETTIMEOFDAY_REPLACEMENT to 1.
63370
63371 2007-01-28  Bruno Haible  <bruno@clisp.org>
63372
63373         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
63374         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
63375         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
63376         Set UNISTD_H instead of UNISTD_H2.
63377         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
63378
63379 2007-01-28  Bruno Haible  <bruno@clisp.org>
63380
63381         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
63382         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
63383
63384 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63385
63386         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
63387         (func_create_testdir): Ensure C locale for `grep' and `tr'
63388         character ranges.
63389         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
63390         ACLOCAL_AMFLAGS parsing state machine.
63391
63392 2007-01-27  Bruno Haible  <bruno@clisp.org>
63393
63394         * modules/unistr/base: Update.
63395
63396 2007-01-27  Bruno Haible  <bruno@clisp.org>
63397
63398         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
63399         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
63400         * modules/unistr/u32-mbtouc-unsafe: Renamed from
63401         modules/unistr/u32-mbtouc.
63402         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
63403         * lib/unistr.h: Update.
63404         * lib/linebreak.c: Update.
63405         * modules/unistr/u32-mbtouc: Renamed from
63406         modules/unistr/u32-mbtouc-safe.
63407         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
63408         * lib/unistr.h: Update.
63409         * lib/unistr/u32-to-u8.c: Update.
63410         * lib/unistr/u32-to-u16.c: Update.
63411
63412 2007-01-27  Bruno Haible  <bruno@clisp.org>
63413
63414         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
63415         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
63416         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
63417         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
63418         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
63419         * modules/unistr/u16-mbtouc-unsafe: Renamed from
63420         modules/unistr/u16-mbtouc.
63421         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
63422         * lib/unistr.h: Update.
63423         * lib/linebreak.c: Update.
63424         * modules/linebreak: Update.
63425         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
63426         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
63427         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
63428         * modules/unistr/u16-mbtouc: Renamed from
63429         modules/unistr/u16-mbtouc-safe.
63430         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
63431         * lib/unistr.h: Update.
63432         * lib/unistr/u16-to-u8.c: Update.
63433         * modules/unistr/u16-to-u8: Update.
63434         * lib/unistr/u16-to-u32.c: Update.
63435         * modules/unistr/u16-to-u32: Update.
63436
63437 2007-01-27  Bruno Haible  <bruno@clisp.org>
63438
63439         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
63440         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
63441         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
63442         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
63443         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
63444         * modules/unistr/u8-mbtouc-unsafe: Renamed from
63445         modules/unistr/u8-mbtouc.
63446         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
63447         * lib/unistr.h: Update.
63448         * lib/striconveh.c: Update.
63449         * modules/striconveh: Update.
63450         * lib/linebreak.c: Update.
63451         * modules/linebreak: Update.
63452         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
63453         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
63454         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
63455         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
63456         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
63457         * lib/unistr.h: Update.
63458         * lib/striconveh.c: Update.
63459         * modules/striconveh: Update.
63460         * lib/unistr/u8-to-u16.c: Update.
63461         * modules/unistr/u8-to-u16: Update.
63462         * lib/unistr/u8-to-u32.c: Update.
63463         * modules/unistr/u8-to-u32: Update.
63464
63465 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63466
63467         Sync from Libtool.
63468         * lib/argz.c: Do not include strings.h nor memory.h, include
63469         string.h unconditionally.  Patch by Simon Josefsson.
63470
63471 2007-01-27  Bruno Haible  <bruno@clisp.org>
63472
63473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63474         from gl_HEADER_STRING_H_BODY.
63475         (gl_HEADER_STRING_H_BODY): Require it.
63476         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63477         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63478         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63479         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63480         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63481         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63482         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63483         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63484         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63485         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63486         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63487         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63488         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63489         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63490         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63491
63492 2007-01-27  Bruno Haible  <bruno@clisp.org>
63493
63494         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63495         check_PROGRAMS into noinst_PROGRAMS.
63496         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63497         check_PROGRAMS in this case.
63498         (func_import): Set for_test to false.
63499         (func_create_testdir): Set for_test to true.
63500
63501 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63502             Bruno Haible  <bruno@clisp.org>
63503
63504         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63505         (Depends-on): Add string.
63506         (Includes): Use <string.h> instead of strcasestr.h.
63507         * modules/string (Makefile.am): Also substitute the value of
63508         REPLACE_STRCASESTR.
63509         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63510         assume strcasestr is declared in <string.h> not <strings.h>. Also
63511         set REPLACE_STRCASESTR.
63512         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63513         REPLACE_STRCASESTR.
63514         * lib/strcasestr.h: Remove file.
63515         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63516         * lib/string_.h (strcasestr): New declaration.
63517
63518 2007-01-27  Bruno Haible  <bruno@clisp.org>
63519
63520         * lib/string_.h: Use 'extern'.
63521
63522 2007-01-27  Jim Meyering  <jim@meyering.net>
63523
63524         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
63525         of set-but-not-used local, "q".
63526
63527         * lib/mempcpy.c: Include <config.h> before <string.h>.
63528         This fixes a compilation error on HP-UX, due to the system's
63529         "restrict"-using mempcpy prototype.
63530
63531 2007-01-26  Bruno Haible  <bruno@clisp.org>
63532
63533         Small optimization.
63534         * lib/javacomp.c: Include c-strstr.h.
63535          (is_envjavac_gcj): Use c_strstr instead of strstr.
63536         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
63537
63538 2007-01-26  Bruno Haible  <bruno@clisp.org>
63539
63540         * MODULES.html.sh (Unicode string functions): Add the new modules.
63541
63542         * modules/uniconv/u32-strconv-to-locale: New file.
63543         * lib/uniconv/u32-strconv-to-locale.c: New file.
63544
63545         * modules/uniconv/u16-strconv-to-locale: New file.
63546         * lib/uniconv/u16-strconv-to-locale.c: New file.
63547
63548         * modules/uniconv/u8-strconv-to-locale: New file.
63549         * lib/uniconv/u8-strconv-to-locale.c: New file.
63550
63551         * modules/uniconv/u32-strconv-from-locale: New file.
63552         * lib/uniconv/u32-strconv-from-locale.c: New file.
63553
63554         * modules/uniconv/u16-strconv-from-locale: New file.
63555         * lib/uniconv/u16-strconv-from-locale.c: New file.
63556
63557         * modules/uniconv/u8-strconv-from-locale: New file.
63558         * lib/uniconv/u8-strconv-from-locale.c: New file.
63559
63560         * modules/uniconv/u32-strconv-to-enc: New file.
63561         * lib/uniconv/u32-strconv-to-enc.c: New file.
63562         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63563         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
63564
63565         * modules/uniconv/u16-strconv-to-enc: New file.
63566         * lib/uniconv/u16-strconv-to-enc.c: New file.
63567         * lib/uniconv/u-strconv-to-enc.h: New file.
63568         * modules/uniconv/u16-strconv-to-enc-tests: New file.
63569         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
63570
63571         * modules/uniconv/u8-strconv-to-enc: New file.
63572         * lib/uniconv/u8-strconv-to-enc.c: New file.
63573         * modules/uniconv/u8-strconv-to-enc-tests: New file.
63574         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
63575
63576         * modules/uniconv/u32-strconv-from-enc: New file.
63577         * lib/uniconv/u32-strconv-from-enc.c: New file.
63578         * modules/uniconv/u32-strconv-from-enc-tests: New file.
63579         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
63580
63581         * modules/uniconv/u16-strconv-from-enc: New file.
63582         * lib/uniconv/u16-strconv-from-enc.c: New file.
63583         * modules/uniconv/u16-strconv-from-enc-tests: New file.
63584         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
63585
63586         * modules/uniconv/u8-strconv-from-enc: New file.
63587         * lib/uniconv/u8-strconv-from-enc.c: New file.
63588         * lib/uniconv/u-strconv-from-enc.h: New file.
63589         * modules/uniconv/u8-strconv-from-enc-tests: New file.
63590         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
63591
63592         * modules/uniconv/u32-conv-from-enc: New file.
63593         * lib/uniconv/u32-conv-from-enc.c: New file.
63594         * modules/uniconv/u32-conv-from-enc-tests: New file.
63595         * tests/uniconv/test-u32-conv-from-enc.c: New file.
63596
63597         * modules/uniconv/u16-conv-from-enc: New file.
63598         * lib/uniconv/u16-conv-from-enc.c: New file.
63599         * lib/uniconv/u-conv-from-enc.h: New file.
63600         * modules/uniconv/u16-conv-from-enc-tests: New file.
63601         * tests/uniconv/test-u16-conv-from-enc.c: New file.
63602
63603         * modules/uniconv/u8-conv-from-enc: New file.
63604         * lib/uniconv/u8-conv-from-enc.c: New file.
63605         * modules/uniconv/u8-conv-from-enc-tests: New file.
63606         * tests/uniconv/test-u8-conv-from-enc.c: New file.
63607
63608         * modules/uniconv/base: New file.
63609         * lib/uniconv.h: New file.
63610
63611 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63612
63613         * doc/gnulib-tool.texi (Initial import): Update to match current
63614         behavior with strdup module.
63615         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
63616         * lib/memmem.h: Remove; all uses removed.  This is now done
63617         by <string.h>.
63618         * lib/mempcpy.h: Likewise.
63619         * lib/memrchr.h: Likewise.
63620         * lib/stpcpy.h: Likewise.
63621         * lib/stpncpy.h: Likewise.
63622         * lib/strcase.h: Likewise.
63623         * lib/strchrnul.h: Likewise.
63624         * lib/strdup.h: Likewise.
63625         * lib/strndup.h: Likewise.
63626         * lib/strnlen.h: Likewise.
63627         * lib/strpbrk.h: Likewise.
63628         * lib/strsep.h: Likewise.
63629         * lib/strstr.h: Likewise.
63630         * lib/strtok_r.h: Likewise.
63631         * lib/string_.h: New file.
63632         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
63633         Rely on <string.h> instead.
63634         * lib/canon-host.c: Likewise.
63635         * lib/chdir-long.c: Likewise.
63636         * lib/concatpath.c: Likewise.
63637         * lib/exclude.c: Likewise.
63638         * lib/fchdir.c: Likewise.
63639         * lib/getaddrinfo.c: Likewise.
63640         * lib/getcwd.c: Likewise.
63641         * lib/getsubopt.c: Likewise.
63642         * lib/glob.c: Likewise.
63643         * lib/hard-locale.c: Likewise.
63644         * lib/iconvme.c: Likewise.
63645         * lib/javacomp.c: Likewise.
63646         * lib/mempcpy.c: Likewise.
63647         * lib/memrchr.c: Likewise.
63648         * lib/regex_internal.h: Likewise.
63649         * lib/stpncpy.c: Likewise.
63650         * lib/strcasecmp.c: Likewise.
63651         * lib/strchrnul.c: Likewise.
63652         * lib/strdup.c: Likewise.
63653         * lib/striconv.c: Likewise.
63654         * lib/striconveh.c: Likewise.
63655         * lib/striconveha.c: Likewise.
63656         * lib/strncasecmp.c: Likewise.
63657         * lib/strndup.c: Likewise.
63658         * lib/strnlen.c: Likewise.
63659         * lib/strsep.c: Likewise.
63660         * lib/strstr.c: Likewise.
63661         * lib/strtok_r.c: Likewise.
63662         * lib/userspec.c: Likewise.
63663         * lib/w32spawn.h: Likewise.
63664         * lib/xstrndup.c: Likewise.
63665         * lib/mountlist.c (strstr): Remove decl.
63666         * m4/string_h.m4: New file.
63667         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
63668         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
63669         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
63670         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
63671         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
63672         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
63673         Set REPLACE_STRCASECMP if necessary.
63674         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
63675         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
63676         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
63677         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
63678         HAVE_DECL_STRDUP if necessary.
63679         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
63680         since gl_FUNC_STRNDUP does that now.
63681         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
63682         Check for decl here...
63683         (gl_PREREQ_STRNLEN): ... not here.
63684         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
63685         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
63686         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
63687         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
63688         necessary.
63689         * modules/string: New file.
63690         * modules/memmem (Files): Remove special-purpose include file.
63691         (Depends-on): Add string.
63692         (Include): Include <string.h>, not the removed file.
63693         * modules/mempcpy: Likewise.
63694         * modules/memrchr: Likewise.
63695         * modules/stpcpy: Likewise.
63696         * modules/stpncpy: Likewise.
63697         * modules/strcase: Likewise.
63698         * modules/strchrnul: Likewise.
63699         * modules/strdup: Likewise.
63700         * modules/strndup: Likewise.
63701         * modules/strnlen: Likewise.
63702         * modules/strpbrk: Likewise.
63703         * modules/strsep: Likewise.
63704         * modules/strstr: Likewise.
63705         * modules/strtok_r: Likewise.
63706         * tests/test-dirname.c: Don't include "strdup.h", since
63707         <string.h> now suffices.
63708         * tests/test-memmem.c: Don't include "memmem.h", since
63709         <string.h> now suffices.
63710
63711 2007-01-25  Bruno Haible  <bruno@clisp.org>
63712
63713         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
63714         *resultp is 0.
63715
63716         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
63717         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
63718         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
63719         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
63720
63721         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
63722         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
63723         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
63724         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
63725         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
63726         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
63727
63728 2007-01-24  Bruno Haible  <bruno@clisp.org>
63729
63730         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
63731         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
63732         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
63733         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
63734         gl_FUNC_FTS_CORE.
63735         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
63736         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
63737         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
63738         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
63739         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
63740         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
63741         gl_FUNC_FCHOWNAT.
63742         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
63743         gl_FUNC_STRFTIME.
63744         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
63745         Reported by Ralf Wildenhues.
63746
63747 2007-01-24  Bruno Haible  <bruno@clisp.org>
63748
63749         Drop AC_REQUIRE calls that are redundant with the module dependencies.
63750         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
63751         gl_GETADDRINFO.
63752         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
63753         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
63754         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
63755
63756 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
63757
63758         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
63759         Don't use 'exit'; just return from 'main'.
63760         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
63761
63762         * lib/fnmatch_.h: Readjust white space and comments to match
63763         glibc, to avoid spurious diffs.
63764
63765 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63766
63767         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
63768         2004-12-01 change by Jakub Jelinek, since this code won't compile
63769         if !LIBC.  Problem reported by Bob Proulx.
63770
63771 2007-01-23  Bruno Haible  <bruno@clisp.org>
63772
63773         * lib/striconveh.c: Include c-strcaseeq.h.
63774         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
63775         * modules/striconveh (Depends-on): Add c-strcaseeq.
63776
63777 2007-01-23  Bruno Haible  <bruno@clisp.org>
63778
63779         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
63780
63781         * modules/c-strcaseeq: New file.
63782         * lib/c-strcaseeq.h: New file.
63783
63784         * modules/streq: New file.
63785         * lib/streq.h: New file.
63786
63787 2007-01-23  Bruno Haible  <bruno@clisp.org>
63788
63789         * modules/striconveha-tests: New file.
63790         * tests/test-striconveha.c: New file.
63791
63792         * lib/striconveha.h: Include <stdbool.h>.
63793         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
63794         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
63795         (mem_iconveha_notranslit): Renamed from mem_iconveha.
63796         (mem_iconveha): New function.
63797         (str_iconveha_notranslit): Renamed from str_iconveha.
63798         (str_iconveha): New function.
63799         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
63800         c-strcase.
63801
63802 2007-01-23  Bruno Haible  <bruno@clisp.org>
63803
63804         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
63805         encodings without forgiving before trying any encoding with handler.
63806         (str_iconveha): Try all encodings without forgiving before trying any
63807         encoding with handler.
63808
63809 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63810
63811         Import the following changes from libc.
63812
63813         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
63814
63815         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
63816
63817         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
63818
63819         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
63820         normal_bracket label.
63821
63822         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
63823
63824         [BZ #361]
63825         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
63826         to normal_bracket after fetching the next character.
63827
63828 2007-01-22  Bruno Haible  <bruno@clisp.org>
63829
63830         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
63831         argument.
63832         * lib/striconveh.c (iconv_carefully_1): New function.
63833         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
63834         argument.
63835         (str_cd_iconveh): Update.
63836         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
63837         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
63838         * tests/test-striconveh.c (MAGIC): New macro.
63839         (new_offsets): New function.
63840         (main): Test call with and without offsets.
63841
63842 2007-01-22  Bruno Haible  <bruno@clisp.org>
63843
63844         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
63845         * modules/sys_select (Makefile.am): Likewise.
63846         * modules/sys_socket (Makefile.am): Likewise.
63847         * modules/sys_time (Makefile.am): Likewise.
63848
63849 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63850
63851         * modules/gettimeofday (License): Change from GPL to LGPL, since
63852         gettimeofday is a library function.
63853
63854 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63855
63856         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
63857
63858 2007-01-21  Bruno Haible  <bruno@clisp.org>
63859
63860         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
63861
63862 2007-01-21  Bruno Haible  <bruno@clisp.org>
63863
63864         * modules/striconveha: New file.
63865         * lib/striconveha.h: New file.
63866         * lib/striconveha.c: New file.
63867         * MODULES.html.sh (Internationalization functions): Add striconveha.
63868         * lib/striconv.c (str_iconv): Optimize the case of an empty input
63869         string.
63870         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
63871
63872 2007-01-21  Bruno Haible  <bruno@clisp.org>
63873
63874         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
63875         * lib/striconveh.c (str_iconveh): Likewise.
63876
63877 2007-01-21  Bruno Haible  <bruno@clisp.org>
63878
63879         * lib/striconveh.h (mem_iconveh): New declaration.
63880         * lib/striconveh.c (mem_iconveh): New function.
63881         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
63882
63883 2007-01-21  Bruno Haible  <bruno@clisp.org>
63884
63885         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
63886
63887         * lib/striconveh.h (mem_cd_iconveh): Change specification.
63888         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
63889         original result buffer.
63890         (str_cd_iconveh): Update.
63891         * tests/test-striconveh.c (main): Update.
63892
63893         * lib/striconv.h (mem_cd_iconv): Change specification.
63894         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
63895         result buffer.
63896         (str_cd_iconv): Update.
63897         * tests/test-striconv.c (main): Update.
63898
63899 2007-01-21  Bruno Haible  <bruno@clisp.org>
63900
63901         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
63902
63903 2007-01-20  Jim Meyering  <jim@meyering.net>
63904
63905         * lib/userspec.c (parse_with_separator): If a user or group string
63906         starts with "+", skip the corresponding name-to-ID look-up, since
63907         such a look-up must fail: user and group names may not include "+".
63908
63909 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
63910
63911         * lib/poll.c: Include sys/time.h and time.h unconditionally,
63912         since we now assume the sys_time module.
63913         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
63914         check for sys/time.h; no longer needed.
63915         * modules/poll (Depends-on): Depend on sys_time.
63916
63917 2007-01-18  Bruno Haible  <bruno@clisp.org>
63918
63919         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
63920         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
63921
63922         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
63923         gettimeofday.
63924
63925         * tests/test-gettimeofday.c: Include <time.h>.
63926         (dummy): Remove variable.
63927
63928         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
63929         gl_HEADER_SYS_TIME_H.
63930         (gl_HEADER_SYS_TIME_H): New macro.
63931
63932         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
63933         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63934         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
63935         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
63936         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63937         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
63938         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
63939         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63940         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
63941         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
63942         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63943
63944         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
63945         last change; it caused a compilation error when cross-compiling to
63946         Cygwin.
63947
63948 2007-01-18  Jim Meyering  <jim@meyering.net>
63949
63950         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
63951         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
63952         than the race-prone "test -d sys || mkdir sys".
63953         (configure.ac): Use AC_PROG_MKDIR_P.
63954         * modules/sys_select: Likewise.
63955         * modules/sys_socket: Likewise.
63956         * modules/sys_time: Likewise.
63957
63958 2007-01-18  Eric Blake  <ebb9@byu.net>
63959
63960         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
63961         replace gettimeofday.
63962         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
63963         name, to avoid infinite recursion.
63964
63965 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
63966
63967         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
63968         module sys_time.
63969         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
63970         assume timespec.h defines struct timeval.
63971         * lib/settime.c: Likewise.
63972         * lib/utimens.c: Likewise.
63973         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
63974         since we now assume the gettimeofday module.
63975         * lib/tempname.c (__gen_tempname): Likewise.
63976         * lib/gettimeofday.h: Remove.
63977         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
63978         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
63979         Include <time.h>, for 'time()'.
63980         (localtime_buffer_addr): Also use this workaround if
63981         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
63982         to simplify the uses.  All uses changed.
63983         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
63984         that #undef is inside {}, and 'const' follows type name consistently.
63985         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
63986         (gettimeofday): Do not use the maximum possible value for
63987         tv->tv_usec, since that might break usages other than ls.c.
63988         Instead, we'll leave ls.c alone.  This undoes today's patch
63989         by Bruno.  Add a compile-time warning for 1s-clock resolution;
63990         we've never observed the problem but might as well keep the
63991         canary.
63992         * lib/nanosleep.c: Include timespec.h first, for interface check.
63993         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
63994         now assume the sys_time module.
63995         * lib/tempname.c: Likewise.
63996         * lib/timespec.h: Likewise.
63997         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
63998         needed.
63999         * lib/strftime.c: Likewise.
64000         * lib/timespec.h: Likewise.
64001         * lib/posixtm.c: Include posixtm.h first, for interface check.
64002         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
64003         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
64004         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
64005         * lib/sys_time_.h: New file.
64006         * lib/timespec.h (struct timespec): Use long int, not long.
64007         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64008         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
64009         Remove obsolescent call to AC_HEADER_TIME.
64010         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
64011         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64012         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64013         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
64014         Likewise.
64015         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
64016         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
64017         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
64018         into the sys_time module.  Check for gettimeofday just once.
64019         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
64020         for gettimeofday signature to just check the signature.  Merely
64021         compile it, since linking doesn't test signature.  Improve test for
64022         whether gettimeofday.o is actually needed.
64023         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
64024         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
64025         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
64026         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64027         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
64028         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
64029         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
64030         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
64031         than worrying about sys/time.h.
64032         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64033         Don't bother worrying about TIME_WITH_SYS_TIME.
64034         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64035         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
64036         * m4/sys_time_h.m4: New file.
64037         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
64038         Don't include sys/time.h.  Return from main rather than exiting.
64039         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
64040         all uses changed.
64041         * modules/gethrxtime (Depends-on): Add sys_time.
64042         * modules/gettime (Depends-on): Likewise.
64043         * modules/gettimeofday (Depends-on): Likewise.
64044         * modules/nanosleep (Depends-on): Likewise.
64045         * modules/settime (Depends-on): Likewise.
64046         * modules/tempname (Depends-on): Likewise.
64047         * modules/utimens (Depends-on): Likewise.
64048         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
64049         (Include): Change back to <sys/time.h>.
64050         (Maintainer): Add self.
64051         * modules/sys_time: New file.
64052         * modules/tempname (Depends-on): Add gettimeofday.
64053         * tests/test-gettimeofday.c: Include <sys/time.h>
64054         rather than gettimeofday.h.
64055
64056 2007-01-17  Bruno Haible  <bruno@clisp.org>
64057
64058         * gnulib-tool (func_get_license): Revert last patch. Instead, let
64059         the license default to GPL.
64060         (func_create_testdir): Don't complain if a module is LGPL and its
64061         tests module depends on GPLed modules.
64062
64063 2007-01-17  Bruno Haible  <bruno@clisp.org>
64064
64065         * lib/gettimeofday.c (gettimeofday): Add code for the case
64066         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
64067         maximum possible value for tv->tv_usec, rather than the minimum one.
64068
64069 2005-10-08  Martin Lambers  <marlam@marlam.de>
64070 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64071 2007-01-16  Bruno Haible  <bruno@clisp.org>
64072
64073         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
64074         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
64075         gl_FUNC_GETTIMEOFDAY.
64076         (Include): Add gettimeofday.h.
64077         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
64078         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
64079         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
64080         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
64081         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
64082         * lib/gettimeofday.h: New file.
64083         * lib/gettimeofday.c: Include <sys/timeb.h>.
64084         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
64085         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64086         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
64087         fall back on time().
64088
64089         * tests/test-gettimeofday.c: New file.
64090         * modules/gettimeofday-tests: New file.
64091
64092 2007-01-16  Eric Blake  <ebb9@byu.net>
64093
64094         * modules/fnmatch (Depends-on): Depend on wchar.
64095         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
64096         * m4/fnmatch.m4: Likewise.
64097         * modules/mbchar (Makefile.am): Assume <wchar.h>.
64098         * m4/mbchar.m4: Likewise.
64099         * modules/mbswidth (Depends-on): Depend on wchar.
64100         * lib/mbswidth.c: Assume <wchar.h>.
64101         * m4/mbswidth.m4: Likewise.
64102         * modules/quotearg (Depends-on): Depend on wchar.
64103         * lib/quotearg.c: Assume <wchar.h>.
64104         * m4/quotearg.m4: Likewise.
64105         * modules/regex (Depends-on): Depend on wchar.
64106         * lib/regex_internal.h: Assume <wchar.h>.
64107         * m4/regex.m4: Likewise.
64108         * modules/stdint (Depends-on): Depend on wchar.
64109         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
64110         * m4/stdint.m4: Likewise.
64111         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
64112         * modules/strftime (Depends-on): Depend on wchar.
64113         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
64114         * modules/strtol (Depends-on): Depend on wchar.
64115         * lib/strtol.c: Assume <wchar.h>.
64116         * modules/wcwidth (Depends-on): Depend on wchar.
64117         * lib/wcwidth.h: Assume <wchar.h>.
64118         * m4/wcwidth.m4: Likewise.
64119
64120 2007-01-16  Bruno Haible  <bruno@clisp.org>
64121
64122         * modules/csharpexec-script: New, created from...
64123         * modules/csharpexec: ... this.
64124
64125 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
64126
64127         * modules/javaexec-script: New, created from...
64128         * modules/javaexec: ... this.
64129
64130 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64131
64132         * modules/poll (Dependencies): Add sys_select.
64133
64134 2007-01-15  Jim Meyering  <jim@meyering.net>
64135
64136         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
64137         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
64138         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
64139         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
64140
64141 2007-01-15  Bruno Haible  <bruno@clisp.org>
64142
64143         * modules/striconveh: New file.
64144         * lib/striconveh.h: New file.
64145         * lib/striconveh.c: New file.
64146         * MODULES.html.sh (Internationalization functions): Add striconveh.
64147
64148         * modules/striconveh-tests: New file.
64149         * tests/test-striconveh.c: New file.
64150
64151 2007-01-15  Bruno Haible  <bruno@clisp.org>
64152
64153         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
64154         not from GNU libiconv or GNU libc.
64155
64156 2007-01-15  Bruno Haible  <bruno@clisp.org>
64157
64158         * doc/gnulib-intro.texi (Copyright): Explain the different license
64159         terms for module descriptions, autoconf macros, tests, documentation.
64160
64161 2007-01-14  Bruno Haible  <bruno@clisp.org>
64162
64163         * modules/striconv-tests: New file.
64164         * tests/test-striconv.c: New file.
64165
64166 2007-01-14  Bruno Haible  <bruno@clisp.org>
64167
64168         * modules/iconv-tests: New file.
64169         * tests/test-iconv.c: New file.
64170
64171 2007-01-14  Bruno Haible  <bruno@clisp.org>
64172
64173         * gnulib-tool (func_get_license): For test modules, use the license of
64174         the main module.
64175
64176 2007-01-14  Bruno Haible  <bruno@clisp.org>
64177
64178         * modules/iconv (Include): Clarify that <iconv.h> can only be included
64179         if iconv is found to exist.
64180
64181 2007-01-14  Bruno Haible  <bruno@clisp.org>
64182
64183         * modules/c-ctype-tests: New file.
64184         * tests/test-c-ctype.c: New file.
64185
64186 2007-01-14  Bruno Haible  <bruno@clisp.org>
64187
64188         * modules/binary-io-tests: New file.
64189         * tests/test-binary-io.sh: New file.
64190         * tests/test-binary-io.c: New file.
64191
64192 2007-01-14  Bruno Haible  <bruno@clisp.org>
64193
64194         * modules/array-oset-tests: New file.
64195         * tests/test-array_oset.c: New file.
64196
64197 2007-01-14  Bruno Haible  <bruno@clisp.org>
64198
64199         * modules/array-list-tests: New file.
64200         * tests/test-array_list.c: New file.
64201
64202 2007-01-14  Bruno Haible  <bruno@clisp.org>
64203
64204         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
64205         and make.
64206         Reported by Simon Josefsson in
64207         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
64208
64209 2007-01-14  Bruno Haible  <bruno@clisp.org>
64210
64211         * modules/allocsa-tests: New file.
64212         * tests/test-allocsa.c: New file.
64213
64214 2007-01-14  Bruno Haible  <bruno@clisp.org>
64215
64216         * modules/fchdir (Depends-on): Add absolute-header.
64217         * modules/unistd (Depends-on): Likewise.
64218
64219 2006-12-30  Bruno Haible  <bruno@clisp.org>
64220
64221         * modules/fchdir: New file.
64222         * modules/unistd (Files): Add lib/unistd_.h.
64223         (Makefile.am): Generate unistd.h from unistd_.h.
64224         * lib/fchdir.c: New file.
64225         * lib/dirent_.h: New file.
64226         * lib/unistd_.h: New file.
64227         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
64228         * m4/fchdir.m4: New file.
64229         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
64230         (gl_HEADER_UNISTD): Invoke it.
64231         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
64232         function.
64233         * lib/backupfile.c (opendir, closedir): Undefine.
64234         * lib/chown.c (open, close): Undefine.
64235         * lib/clean-temp.c (open, close): Undefine.
64236         * lib/copy-file.c (open, close): Undefine.
64237         * lib/execute.c (open, close): Undefine.
64238         * lib/fsusage.c (open, close): Undefine.
64239         * lib/gc-gnulib.c (open, close): Undefine.
64240         * lib/getcwd.c (opendir, closedir): Undefine.
64241         * lib/glob.c (opendir, closedir): Undefine.
64242         * lib/javacomp.c (open, close): Undefine.
64243         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
64244         * lib/openat-proc.c (open, close): Undefine.
64245         * lib/pagealign_alloc.c (open, close): Undefine.
64246         * lib/pipe.c (open, close): Undefine.
64247         * lib/progreloc.c (open, close): Undefine.
64248         * lib/savedir.c (opendir, closedir): Undefine.
64249         * lib/utime.c (open, close): Undefine.
64250         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
64251
64252 2007-01-10  Bruno Haible  <bruno@clisp.org>
64253
64254         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
64255
64256 2007-01-12  Eric Blake  <ebb9@byu.net>
64257
64258         Provide a robust <wchar.h>.  Further simplifications are now
64259         possible in other modules, but not included here.
64260         * modules/wchar: New module.
64261         * m4/wchar.m4: New file.
64262         * lib/wchar_.h: Likewise.
64263         * modules/mbchar (Depends-on): Depend on wchar, as the first use
64264         of the new module.
64265         * MODULES.html.sh (Extended multibyte and wide character utilities):
64266         New section.
64267
64268 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
64269
64270         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
64271         to a reasonable default for memory allocation.
64272         (xreadlink): Don't allocate a huge buffer, to work around a buggy
64273         file system that reports garbage st_size values for symlinks.
64274         Problem reported by Liyang Hu.
64275
64276 2007-01-11  Simon Josefsson  <simon@josefsson.org>
64277
64278         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
64279         Emacs .#* auto-save files).
64280
64281 2007-01-11  Bruno Haible  <bruno@clisp.org>
64282
64283         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
64284         directory.
64285
64286 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64287
64288         Use @...@ consistently in lib/wctype_.h.
64289         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
64290         on it being set to 1 or 0.
64291         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
64292         go back to AC_SUBSTing it.
64293         * modules/wctype (Makefile.am): Undo previous change.
64294
64295 2007-01-10  Eric Blake  <ebb9@byu.net>
64296
64297         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
64298         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
64299         * modules/wctype (Makefile.am): Likewise.
64300         Reported by Chris McGuire.
64301
64302 2007-01-10  Jim Meyering  <jim@meyering.net>
64303
64304         fts.c: a small readability/maintainability improvement
64305         * lib/fts.c (fts_read): Make this code slightly more readable and
64306         maintainable by hoisting the "sp->fts_cur = p" assignments to
64307         immediately follow the statements that set P.  Derived from
64308         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
64309
64310 2007-01-10  Eric Blake  <ebb9@byu.net>
64311
64312         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
64313         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
64314         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64315         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64316         Reported by Chris McGuire.
64317
64318 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64319
64320         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
64321         in sed script.
64322
64323 2007-01-09  Bruno Haible  <bruno@clisp.org>
64324
64325         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
64326         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
64327         variables.
64328         (func_module): Use them.
64329
64330 2007-01-09  Bruno Haible  <bruno@clisp.org>
64331
64332         * modules/unistr/base: New file.
64333         * lib/unistr.h: New file.
64334
64335         * modules/unistr/u8-to-u16: New file.
64336         * lib/unistr/u8-to-u16.c: New file.
64337
64338         * modules/unistr/u8-to-u32: New file.
64339         * lib/unistr/u8-to-u32.c: New file.
64340
64341         * modules/unistr/u16-to-u8: New file.
64342         * lib/unistr/u16-to-u8.c: New file.
64343
64344         * modules/unistr/u16-to-u32: New file.
64345         * lib/unistr/u16-to-u32.c: New file.
64346
64347         * modules/unistr/u32-to-u8: New file.
64348         * lib/unistr/u32-to-u8.c: New file.
64349
64350         * modules/unistr/u32-to-u16: New file.
64351         * lib/unistr/u32-to-u16.c: New file.
64352
64353         * modules/unistr/u8-check: New file.
64354         * modules/unistr/u16-check: New file.
64355         * modules/unistr/u32-check: New file.
64356         * lib/unistr/u8-check.c: New file.
64357         * lib/unistr/u16-check.c: New file.
64358         * lib/unistr/u32-check.c: New file.
64359
64360         * modules/unistr/u8-chr: New file.
64361         * modules/unistr/u16-chr: New file.
64362         * modules/unistr/u32-chr: New file.
64363         * lib/unistr/u8-chr.c: New file.
64364         * lib/unistr/u16-chr.c: New file.
64365         * lib/unistr/u32-chr.c: New file.
64366
64367         * modules/unistr/u8-cmp: New file.
64368         * modules/unistr/u16-cmp: New file.
64369         * modules/unistr/u32-cmp: New file.
64370         * lib/unistr/u8-cmp.c: New file.
64371         * lib/unistr/u16-cmp.c: New file.
64372         * lib/unistr/u32-cmp.c: New file.
64373
64374         * modules/unistr/u8-cpy: New file.
64375         * modules/unistr/u16-cpy: New file.
64376         * modules/unistr/u32-cpy: New file.
64377         * lib/unistr/u8-cpy.c: New file.
64378         * lib/unistr/u16-cpy.c: New file.
64379         * lib/unistr/u32-cpy.c: New file.
64380         * lib/unistr/u-cpy.h: New file.
64381
64382         * modules/unistr/u8-cpy-alloc: New file.
64383         * modules/unistr/u16-cpy-alloc: New file.
64384         * modules/unistr/u32-cpy-alloc: New file.
64385         * lib/unistr/u8-cpy-alloc.c: New file.
64386         * lib/unistr/u16-cpy-alloc.c: New file.
64387         * lib/unistr/u32-cpy-alloc.c: New file.
64388         * lib/unistr/u-cpy-alloc.h: New file.
64389
64390         * modules/unistr/u8-endswith: New file.
64391         * modules/unistr/u16-endswith: New file.
64392         * modules/unistr/u32-endswith: New file.
64393         * lib/unistr/u8-endswith.c: New file.
64394         * lib/unistr/u16-endswith.c: New file.
64395         * lib/unistr/u32-endswith.c: New file.
64396         * lib/unistr/u-endswith.h: New file.
64397
64398         * modules/unistr/u8-mblen: New file.
64399         * modules/unistr/u16-mblen: New file.
64400         * modules/unistr/u32-mblen: New file.
64401         * lib/unistr/u8-mblen.c: New file.
64402         * lib/unistr/u16-mblen.c: New file.
64403         * lib/unistr/u32-mblen.c: New file.
64404
64405         * modules/unistr/u8-mbtouc: New file.
64406         * modules/unistr/u16-mbtouc: New file.
64407         * modules/unistr/u32-mbtouc: New file.
64408         * lib/unistr/u8-mbtouc.c: New file.
64409         * lib/unistr/u16-mbtouc.c: New file.
64410         * lib/unistr/u32-mbtouc.c: New file.
64411
64412         * modules/unistr/u8-mbtouc-safe: New file.
64413         * modules/unistr/u16-mbtouc-safe: New file.
64414         * modules/unistr/u32-mbtouc-safe: New file.
64415         * lib/unistr/u8-mbtouc-safe.c: New file.
64416         * lib/unistr/u16-mbtouc-safe.c: New file.
64417         * lib/unistr/u32-mbtouc-safe.c: New file.
64418
64419         * modules/unistr/u8-move: New file.
64420         * modules/unistr/u16-move: New file.
64421         * modules/unistr/u32-move: New file.
64422         * lib/unistr/u8-move.c: New file.
64423         * lib/unistr/u16-move.c: New file.
64424         * lib/unistr/u32-move.c: New file.
64425         * lib/unistr/u-move.h: New file.
64426
64427         * modules/unistr/u8-next: New file.
64428         * modules/unistr/u16-next: New file.
64429         * modules/unistr/u32-next: New file.
64430         * lib/unistr/u8-next.c: New file.
64431         * lib/unistr/u16-next.c: New file.
64432         * lib/unistr/u32-next.c: New file.
64433
64434         * modules/unistr/u8-prev: New file.
64435         * modules/unistr/u16-prev: New file.
64436         * modules/unistr/u32-prev: New file.
64437         * lib/unistr/u8-prev.c: New file.
64438         * lib/unistr/u16-prev.c: New file.
64439         * lib/unistr/u32-prev.c: New file.
64440
64441         * modules/unistr/u8-set: New file.
64442         * modules/unistr/u16-set: New file.
64443         * modules/unistr/u32-set: New file.
64444         * lib/unistr/u8-set.c: New file.
64445         * lib/unistr/u16-set.c: New file.
64446         * lib/unistr/u32-set.c: New file.
64447         * lib/unistr/u-set.h: New file.
64448
64449         * modules/unistr/u8-startswith: New file.
64450         * modules/unistr/u16-startswith: New file.
64451         * modules/unistr/u32-startswith: New file.
64452         * lib/unistr/u8-startswith.c: New file.
64453         * lib/unistr/u16-startswith.c: New file.
64454         * lib/unistr/u32-startswith.c: New file.
64455         * lib/unistr/u-startswith.h: New file.
64456
64457         * modules/unistr/u8-stpcpy: New file.
64458         * modules/unistr/u16-stpcpy: New file.
64459         * modules/unistr/u32-stpcpy: New file.
64460         * lib/unistr/u8-stpcpy.c: New file.
64461         * lib/unistr/u16-stpcpy.c: New file.
64462         * lib/unistr/u32-stpcpy.c: New file.
64463         * lib/unistr/u-stpcpy.h: New file.
64464
64465         * modules/unistr/u8-stpncpy: New file.
64466         * modules/unistr/u16-stpncpy: New file.
64467         * modules/unistr/u32-stpncpy: New file.
64468         * lib/unistr/u8-stpncpy.c: New file.
64469         * lib/unistr/u16-stpncpy.c: New file.
64470         * lib/unistr/u32-stpncpy.c: New file.
64471         * lib/unistr/u-stpncpy.h: New file.
64472
64473         * modules/unistr/u8-strcat: New file.
64474         * modules/unistr/u16-strcat: New file.
64475         * modules/unistr/u32-strcat: New file.
64476         * lib/unistr/u8-strcat.c: New file.
64477         * lib/unistr/u16-strcat.c: New file.
64478         * lib/unistr/u32-strcat.c: New file.
64479         * lib/unistr/u-strcat.h: New file.
64480
64481         * modules/unistr/u8-strchr: New file.
64482         * modules/unistr/u16-strchr: New file.
64483         * modules/unistr/u32-strchr: New file.
64484         * lib/unistr/u8-strchr.c: New file.
64485         * lib/unistr/u16-strchr.c: New file.
64486         * lib/unistr/u32-strchr.c: New file.
64487
64488         * modules/unistr/u8-strcmp: New file.
64489         * modules/unistr/u16-strcmp: New file.
64490         * modules/unistr/u32-strcmp: New file.
64491         * lib/unistr/u8-strcmp.c: New file.
64492         * lib/unistr/u16-strcmp.c: New file.
64493         * lib/unistr/u32-strcmp.c: New file.
64494
64495         * modules/unistr/u8-strcpy: New file.
64496         * modules/unistr/u16-strcpy: New file.
64497         * modules/unistr/u32-strcpy: New file.
64498         * lib/unistr/u8-strcpy.c: New file.
64499         * lib/unistr/u16-strcpy.c: New file.
64500         * lib/unistr/u32-strcpy.c: New file.
64501         * lib/unistr/u-strcpy.h: New file.
64502
64503         * modules/unistr/u8-strcspn: New file.
64504         * modules/unistr/u16-strcspn: New file.
64505         * modules/unistr/u32-strcspn: New file.
64506         * lib/unistr/u8-strcspn.c: New file.
64507         * lib/unistr/u16-strcspn.c: New file.
64508         * lib/unistr/u32-strcspn.c: New file.
64509         * lib/unistr/u-strcspn.h: New file.
64510
64511         * modules/unistr/u8-strdup: New file.
64512         * modules/unistr/u16-strdup: New file.
64513         * modules/unistr/u32-strdup: New file.
64514         * lib/unistr/u8-strdup.c: New file.
64515         * lib/unistr/u16-strdup.c: New file.
64516         * lib/unistr/u32-strdup.c: New file.
64517         * lib/unistr/u-strdup.h: New file.
64518
64519         * modules/unistr/u8-strlen: New file.
64520         * modules/unistr/u16-strlen: New file.
64521         * modules/unistr/u32-strlen: New file.
64522         * lib/unistr/u8-strlen.c: New file.
64523         * lib/unistr/u16-strlen.c: New file.
64524         * lib/unistr/u32-strlen.c: New file.
64525         * lib/unistr/u-strlen.h: New file.
64526
64527         * modules/unistr/u8-strmblen: New file.
64528         * modules/unistr/u16-strmblen: New file.
64529         * modules/unistr/u32-strmblen: New file.
64530         * lib/unistr/u8-strmblen.c: New file.
64531         * lib/unistr/u16-strmblen.c: New file.
64532         * lib/unistr/u32-strmblen.c: New file.
64533
64534         * modules/unistr/u8-strmbtouc: New file.
64535         * modules/unistr/u16-strmbtouc: New file.
64536         * modules/unistr/u32-strmbtouc: New file.
64537         * lib/unistr/u8-strmbtouc.c: New file.
64538         * lib/unistr/u16-strmbtouc.c: New file.
64539         * lib/unistr/u32-strmbtouc.c: New file.
64540
64541         * modules/unistr/u8-strncat: New file.
64542         * modules/unistr/u16-strncat: New file.
64543         * modules/unistr/u32-strncat: New file.
64544         * lib/unistr/u8-strncat.c: New file.
64545         * lib/unistr/u16-strncat.c: New file.
64546         * lib/unistr/u32-strncat.c: New file.
64547         * lib/unistr/u-strncat.h: New file.
64548
64549         * modules/unistr/u8-strncmp: New file.
64550         * modules/unistr/u16-strncmp: New file.
64551         * modules/unistr/u32-strncmp: New file.
64552         * lib/unistr/u8-strncmp.c: New file.
64553         * lib/unistr/u16-strncmp.c: New file.
64554         * lib/unistr/u32-strncmp.c: New file.
64555
64556         * modules/unistr/u8-strncpy: New file.
64557         * modules/unistr/u16-strncpy: New file.
64558         * modules/unistr/u32-strncpy: New file.
64559         * lib/unistr/u8-strncpy.c: New file.
64560         * lib/unistr/u16-strncpy.c: New file.
64561         * lib/unistr/u32-strncpy.c: New file.
64562         * lib/unistr/u-strncpy.h: New file.
64563
64564         * modules/unistr/u8-strnlen: New file.
64565         * modules/unistr/u16-strnlen: New file.
64566         * modules/unistr/u32-strnlen: New file.
64567         * lib/unistr/u8-strnlen.c: New file.
64568         * lib/unistr/u16-strnlen.c: New file.
64569         * lib/unistr/u32-strnlen.c: New file.
64570         * lib/unistr/u-strnlen.h: New file.
64571
64572         * modules/unistr/u8-strpbrk: New file.
64573         * modules/unistr/u16-strpbrk: New file.
64574         * modules/unistr/u32-strpbrk: New file.
64575         * lib/unistr/u8-strpbrk.c: New file.
64576         * lib/unistr/u16-strpbrk.c: New file.
64577         * lib/unistr/u32-strpbrk.c: New file.
64578         * lib/unistr/u-strpbrk.h: New file.
64579
64580         * modules/unistr/u8-strrchr: New file.
64581         * modules/unistr/u16-strrchr: New file.
64582         * modules/unistr/u32-strrchr: New file.
64583         * lib/unistr/u8-strrchr.c: New file.
64584         * lib/unistr/u16-strrchr.c: New file.
64585         * lib/unistr/u32-strrchr.c: New file.
64586
64587         * modules/unistr/u8-strspn: New file.
64588         * modules/unistr/u16-strspn: New file.
64589         * modules/unistr/u32-strspn: New file.
64590         * lib/unistr/u8-strspn.c: New file.
64591         * lib/unistr/u16-strspn.c: New file.
64592         * lib/unistr/u32-strspn.c: New file.
64593         * lib/unistr/u-strspn.h: New file.
64594
64595         * modules/unistr/u8-strstr: New file.
64596         * modules/unistr/u16-strstr: New file.
64597         * modules/unistr/u32-strstr: New file.
64598         * lib/unistr/u8-strstr.c: New file.
64599         * lib/unistr/u16-strstr.c: New file.
64600         * lib/unistr/u32-strstr.c: New file.
64601         * lib/unistr/u-strstr.h: New file.
64602
64603         * modules/unistr/u8-strtok: New file.
64604         * modules/unistr/u16-strtok: New file.
64605         * modules/unistr/u32-strtok: New file.
64606         * lib/unistr/u8-strtok.c: New file.
64607         * lib/unistr/u16-strtok.c: New file.
64608         * lib/unistr/u32-strtok.c: New file.
64609         * lib/unistr/u-strtok.h: New file.
64610
64611         * modules/unistr/u8-uctomb: New file.
64612         * modules/unistr/u16-uctomb: New file.
64613         * modules/unistr/u32-uctomb: New file.
64614         * lib/unistr/u8-uctomb.c: New file.
64615         * lib/unistr/u16-uctomb.c: New file.
64616         * lib/unistr/u32-uctomb.c: New file.
64617
64618         * MODULES.html.sh (Unicode string functions): Add the new modules.
64619
64620 2007-01-08  Bruno Haible  <bruno@clisp.org>
64621
64622         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
64623         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
64624         subdirectories.
64625
64626 2007-01-08  Karl Berry  <karl@gnu.org>
64627
64628         * doc/error.texi: mention that main() fns must set program_name
64629         when progname is used.
64630
64631 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
64632
64633         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
64634         WCTYPE_H is empty, for the benefit of builds from non-distclean
64635         directories.  Problem reported by Eric Blake in
64636         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
64637
64638 2007-01-08  Bruno Haible  <bruno@clisp.org>
64639
64640         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
64641         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
64642         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
64643         PROVIDE_CANONICALIZE_FILENAME_MODE.
64644         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
64645
64646 2007-01-08  Bruno Haible  <bruno@clisp.org>
64647
64648         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
64649         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
64650         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
64651         * lib/fts.c: Likewise.
64652         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
64653
64654 2006-12-25  Bruno Haible  <bruno@clisp.org>
64655
64656         * modules/utf8-ucs4-safe: New file.
64657         * lib/utf8-ucs4-safe.h: New file.
64658         * lib/unistr/utf8-ucs4-safe.c: New file.
64659
64660         * modules/utf16-ucs4-safe: New file.
64661         * lib/utf16-ucs4-safe.h: New file.
64662         * lib/unistr/utf16-ucs4-safe.c: New file.
64663
64664         * MODULES.html.sh (Unicode string functions): Add the new modules.
64665
64666 2007-01-08  Bruno Haible  <bruno@clisp.org>
64667
64668         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
64669         (Depends-on): Add unitypes.
64670         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64671         (u8_mbtouc_aux): Move out to separate file.
64672         (u8_mbtouc): Use ucs4_t, uint8_t types.
64673         * lib/unistr/utf8-ucs4.c: New file.
64674
64675         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
64676         (Depends-on): Add unitypes.
64677         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64678         (u16_mbtouc_aux): Move out to separate file.
64679         (u16_mbtouc): Use ucs4_t, uint16_t types.
64680         * lib/unistr/utf16-ucs4.c: New file.
64681
64682         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
64683         (Depends-on): Add unitypes.
64684         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
64685         (u8_uctomb_aux): Move out to separate file.
64686         (u8_uctomb): Use ucs4_t, uint8_t types.
64687         * lib/unistr/ucs4-utf8.c: New file.
64688
64689         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
64690         (Depends-on): Add unitypes.
64691         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
64692         (u16_uctomb_aux): Move out to separate file.
64693         (u16_uctomb): Use ucs4_t, uint16_t types.
64694         * lib/unistr/ucs4-utf16.c: New file.
64695
64696 2006-12-25  Bruno Haible  <bruno@clisp.org>
64697
64698         * modules/unitypes: New file.
64699         * lib/unitypes.h: New file.
64700         * MODULES.html.sh (func_all_modules): New section "Unicode string
64701         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
64702         this section. Add unitypes.
64703
64704 2007-01-08  Bruno Haible  <bruno@clisp.org>
64705
64706         Avoid variable names that conflict with those from libtool.
64707         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
64708         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
64709         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
64710         library_names_spec to acl_library_names_spec, hardcode_* to
64711         acl_hardcode_*.
64712         Reported by Ralf Wildenhues.
64713
64714 2007-01-08  Bruno Haible  <bruno@clisp.org>
64715
64716         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
64717         definition.
64718         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
64719         definition.
64720         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
64721         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
64722         definition.
64723         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
64724         definition.
64725         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
64726         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
64727         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
64728         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
64729         definition.
64730         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
64731         definition.
64732         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
64733         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
64734         GC_USE_<algorithm>.
64735         * lib/gc-libgcrypt.c: Likewise.
64736         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
64737         * modules/gc-arctwo (configure.ac): Likewise.
64738         * modules/gc-des (configure.ac): Likewise.
64739         * modules/gc-hmac-md5 (configure.ac): Likewise.
64740         * modules/gc-hmac-sha1 (configure.ac): Likewise.
64741         * modules/gc-md2 (configure.ac): Likewise.
64742         * modules/gc-md4 (configure.ac): Likewise.
64743         * modules/gc-md5 (configure.ac): Likewise.
64744         * modules/gc-random (configure.ac): Likewise.
64745         * modules/gc-rijndael (configure.ac): Likewise.
64746         * modules/gc-sha1 (configure.ac): Likewise.
64747
64748 2007-01-08  Bruno Haible  <bruno@clisp.org>
64749
64750         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
64751         macro definition.
64752         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
64753         definition.
64754         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
64755         definition.
64756         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
64757         * modules/fcntl-safer (configure.ac): Likewise.
64758         * modules/fopen-safer (configure.ac): Likewise.
64759         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
64760         GNULIB_FWRITEERROR macro definition.
64761
64762 2007-01-08  Bruno Haible  <bruno@clisp.org>
64763
64764         * m4/gnulib-common.m4: New file.
64765         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
64766         (func_get_filelist): Add m4/gnulib-common.m4.
64767
64768 2007-01-08  Bruno Haible  <bruno@clisp.org>
64769
64770         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
64771         command.
64772
64773 2007-01-08  Jim Meyering  <jim@meyering.net>
64774
64775         Use a more robust test for a "can't happen" condition.
64776         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
64777         narrowed the st_size value.  Presuming the "can't happen" condition
64778         is true, that narrowing could conceivably convert an invalid st_size
64779         value into a valid one.  Instead, use a change based on Matthew
64780         Woehlke's original patch.
64781
64782         Slight readability improvement: use an assert-like macro
64783         in place of literal "abort ()" uses.
64784         * lib/fts.c (fts_assert): Define.
64785         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
64786         Use this macro instead of a bare 'abort'.
64787
64788 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
64789
64790         Don't worry about using IRIX 5.3's wctype.h broken definitions;
64791         simply work around them.
64792         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
64793         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
64794         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
64795         declaring.
64796         Don't bother to define as macros, since the standard doesn't require it.
64797         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
64798         longer worry about IRIX 5.3.
64799         (HAVE_WCTYPE_CTMP_BUG): Remove.
64800
64801 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64802
64803         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
64804         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
64805         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64806         Problems reported by Georg Schwarz for IRIX 5.3.
64807
64808         * gnulib-tool (autoconf_minversion): Take the maximum version number
64809         found, not the minimum.  Problem reported by James Youngman.
64810
64811 2007-01-03  Karl Berry  <karl@gnu.org>
64812
64813         * doc/error.texi: new file, explaining interaction with progname.
64814         * doc/gnulib.texi: include it.  Update copyright.
64815
64816 2007-01-03  Simon Josefsson  <simon@josefsson.org>
64817
64818         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
64819         AC_CANONICAL_HOST, to improve autobuild outputs.
64820
64821 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
64822             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
64823
64824         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
64825         sockets, server sockets, and other file descriptors.  Count errors
64826         to compute the return value.  Reorder the code a bit to be easier
64827         to follow.  Don't set event bits that were not requested (except
64828         POLLERR and POLLHUP).
64829
64830 2007-01-01  Bruno Haible  <bruno@clisp.org>
64831
64832         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
64833
64834 2007-01-03  Jim Meyering  <jim@meyering.net>
64835
64836         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
64837
64838 2007-01-02  Bruno Haible  <bruno@clisp.org>
64839
64840         * modules/settime (Include): Require timespec.h.
64841         * modules/nanosleep (Include): Likewise.
64842
64843 2007-01-01  Bruno Haible  <bruno@clisp.org>
64844
64845         * gnulib-tool (func_emit_copyright_notice): Bump year.
64846         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
64847
64848 2007-01-01  Bruno Haible  <bruno@clisp.org>
64849
64850         Improve support for OpenBSD.
64851         * build-aux/config.rpath (libname_spec): Export.
64852         (library_names_spec): New variable. Export.
64853         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
64854         library_names_spec from the config.rpath output. Locate shared library
64855         through the name pattern in library_names_spec.
64856
64857 2007-01-01  Eric Blake  <ebb9@byu.net>
64858
64859         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
64860
64861 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
64862
64863         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
64864         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
64865         assume the C locale, and avoid an "eval" that could cause trouble.
64866         Problem with SORT reported by Bob Proulx.
64867
64868         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
64869         Define.  Trivial patch from Henning Nielsen Lund, originally
64870         sent to bug-grep@gnu.org today.
64871
64872 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
64873
64874         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
64875         struct stat.  Problem reported by Henning Nielsen Lund.
64876         * lib/acl.c: Include acl.h first, to check interface.  Don't
64877         bother to include sys/types.h and sys/stat.h again.
64878
64879 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64880
64881         Import the following change from libc; problem reported by
64882         Sven Verdoolaege.
64883
64884         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
64885
64886         [BZ #1373]
64887         * lib/argp.h: Remove __NTH for __argp_usage inline function.
64888
64889 2006-12-28  Jim Meyering  <jim@meyering.net>
64890
64891         * build-aux/announce-gen: Do not assume that the package
64892         builds any of tar.gz, tar.bz2, and .xdelta files.
64893         Suggestion from Simon Josefsson.
64894
64895 2006-12-28  Simon Josefsson  <simon@josefsson.org>
64896
64897         * modules/announce-gen: New file.
64898
64899 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
64900
64901         * lib/mbchar.h: Just include <wctype.h>; the wctype module
64902         handles its gotchas now.
64903         * lib/mbswidth.c: Likewise.
64904         * lib/wcwidth.h: Likewise.
64905         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
64906         and iswcntrl; the wctype module does this stuff now.
64907         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
64908         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64909         * modules/mbchar (Depends-on): Add wctype.
64910         * modules/mbswidth (Depends-on): Likewise.
64911         * modules/wcwidth (Depends-on): Likewise.
64912
64913 2006-12-27  Eric Blake  <ebb9@byu.net>
64914
64915         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
64916         module uses more than what <wctype.h> is required to provide.
64917
64918 2006-12-26  Eric Blake  <ebb9@byu.net>
64919
64920         * gnulib-tool (sed_extract_prog): Avoid space-tab.
64921
64922 2006-12-26  Eric Blake  <ebb9@byu.net>
64923
64924         * modules/absolute-header: New module.
64925         * modules/fcntl (Depends-on): Depend on it.
64926         * modules/inttypes (Depends-on): Likewise.
64927         * modules/stdint (Depends-on): Likewise.
64928         * modules/sys_stat (Depends-on): Likewise.
64929         * modules/wctype (Depends-on): Likewise.
64930         * MODULES.html.sh (Support for building libraries and
64931         executables): Document it.
64932
64933 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
64934
64935         * gnulib-tool (SED): Remove, undoing previous change.
64936         The problem was that it broke coreutils on Solaris, because
64937         "sed --posix" leaked into a makefile.
64938         (sed): New alias, if 'alias' and GNU sed.
64939
64940 2006-12-24  Jim Meyering  <jim@meyering.net>
64941
64942         Work around an fchownat bug in glibc-2.4:
64943         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
64944         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
64945         in spite of the -P option.
64946         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
64947         New macros.
64948         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
64949         * modules/openat (Files): Add lib/fchownat.c.
64950         * lib/openat.c (fchownat): Don't define here.  Move to...
64951         * lib/fchownat.c: ...this new file.
64952
64953 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64954
64955         Fix bug reported by Bruno Haible in
64956         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
64957         where quotearg.c didn't compile on Mac OS X 10.2 because it
64958         lacks <wchar.h> and wint_t.
64959         * lib/wctype_.h (__wctype_wint_t): New type.
64960         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
64961         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
64962         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
64963         Arg is now of type __wctype_wint_t, not wint_t.
64964         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
64965         substitute HAVE_WINT_T.
64966         * modules/wctype (Files): Add m4/wint_t.m4.
64967         (wctype.h): Substitute HAVE_WINT_T.
64968
64969 2006-12-23  Bruno Haible  <bruno@clisp.org>
64970
64971         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
64972
64973 2006-12-23  Bruno Haible  <bruno@clisp.org>
64974
64975         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
64976         S_ISLNK.
64977         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
64978         mingw.
64979
64980 2006-12-22  Bruno Haible  <bruno@clisp.org>
64981
64982         * lib/copy-file.c: Include acl.h.
64983         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
64984         Close the file descriptors only after being done with copy_acl.
64985         * modules/copy-file (Depends-on): Add acl.
64986
64987 2006-12-22  Bruno Haible  <bruno@clisp.org>
64988
64989         * gnulib-tool (SED): New variable.
64990         Use $SED instead of sed everywhere.
64991
64992 2006-12-22  Bruno Haible  <bruno@clisp.org>
64993
64994         * modules/no-c++: New file.
64995         * m4/no-c++.m4: New file.
64996         * MODULES.html.sh (Support for building libraries and executables):
64997         Add no-c++.
64998
64999 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
65000
65001         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
65002         Include <limits.h>, and use its INT_MAX to rewrite the
65003         j loop so that it does not overflow 'int'.  Problem reported by
65004         Ralf Wildenhues in
65005         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
65006         Play it safe by shifting left by 1 rather than multiplying by 2,
65007         as GCC is less likely to optimize this away when the value
65008         is signed (when it assumes overflow leads to undefined behavior).
65009         Also, don't assume time_t uses two's complement.
65010
65011 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
65012
65013         * MODULES.html.sh: New module wctype.
65014         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
65015         * lib/fnmatch.c: Don't bother to include <wchar.h> before
65016         <wctype.h>, since the new wctype module should fix this.
65017         * lib/quotearg.c: Include <wctype.h> unconditionally, since
65018         the wctype module should arrange for it.
65019         * lib/regex_internal.h: Likewise.
65020         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
65021         since the wctype module should handle this now.
65022         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
65023         * modules/fnmatch (Depends-on): Add wctype.
65024         * modules/quotearg (Depends-on): Likewise.
65025         * modules/regex (Depends-on): Likewise.
65026
65027 2006-12-19  Bruno Haible  <bruno@clisp.org>
65028
65029         * lib/strdup.h [C++]: Wrap definitions in extern "C".
65030         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
65031
65032 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65033
65034         * modules/savewd (Depends-on): Fix dependency on fcntl.
65035
65036 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65037
65038         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
65039         conforms to C99, rather than relying on the user's environment
65040         setting of STDINT_H.
65041
65042 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65043         and Eric Blake  <ebb9@byu.net>
65044
65045         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
65046         This is more consistent with the other defines here.
65047         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
65048         Port to z/OS.  Problem reported by Paul Gilmartin.
65049         Change local vars to use gl_ prefix rather than ac_.
65050         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
65051         with other defines.
65052         * modules/double-slash-root: New module.
65053         * modules/dirname (Files): Remove m4/double-slash-root.m4.
65054         (Depends-on): Add double-slash-root.
65055         * MODULES.html.sh (File system functions): Mention new module.
65056
65057 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
65058
65059         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
65060         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
65061         This is for the benefit of gzip, which doesn't do i18n.
65062
65063 2006-12-12  Jim Meyering  <jim@meyering.net>
65064
65065         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
65066         Reported by Andreas Schwab <schwab@suse.de>.
65067
65068 2006-12-12  Bruno Haible  <bruno@clisp.org>
65069
65070         Merge these changes.
65071         2006-09-05  Bruno Haible  <bruno@clisp.org>
65072         * lib/iconvme.c (iconv_string): No need to save and restore errno when
65073         iconv_alloc succeeded.
65074         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
65075         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
65076         test for " && dest " at the end - dest is always != NULL there. Call
65077         iconv with 4xNULL arguments initially, to reset the state. Call iconv
65078         with 2xNULL arguments, also to flush the state storage. Handle the
65079         IRIX iconv behaviour. Realloc the final result, to throw away unused
65080         memory.
65081
65082 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
65083
65084         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
65085         and fchmodat unconditionally, since glibc 2.4 has them.
65086         Problem reported by Arkadiusz Miskiewicz.
65087
65088 2006-12-10  Bruno Haible  <bruno@clisp.org>
65089
65090         * gnulib-tool (func_import): Show the include files only for those
65091         modules that are copied and specified.
65092         Reported by Karl Berry.
65093
65094 2006-12-08  Jim Meyering  <jim@meyering.net>
65095
65096         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
65097         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
65098
65099         * build-aux/announce-gen: Add two new options, both optional:
65100         --bootstrap-tools=TOOL_LIST
65101               a comma-separated list of tools, e.g.,
65102               autoconf,automake,bison,gnulib
65103         --gnulib-snapshot-date=DATE
65104               if gnulib is in the bootstrap tool list,
65105               then report this as the snapshot date.
65106               If not specified, use the current date/time.
65107               If you specify a date here, be sure it's UTC.
65108
65109 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65110
65111         * tests/test-argp-2.sh: Fix test to match actual output.
65112         (func_compare): Fix sed script to be portable.
65113
65114 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
65115
65116         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
65117         workaround for this case.  It is not autoconfigured now; offhand
65118         it's hard to see how to autoconfigure it.
65119
65120 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
65121
65122         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
65123         a directory that is about to be chowned.  Such a directory's
65124         initial file permissions should permit the owner only and this
65125         should not be changed until after the chown, since the group and
65126         other bits would be incorrect if they granted permission before
65127         the chown.
65128
65129         Fix porting problem for iswctype reported by Georg Schwarz in:
65130         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
65131         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
65132         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
65133         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
65134         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65135
65136 2006-12-03  Jim Meyering  <jim@meyering.net>
65137
65138         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
65139         p->fts_statp may not yet be defined.
65140         (fts_read): Instead, set it in the caller, once p->fts_statp is
65141         sure to be defined, and corresponds to a top-level directory.
65142         This bug made du -x fail.  Here's the coreutils test case:
65143         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
65144         Reported by Mike Frysinger.
65145
65146 2006-12-01  Jim Meyering  <jim@meyering.net>
65147
65148         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
65149         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
65150         Reported by Simon Josefsson.
65151
65152 2006-11-30  Jim Meyering  <jim@meyering.net>
65153
65154         * m4/warning.m4: Use the all-permissive copyright notice
65155         recommended by RMS (rather than LGPL).
65156         * m4/vararrays.m4: Likewise.
65157         * m4/flexmember.m4: Likewise.
65158
65159 2006-11-29  Bruno Haible  <bruno@clisp.org>
65160
65161         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65162         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
65163         using +=.
65164         Reported by Simon Josefsson <simon@josefsson.org>.
65165
65166 2006-11-28  James Youngman <jay@gnu.org>
65167
65168         * README: Advise users that they might find the bug-gnulib@gnu.org
65169         and autotools-announce@gnu.org mailing lists useful.
65170
65171 2006-11-28  Bruno Haible  <bruno@clisp.org>
65172
65173         * m4/ptrdiff_max.m4: Remove file.
65174
65175 2006-11-21  Bruno Haible  <bruno@clisp.org>
65176
65177         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
65178         _AC_COMPUTE_INT.
65179         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65180         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
65181         _AC_COMPUTE_INT.
65182         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65183         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
65184         _AC_COMPUTE_INT.
65185         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65186
65187 2006-11-28  Jim Meyering  <jim@meyering.net>
65188
65189         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
65190         warning from "gcc -Wshadow" about shadowing the builtin.
65191
65192 2006-11-27  Bruno Haible  <bruno@clisp.org>
65193
65194         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
65195         _AC_COMPUTE_INT.
65196         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65197
65198 2006-11-27  Bruno Haible  <bruno@clisp.org>
65199             Paul Eggert  <eggert@cs.ucla.edu>
65200
65201         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
65202
65203 2006-11-26  Bruno Haible  <bruno@clisp.org>
65204
65205         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65206         noinst_LTLIBRARIES.
65207
65208 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
65209             Bruno Haible  <bruno@clisp.org>
65210
65211         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
65212         if compiling with "gcc -ansi".
65213
65214 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
65215
65216         Fix some incompatibilities with gcc -ansi -pedantic.
65217         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
65218         if compiling pedantically with GCC, unless it's C99 or later.
65219         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
65220         it mishandles gcc -ansi -pedantic as well.
65221         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
65222         if gcc -pedantic.
65223         * lib/regexec.c (check_node_accept_bytes): Don't use auto
65224         initializers for struct if -pedantic, unless it's C99 or later.
65225
65226 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
65227
65228         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
65229         Don't close an fd more than once. Identical atimes indicate
65230         success, not failure.
65231
65232 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
65233
65234         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
65235
65236 2006-11-23  Jim Meyering  <jim@meyering.net>
65237
65238         * build-aux/announce-gen: New file.  From coreutils.
65239
65240 2006-11-22  Jim Meyering  <jim@meyering.net>
65241
65242         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
65243         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
65244         (fts_read): Use a temporary to narrow the overused st_size member
65245         before using it in a switch statement.  Reported by Matthew Woehlke.
65246
65247         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
65248         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
65249
65250 2006-11-20  Bruno Haible  <bruno@clisp.org>
65251
65252         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
65253         changequote instead of pairs of brackets.
65254         Reported by Andreas Schwab <schwab@suse.de>.
65255
65256 2006-11-21  Jim Meyering  <jim@meyering.net>
65257
65258         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
65259         so as to remain compatible with older compilers.
65260         Patch from Michael Deutschmann.
65261
65262 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65263
65264         * MODULES.html.sh (File system functions): Add openat.
65265
65266         * lib/openat.h (rpl_fstatat): New macro, if
65267         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
65268         (fstatat): Define to rpl_fstatat under the same conditions,
65269         unless COMPILING_FSTATAT.
65270         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
65271         seems to have the bug.
65272         * lib/fstatat.c: New file.
65273         * modules/openat (Files): Add it.
65274
65275 2006-11-20  Bruno Haible  <bruno@clisp.org>
65276
65277         * Makefile: New file.
65278
65279 2006-11-20  Jim Meyering  <jim@meyering.net>
65280
65281         The beginnings of syntax-related checks for gnulib.
65282         * lib/Makefile: New file.
65283         * lib/t-idcache: New script.  Ensure that the two halves of
65284         idcache.c stay in sync.
65285
65286         * lib/idcache.c: Adjust comments in user- and group- portions to
65287         be more accurate, and to be consistent with one another.
65288
65289 2006-11-20  Jim Meyering  <jim@meyering.net>
65290
65291         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
65292         continue using the flexible array member (thus, this module performs
65293         half as many malloc calls), with the addition that...
65294         (getgroup, getuser): Consistently record a non-match via an empty
65295         "name" string, and map an empty string match to a NULL return value.
65296         * modules/idcache (Depends-on): Re-add flexmember.
65297
65298         * lib/idcache.c (getuser): Remove all uses of the register keyword.
65299         (getuidbyname, getgroup, getgidbyname): Likewise.
65300
65301         Use cleaner syntax: NULL rather than 0.
65302         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
65303
65304 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65305
65306         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
65307         It mishandled the case where the group was missing.
65308         Problem reported by Greg Schafer.
65309         * modules/idcache: Likewise.
65310
65311 2006-11-18  Jim Meyering  <jim@meyering.net>
65312
65313         * check-module (%exempt_header): Add exception for some
65314         conditionally-included headers.
65315
65316         * modules/i-ring (Depends-on): Add verify.
65317         (License): Change to LGPL.
65318
65319 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
65320
65321         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
65322         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
65323         and inttostr.h.  Use snprintf rather than uinttostr, so that
65324         LGPLed code doesn't depend on GPLed.
65325
65326 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
65327
65328         * modules/inline (License): Change from GPL to LGPL.
65329
65330 2006-11-17  Jim Meyering  <jim@meyering.net>
65331
65332         * modules/d-type (License): Switch to LGPL.
65333
65334 2006-11-15  Bruno Haible  <bruno@clisp.org>
65335
65336         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
65337
65338 2006-11-15  Eric Blake  <ebb9@byu.net>
65339
65340         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
65341         the module dependency.
65342
65343 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65344             Bruno Haible  <bruno@clisp.org>
65345
65346         * gnulib-tool (func_create_testdir): Add license consistency check.
65347
65348 2006-11-15  Eric Blake  <ebb9@byu.net>
65349
65350         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
65351         random "(cached)" in configure output.
65352
65353 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65354
65355         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
65356         test for conforming inttypes.h is both announced and cached.
65357
65358         * MODULES.html.sh (seen_modules, seen_files): New variables.
65359         (func_module): Rewrite to use a few less gnulib-tool and sed
65360         invocations.  Avoid a couple of quadratic algorithms for ...
65361         (missed_modules, missed_files): ... these, with ...
65362         (func_append, func_tmpdir): ... these new functions, from
65363         gnulib-tool.  Analogously, install traps for cleanup.
65364
65365         * tests/test-gc.c (main): Remove unused variables.
65366         * tests/test-read-file.c: Include stdlib.h, for 'free'.
65367
65368 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
65369
65370         * modules/inttostr (License): Change to LGPL.
65371
65372 2006-11-14  Eric Blake  <ebb9@byu.net>
65373
65374         * modules/tempname (License): Change to LGPL.
65375
65376 2006-11-14  Eric Blake  <ebb9@byu.net>
65377
65378         * doc/functions.texi (Function Portability): *printf functions on
65379         Cygwin now understand all POSIX size specifiers.
65380
65381 2006-11-14  Bruno Haible  <bruno@clisp.org>
65382
65383         * modules/c-ctype (License): Change to LGPL.
65384
65385 2006-11-12  Bruno Haible  <bruno@clisp.org>
65386
65387         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65388         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
65389         for GNOME libraries, for which the include files are installed in
65390         subdirectories of $prefix/include.
65391
65392 2006-11-12  Bruno Haible  <bruno@clisp.org>
65393
65394         * m4/lib-link.m4: Require at least autoconf-2.54.
65395         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
65396         name to underscores for the --with option.
65397
65398 2006-11-13  Bruno Haible  <bruno@clisp.org>
65399
65400         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
65401         the tests directory.
65402         Reported by Ralf Wildenhues.
65403
65404 2006-11-13  Bruno Haible  <bruno@clisp.org>
65405
65406         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
65407         (func_emit_initmacro_end): Undo the override here.
65408         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
65409         Works around the famous automake error in coreutils.
65410
65411 2006-11-13  Eric Blake  <ebb9@byu.net>
65412
65413         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
65414         element, not its node.
65415
65416 2006-11-12  Bruno Haible  <bruno@clisp.org>
65417
65418         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
65419         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
65420
65421 2006-11-12  Bruno Haible  <bruno@clisp.org>
65422
65423         * gnulib-tool: New option --local-symlink.
65424         (func_usage): Document it.
65425         (lsymbolic): New variable.
65426         (func_import, func_create_testdir): If --symlink was not specified,
65427         test whether --local-symlink was specified and the file comes from
65428         the local_gnulib_dir.
65429
65430 2006-11-12  Bruno Haible  <bruno@clisp.org>
65431
65432         * gnulib-tool (func_ln): New function.
65433         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
65434
65435 2006-11-12  Bruno Haible  <bruno@clisp.org>
65436
65437         Finish support for source files in subdirectories.
65438         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
65439         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65440         AUTOMAKE_OPTIONS.
65441         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
65442
65443 2006-11-12  Bruno Haible  <bruno@clisp.org>
65444
65445         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65446         EXTRA_lib_SOURCES augmentation.
65447         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
65448
65449 2006-11-12  Jim Meyering  <jim@meyering.net>
65450
65451         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
65452         file descriptors.  This also averts a failure on systems with
65453         native openat support when a traversed directory lacks "x" access.
65454         * lib/fts_.h: Include "i-ring.h"
65455         (struct FTS) [fts_fd_ring]: New member.
65456         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
65457         (FCHDIR): Add parentheses.
65458         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
65459         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
65460         When descending, rather than simply closing the previous
65461         fts_cwd_fd value, push that file descriptor onto the ring.
65462         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65463         (fts_open): Initialize the new fd_ring member.
65464         (fts_close): Clear the ring.
65465         (fts_safe_changedir): When possible, use our new fd_ring to skip
65466         the diropen and fstat and dev/ino comparison that would normally
65467         accompany a virtual `chdir ("..")'.
65468
65469         * modules/fts (Depends-on): Add i-ring.
65470         * modules/i-ring: New module.
65471         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65472         * m4/i-ring.m4: New file.
65473
65474 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65475
65476         * gnulib-tool (func_create_testdir): Fix replacement of
65477         `build-aux' in configure.ac.  Run autotools in gltests
65478         subdirectory.
65479         (func_create_testdir, func_create_megatestdir, test): There is
65480         no need for '--force' in most autotool invocations in a new
65481         tree.  Actually fail the whole test if any of the tools, or the
65482         configure or make stages fail.
65483
65484         Sync from Automake.
65485         * build-aux/gnupload: Revert last change.  Add pointer to upload
65486         instructions of the GNU Maintenance Instructions.
65487         Suggestion by Karl Berry.
65488
65489 2006-11-10  Jim Meyering  <jim@meyering.net>
65490
65491         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65492
65493 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65494
65495         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65496         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65497         (bind_textdomain_codeset) [! ENABLE_NLS]:
65498         Evaluate all the arguments.  That way, callers get compatible behavior
65499         if the arguments have side effects.  Also, it avoids some GCC
65500         diagnostics in some cases; Joel E. Denny reported problems when Bison
65501         was configured with --enable-gcc-warnigs.
65502
65503 2006-11-10  Jim Meyering  <jim@meyering.net>
65504
65505         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65506         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65507         account.
65508
65509 2006-11-10  Jim Meyering  <jim@meyering.net>
65510
65511         * modules/inline: New file/module.
65512         * modules/xalloc (Files): Remove m4/inline.m4.
65513         (Depends-on): Add inline, instead.
65514         * modules/oset: Likewise.
65515         * modules/list: Likewise.
65516
65517 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65518
65519         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65520         Problem reported by Matthew Woehlke.
65521
65522 2006-11-09  Bruno Haible  <bruno@clisp.org>
65523
65524         * lib/tempname.c (gen_tempname): Remove variant that invokes
65525         __gen_tempname.
65526         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
65527         __gen_tempname.
65528
65529 2006-11-08  Bruno Haible  <bruno@clisp.org>
65530
65531         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
65532         to 'yes' instead of 'cross-compiling'.
65533
65534 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
65535
65536         * lib/quotearg.h (quotearg_free): New decl.
65537         * lib/quotearg.c (quotearg_free): New function.
65538         (slot0, nslots, slotvec0, slotvec):
65539         Now file-scope so that quotearg_free can get at them.
65540
65541 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65542
65543         Sync from Automake.
65544         * build-aux/gnupload: Add missing 'gnu' to example URL.
65545         Report by Karl Berry.
65546
65547 2006-11-08  Bruno Haible  <bruno@clisp.org>
65548
65549         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
65550         Suggested by Paul Eggert.
65551
65552 2006-11-08  Jim Meyering  <jim@meyering.net>
65553
65554         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
65555         It's already included if !_LIBC.
65556         (fts_safe_changedir): Add a comment.
65557
65558 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65559
65560         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
65561         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
65562         Matthew Woehlke.
65563
65564         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
65565         definitions up, to avoid colliding with change below.
65566         (static_inline) [HAVE_INLINE]: New macro.
65567         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
65568         Provide extern decls when !HAVE_INLINE.  Do not define unless
65569         static_inline is defined, either by us or by xmalloc.c.  Use
65570         static_inline rather than static inline.
65571         (XCALLOC): Optimize sizeof(T) = 1 case.
65572         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
65573
65574 2006-11-07  Bruno Haible  <bruno@clisp.org>
65575
65576         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
65577         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
65578         AC_C_INLINE.
65579         * modules/xalloc (Files): Add m4/inline.m4.
65580
65581 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65582
65583         * README: Fix typo.
65584         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
65585         (Miscellanous Notes): ...from this.
65586
65587 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65588
65589         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
65590         Mention that offsetof should be used instead of sizeof.
65591         From Bruno Haible.
65592
65593 2006-11-07  Bruno Haible  <bruno@clisp.org>
65594
65595         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
65596
65597 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65598
65599         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65600         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
65601         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65602         (gl_tree_add_before, gl_tree_add_after):
65603         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
65604         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
65605         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65606         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
65607         (gl_linked_add_after, gl_linked_add_at): Likewise.
65608         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
65609         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65610         (gl_tree_add_before, gl_tree_add_after): Likewise.
65611         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
65612         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
65613         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
65614
65615 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65616
65617         * lib/gl_oset.h: Use C comment style, not C++ comment style.
65618
65619 2006-11-06  Bruno Haible  <bruno@clisp.org>
65620
65621         * m4/inline.m4: New file.
65622         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
65623         * modules/list (Files): Add m4/inline.m4.
65624         * modules/oset (Files): Likewise.
65625
65626 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65627
65628         * lib/idcache.c: Include <stddef.h>, for offsetof.
65629         (struct userid.name): Change from char * to a flexible array member.
65630         All uses changed.
65631         * modules/idcache (Depends-on): Add flexmember.
65632
65633         * MODULES.html.sh (Core language properties): New module flexmember.
65634         * modules/flexmember, m4/flexmember.m4: New files.
65635
65636         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
65637         inline functions that are identical with the old xnmalloc_inline,
65638         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
65639         that we can avoid some unnecessary integer multiplications and
65640         divisions in the common case where the element size is known at
65641         compile time.
65642         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
65643         needed.
65644         (xnboundedmalloc): Remove.
65645         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
65646         arguments, for consistency with rest of this header.
65647         (xcharalloc): Rewrite using XNMALLOC.
65648         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
65649         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
65650         versions have been moved to lib/xalloc.h and renamed to be the
65651         non-*_inline versions.
65652         (xmalloc, xrealloc): Implement without reference to the xnmalloc
65653         and xnrealloc functions, since those functions are now inline and
65654         now call us.
65655         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
65656         renaming described above.
65657         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
65658         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
65659         captures the dependency in AC_C_INLINE.
65660
65661         New module canonicalize-lgpl, proposed by Charles Wilson in
65662         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
65663         with a few small changes afterwards.
65664         * MODULES.html.sh (File system functions): New module
65665         canonicalize-lgpl.
65666         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
65667         and canonicalize_file_name.
65668         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
65669         * modules/canonicalize-lgpl: New files.
65670
65671 2006-11-05  Bruno Haible  <bruno@clisp.org>
65672
65673         * gnulib-tool (func_import, func_create_testdir): Create directories
65674         also for files in subdirectories of lib/.
65675
65676 2006-11-05  Bruno Haible  <bruno@clisp.org>
65677
65678         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
65679         ANSI C compliant.
65680
65681 2006-11-03  Bruno Haible  <bruno@clisp.org>
65682
65683         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65684         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
65685         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
65686         (xnboundedmalloc): New inline function.
65687         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
65688         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
65689         xmalloc.
65690         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
65691         xmalloc.
65692         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
65693         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
65694         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
65695         xmalloc.
65696         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65697         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
65698         xmalloc.
65699         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
65700         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65701         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
65702         xmalloc.
65703         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65704         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
65705         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65706         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
65707         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
65708         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
65709         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
65710
65711 2006-11-03  Bruno Haible  <bruno@clisp.org>
65712
65713         * lib/c-ctype.h [C++]: Define functions without name mangling.
65714         * lib/fwriteerror.h [C++]: Likewise.
65715         * lib/gcd.h [C++]: Likewise.
65716         * lib/linebreak.h [C++]: Likewise.
65717
65718 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
65719
65720         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
65721         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
65722         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
65723         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65724         Check for functions and headers just once.
65725         Check for declaration of canonicalize_file_name.
65726         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
65727
65728 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65729
65730         * gnulib-tool (func_import): Fix typo in actioncmd.
65731
65732 2006-11-02  Bruno Haible  <bruno@clisp.org>
65733
65734         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
65735         newline sequence in the Makefile.am snippet as a space, like "make"
65736         does.
65737         Reported by Roger Persson <perrog@gmail.com>.
65738
65739 2006-11-01  Bruno Haible  <bruno@clisp.org>
65740
65741         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
65742         already declared in <string.h>.
65743         * lib/strcase.h (strncasecmp): Don't declare it if yes.
65744
65745 2006-11-01  Bruno Haible  <bruno@clisp.org>
65746
65747         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
65748         * lib/strcase.h: Include <string.h>.
65749         (strcasecmp): Define to rpl_strcasecmp here.
65750
65751 2006-11-01  Bruno Haible  <bruno@clisp.org>
65752
65753         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
65754
65755 2006-11-01  Eric Blake  <ebb9@byu.net>
65756
65757         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
65758
65759         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
65760
65761 2006-10-29  Bruno Haible  <bruno@clisp.org>
65762
65763         Make it compile in C++ mode.
65764         * lib/full-write.c (full_rw): Add a cast.
65765
65766 2006-11-01  Bruno Haible  <bruno@clisp.org>
65767
65768         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
65769         be POSIX compliant.
65770         Reported by Roger Persson <perrog@gmail.com>.
65771
65772 2006-11-01  Eric Blake  <ebb9@byu.net>
65773
65774         * lib/getopt_.h: Fix comments.
65775
65776 2006-10-31  Eric Blake  <ebb9@byu.net>
65777
65778         * modules/tmpdir (Depends-on): Add sys_stat.
65779         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
65780         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
65781         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
65782         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
65783         tempname.
65784
65785 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
65786
65787         Avoid some C++ diagnostics reported by Bruno Haible.
65788         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
65789         xmalloc.
65790         (quotearg_alloc): Use xcharalloc rather than xmalloc.
65791         (struct slotvec): Move to top level.
65792         (quotearg_n_options): Rewrite to avoid xmalloc.
65793         * lib/xalloc.h (xcharalloc): New function.
65794         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
65795         [defined __cplusplus]: Add function template that provides result
65796         type propagation.  This part of the change is from Bruno Haible.
65797
65798 2006-10-29  Bruno Haible  <bruno@clisp.org>
65799
65800         Make it compile in C++ mode.
65801         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
65802         * lib/strnlen1.c (strnlen1): Cast memchr result.
65803         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
65804         * lib/clean-temp.c (string_equals, string_hash): Add casts.
65805         (create_temp_dir): Rename local variable 'template'.
65806         (compile_csharp_using_sscli): Add cast.
65807         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
65808         * lib/findprog.c (find_in_path): Likewise.
65809         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
65810         * lib/wait-process.c (register_slave_subprocess): Likewise.
65811
65812 2006-10-22  Bruno Haible  <bruno@clisp.org>
65813
65814         * modules/tsearch: New file.
65815         * lib/tsearch.h: New file.
65816         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
65817         * m4/tsearch.m4: New file.
65818         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
65819
65820 2006-10-29  Eric Blake  <ebb9@byu.net>
65821
65822         * lib/arcfour.c: Assume config.h.
65823         * lib/arctwo.c: Likewise.
65824         * lib/base64.c: Likewise.
65825         * lib/check-version.c: Likewise.
65826         * lib/crc.c: Likewise.
65827         * lib/des.c: Likewise.
65828         * lib/gc-gnulib.c: Likewise.
65829         * lib/gc-libgcrypt.c: Likewise.
65830         * lib/gc-pbkdf2-sha1.c: Likewise.
65831         * lib/getaddrinfo.c: Likewise.
65832         * lib/getdelim.c: Likewise.
65833         * lib/getline.c: Likewise.
65834         * lib/hmac-md5.c: Likewise.
65835         * lib/hmac-sha1.c: Likewise.
65836         * lib/iconvme.c: Likewise.
65837         * lib/md2.c: Likewise.
65838         * lib/md4.c: Likewise.
65839         * lib/memxor.c: Likewise.
65840         * lib/read-file.c: Likewise.
65841         * lib/readline.c: Likewise.
65842         * lib/rijndael-alg-fst.c: Likewise.
65843         * lib/rijndael-api-fst.c: Likewise.
65844         * lib/xgetdomainname.c: Likewise.
65845
65846 2006-10-28  Eric Blake  <ebb9@byu.net>
65847
65848         * lib/xstrndup.c: Assume config.h.
65849
65850 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65851
65852         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
65853         stat-macros.h is now for our own macros, whereas stat_h is for
65854         macros in the <sys/stat.h> name space.
65855         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
65856         (STAT_MACROS_H): Remove.
65857         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
65858         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
65859         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
65860         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
65861         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
65862         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
65863         Move these macros to ...
65864         * lib/stat_.h: here.  Don't include stat-macros.h.
65865         * lib/canonicalize.c: Don't include stat-macros.h.
65866         * lib/chown.c: Likewise.
65867         * lib/euidaccess.c: Likewise.
65868         * lib/file-type.c: Likewise.
65869         * lib/filemode.c: Likewise.
65870         * lib/glob.c: Likewise.
65871         * lib/isapipe.c: Likewise.
65872         * lib/lchown.c: Likewise.
65873         * lib/lstat.c: Likewise.
65874         * lib/mkdir-p.c: Likewise.
65875         * lib/rmdir.c: Likewise.
65876         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
65877         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
65878         unless mkdir isn't declared, to speed up 'configure'.
65879         Always create sys/stat.h, since it's unlikely any real sys/stat.h
65880         would define all the S_* symbols.
65881         * modules/canonicalize (Depends-on):
65882         Depend on sys_stat, not stat-macros.
65883         * modules/chown: Likewise.
65884         * modules/euidaccess: Likewise.
65885         * modules/filemode: Likewise.
65886         * modules/file-type: Likewise.
65887         * modules/glob: Likewise.
65888         * modules/isapipe: Likewise.
65889         * modules/lchown: Likewise.
65890         * modules/lstat: Likewise.
65891         * modules/mkancesdirs: Likewise.
65892         * modules/rmdir: Likewise.
65893         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
65894         * modules/modechange: Likewise.
65895         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
65896         (configure.ac): Remove gl_STAT_MACROS.
65897         * modules/sys_stat (Depends-on): Remove stat-macros.
65898
65899 2006-10-27  Bruno Haible  <bruno@clisp.org>
65900
65901         * m4/signed.m4: Remove file.
65902         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
65903         invocation.
65904         * modules/vasnprintf (Files): Remove m4/signed.m4.
65905
65906 2006-10-27  Bruno Haible  <bruno@clisp.org>
65907
65908         Update to GNU gettext 0.16.
65909         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
65910         m4/inttypes-h.m4, m4/signed.m4.
65911         * m4/gettext.m4: Update to GNU gettext 0.16.
65912         * m4/intl.m4: New file, from GNU gettext.
65913         * m4/intldir.m4: New file, from GNU gettext.
65914         * config/srclist.txt: Update
65915
65916 2006-10-27  Eric Blake  <ebb9@byu.net>
65917
65918         * MODULES.html.sh: Document tempname.
65919         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
65920         dependencies.
65921         (Files): Move lib/tempname.c...
65922         * modules/tempname: ...to this new module.
65923         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
65924         (gl_PREREQ_TEMPNAME): Move...
65925         * m4/tempname.m4: ...to this new file.
65926         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
65927         * modules/sys_stat (Depends-on): Add stat-macros.
65928         * lib/stat_.h (includes): Pick up stat macros.
65929         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
65930         if stat macros are broken.
65931         * lib/tempname.c (includes): No need to include "stat-macros.h".
65932         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
65933         (direxists, __path_search) [!_LIBC]: Don't compile these in
65934         gnulib; the tmpdir module covers that.
65935         * lib/tempname.h: New file.
65936
65937 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
65938
65939         * COPYING: Explain how gnulib-tool converts licence headers.
65940         Almost all wording by Eric Blake.
65941
65942 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
65943
65944         * lib/mbchar.h (is_basic_table): Make read-only.
65945         * lib/mbchar.c (is_basic_table): Likewise.
65946         Reported by John Darrington.
65947
65948 2006-10-25  Bruno Haible  <bruno@clisp.org>
65949
65950         * lib/progname.h (set_program_name): Undefine before defining.
65951
65952 2006-10-25  Bruno Haible  <bruno@clisp.org>
65953
65954         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
65955         false for non-gcc C++ compilers.
65956         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
65957
65958 2006-10-24  Bruno Haible  <bruno@clisp.org>
65959
65960         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
65961         iconv implementations like Irix iconv.
65962
65963 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65964
65965         * modules/vararrays: New file.
65966         * m4/vararrays.m4: New file, taken from diffutils.
65967         * MODULES.html.sh: New module vararrays.
65968
65969 2006-10-24  Karl Berry  <karl@gnu.org>
65970
65971         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
65972         Don't call GNU Unix.
65973
65974 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65975
65976         * users.txt: Add Libtool.
65977
65978         Sync from Libtool:
65979
65980         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65981
65982         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
65983         to gnulib's policy of including config.h unconditionally.
65984
65985 2006-10-24  Bruno Haible  <bruno@clisp.org>
65986
65987         * modules/wcwidth (Files): Add m4/wint_t.m4.
65988         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
65989         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
65990
65991 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65992
65993         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
65994         to pacify GCC with some -W flags enabled.  Problem reported by
65995         Bruno Haible.
65996
65997 2006-10-24  Jim Meyering  <jim@meyering.net>
65998
65999         * MODULES.html.sh: Remove uinttostr.  It's not a module.
66000         Reported by Karl Berry.
66001
66002 2006-10-23  Bruno Haible  <bruno@clisp.org>
66003
66004         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
66005
66006 2006-10-24  Bruno Haible  <bruno@clisp.org>
66007
66008         * lib/gl_list.h: Use C comment style, not C++ comment style.
66009
66010 2006-10-23  Eric Blake  <ebb9@byu.net>
66011
66012         * lib/getaddrinfo.c (includes): Add missing include.
66013
66014 2006-10-23  Bruno Haible  <bruno@clisp.org>
66015             Paul Eggert  <eggert@cs.ucla.edu>
66016
66017         Ability to rename obstack_free.
66018         * lib/obstack.h (__obstack_free): New macro. Declare instead of
66019         obstack_free.
66020         (obstack_free): Invoke the __obstack_free macro.
66021         * lib/obstack.c (obstack_free): Use __obstack_free macro.
66022
66023 2006-10-23  Bruno Haible  <bruno@clisp.org>
66024             Paul Eggert  <eggert@cs.ucla.edu>
66025
66026         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
66027         __argc, __argv from the declaration. (They are defined as macros on
66028         mingw.)
66029
66030 2006-10-22  Bruno Haible  <bruno@clisp.org>
66031
66032         * doc/gnulib-intro.texi: New file.
66033         * doc/gnulib.texi: Include it.
66034
66035 2006-10-21  Bruno Haible  <bruno@clisp.org>
66036
66037         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
66038         "Introduction", "Miscellanous Notes", "Particular Modules".
66039
66040 2006-10-21  Bruno Haible  <bruno@clisp.org>
66041
66042         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66043         Change mostlyclean-local rule to avoid sh syntax error from bash
66044         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
66045
66046 2006-10-23  Jim Meyering  <jim@meyering.net>
66047
66048         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
66049         in place of snprintf.
66050
66051         * modules/inttostr (Files): Add lib/uinttostr.c.
66052         * lib/uinttostr.c (inttostr): New file/function.
66053         * lib/inttostr.h (uinttostr): Declare.
66054         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
66055         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66056         Add uinttostr.
66057         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
66058
66059 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66060
66061         * lib/canonicalize.c (ELOOP): Define if not already defined.
66062         Problem reported by Bruno Haible in
66063         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
66064
66065 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66066
66067         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
66068         Problem reported by Perry Smith and Ville Laurikari.
66069
66070         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
66071         uses.
66072
66073 2006-10-19  Bruno Haible  <bruno@clisp.org>
66074
66075         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
66076         for mingw.
66077
66078 2006-10-19  Bruno Haible  <bruno@clisp.org>
66079
66080         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
66081         Needed for mingw.
66082
66083 2006-10-19  Bruno Haible  <bruno@clisp.org>
66084
66085         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
66086
66087 2006-10-19  Bruno Haible  <bruno@clisp.org>
66088
66089         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
66090         it.
66091
66092 2006-10-19  Bruno Haible  <bruno@clisp.org>
66093
66094         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
66095         invocation.
66096
66097 2006-10-19  Bruno Haible  <bruno@clisp.org>
66098
66099         * gnulib-tool (func_create_testdir): Don't include ftruncate and
66100         mountlist by default.
66101
66102 2006-10-16  Bruno Haible  <bruno@clisp.org>
66103
66104         * lib/c-strstr.c: Include c-strstr.h.
66105
66106 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66107
66108         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
66109         in a slash.
66110
66111 2006-10-18  Bruno Haible  <bruno@clisp.org>
66112
66113         * lib/lock.h [C++]: Wrap definitions in extern "C".
66114
66115 2006-10-18  Bruno Haible  <bruno@clisp.org>
66116
66117         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
66118         gl_LIBOBJS list.
66119
66120 2006-10-18  Bruno Haible  <bruno@clisp.org>
66121
66122         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
66123
66124 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
66125
66126         * lib/xstrtol.h: Include gettext.h.
66127         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
66128         Problem reported by Eric Blake.
66129         * modules/xstrtol (Depends-on): Add gettext-h.
66130
66131 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
66132
66133         * lib/strftime.c (advance): New macro.
66134         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
66135         incomplete type, so you can't add 0 to it.  Problem and patch
66136         reported by Eelco Dolstra for dietlibc.
66137
66138 2006-10-18  Jim Meyering  <jim@meyering.net>
66139
66140         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
66141         type for a local, and rename it: s/up/user_proc/.
66142
66143 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
66144
66145         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
66146         READ_UTMP_USER_PROCESS.
66147         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
66148
66149 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66150
66151         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
66152         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
66153
66154 2006-10-17  Eric Blake  <ebb9@byu.net>
66155
66156         * lib/sigprocmask.c (sigprocmask): Fix typo.
66157
66158         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
66159
66160         * modules/clean-temp (Makefile.am): Don't add to make output...
66161         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
66162         config.h.
66163
66164 2006-10-17  Bruno Haible  <bruno@clisp.org>
66165
66166         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
66167         differently if DEFAULT_TEXT_DOMAIN is set.
66168
66169 2006-10-16  Bruno Haible  <bruno@clisp.org>
66170
66171         * lib/clean-temp.c: Include fwriteerror.h.
66172
66173 2006-10-16  Bruno Haible  <bruno@clisp.org>
66174
66175         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
66176
66177 2006-10-16  Bruno Haible  <bruno@clisp.org>
66178
66179         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
66180         * lib/sigprocmask.h: Include <sys/types.h>.
66181         (sigset_t): Use the system's definition if present.
66182
66183 2006-10-17  Eric Blake  <ebb9@byu.net>
66184
66185         * lib/xvasprintf.c (includes): Assume config.h.
66186         * lib/xasprintf.c (includes): Likewise.
66187
66188 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
66189
66190         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
66191         at least as wide as intmax_t.
66192
66193 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
66194
66195         (Imported from Automake.)
66196         * build-aux/gnupload: Update to version 1.1 of directive file.
66197
66198 2006-10-16  Eric Blake  <ebb9@byu.net>
66199
66200         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
66201         match Automake 1.10a.
66202
66203 2006-10-14  Bruno Haible  <bruno@clisp.org>
66204
66205         * modules/sigprocmask: New file.
66206         * lib/sigprocmask.h: New file.
66207         * lib/sigprocmask.c: New file.
66208         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
66209         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
66210         request sigprocmask.o.
66211         (gl_PREREQ_SIGPROCMASK): New macro.
66212         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
66213         (Depends-on): Add sigprocmask.
66214         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
66215         gt_SIGNALBLOCKING. Test for 'raise' only once.
66216         * lib/fatal-signal.c: Include sigprocmask.h.
66217         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
66218         unblock_fatal_signals): Define always.
66219         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66220         sigprocmask.
66221
66222 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66223
66224         Sync from Automake.
66225         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
66226         which incorrectly sets the mode of an existing destination
66227         directory.  In some cases the unpatched install-sh could do the
66228         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
66229         system.  We hope this is rare in practice, but it's clearly worth
66230         fixing.  Problem reported by Alex Unleashed in
66231         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
66232         Also, don't bother to check for -m bugs unless we're using -m;
66233         suggested by Stepan Kasal.
66234
66235 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66236
66237         Sync from Automake.
66238         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
66239         `-c' flag, so they appear at the same position as in %FASTDEP%
66240         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
66241         which ignores unknown options only after the first non-option.
66242         Bug report against M4 by Nelson H. F. Beebe.
66243
66244 2006-10-13  Jim Meyering  <jim@meyering.net>
66245
66246         Fix a bug in yesterday's change.
66247         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
66248         p->fts_statp->st_dev would be used uninitialized.
66249         Ensures that we always call fts_stat on the very first entry.
66250         Miklos Szeredi reported that find -xdev stopped working.
66251
66252 2006-10-12  Bruno Haible  <bruno@clisp.org>
66253
66254         * gnulib-tool (func_get_automake_snippet): Append an automatically
66255         computed EXTRA_DIST augmentation.
66256         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
66257         * modules/alloca-opt (Makefile.am): Likewise.
66258         * modules/allocsa (Makefile.am): Likewise.
66259         * modules/arcfour (Makefile.am): Likewise.
66260         * modules/arctwo (Makefile.am): Likewise.
66261         * modules/argmatch (Makefile.am): Likewise.
66262         * modules/argz (Makefile.am): Likewise.
66263         * modules/atexit (Makefile.am): Likewise.
66264         * modules/backupfile (Makefile.am): Likewise.
66265         * modules/byteswap (Makefile.am): Likewise.
66266         * modules/c-strtod (Makefile.am): Likewise.
66267         * modules/c-strtold (Makefile.am): Likewise.
66268         * modules/calloc (Makefile.am): Likewise.
66269         * modules/canon-host (Makefile.am): Likewise.
66270         * modules/canonicalize (Makefile.am): Likewise.
66271         * modules/chdir-long (Makefile.am): Likewise.
66272         * modules/chdir-safer (Makefile.am): Likewise.
66273         * modules/check-version (Makefile.am): Likewise.
66274         * modules/chown (Makefile.am): Likewise.
66275         * modules/cloexec (Makefile.am): Likewise.
66276         * modules/close-stream (Makefile.am): Likewise.
66277         * modules/closeout (Makefile.am): Likewise.
66278         * modules/crc (Makefile.am): Likewise.
66279         * modules/csharpexec (Makefile.am): Likewise.
66280         * modules/cycle-check (Makefile.am): Likewise.
66281         * modules/des (Makefile.am): Likewise.
66282         * modules/dev-ino (Makefile.am): Likewise.
66283         * modules/dirfd (Makefile.am): Likewise.
66284         * modules/dirname (Makefile.am): Likewise.
66285         * modules/dup2 (Makefile.am): Likewise.
66286         * modules/eealloc (Makefile.am): Likewise.
66287         * modules/error (Makefile.am): Likewise.
66288         * modules/euidaccess (Makefile.am): Likewise.
66289         * modules/exclude (Makefile.am): Likewise.
66290         * modules/exitfail (Makefile.am): Likewise.
66291         * modules/fcntl-safer (Makefile.am): Likewise.
66292         * modules/fcntl (Makefile.am): Likewise.
66293         * modules/file-type (Makefile.am): Likewise.
66294         * modules/fileblocks (Makefile.am): Likewise.
66295         * modules/filemode (Makefile.am): Likewise.
66296         * modules/filenamecat (Makefile.am): Likewise.
66297         * modules/fnmatch (Makefile.am): Likewise.
66298         * modules/fopen-safer (Makefile.am): Likewise.
66299         * modules/fpending (Makefile.am): Likewise.
66300         * modules/fprintftime (Makefile.am): Likewise.
66301         * modules/free (Makefile.am): Likewise.
66302         * modules/fsusage (Makefile.am): Likewise.
66303         * modules/ftruncate (Makefile.am): Likewise.
66304         * modules/fts (Makefile.am): Likewise.
66305         * modules/gc-arcfour (Makefile.am): Likewise.
66306         * modules/gc-des (Makefile.am): Likewise.
66307         * modules/gc-hmac-md5 (Makefile.am): Likewise.
66308         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
66309         * modules/gc-md4 (Makefile.am): Likewise.
66310         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66311         * modules/gc-sha1 (Makefile.am): Likewise.
66312         * modules/gc (Makefile.am): Likewise.
66313         * modules/getaddrinfo (Makefile.am): Likewise.
66314         * modules/getcwd (Makefile.am): Likewise.
66315         * modules/getdelim (Makefile.am): Likewise.
66316         * modules/getdomainname (Makefile.am): Likewise.
66317         * modules/getgroups (Makefile.am): Likewise.
66318         * modules/gethostname (Makefile.am): Likewise.
66319         * modules/gethrxtime (Makefile.am): Likewise.
66320         * modules/getline (Makefile.am): Likewise.
66321         * modules/getloadavg (Makefile.am): Likewise.
66322         * modules/getlogin_r (Makefile.am): Likewise.
66323         * modules/getndelim2 (Makefile.am): Likewise.
66324         * modules/getopt (Makefile.am): Likewise.
66325         * modules/getpagesize (Makefile.am): Likewise.
66326         * modules/getpass-gnu (Makefile.am): Likewise.
66327         * modules/getpass (Makefile.am): Likewise.
66328         * modules/getsubopt (Makefile.am): Likewise.
66329         * modules/gettime (Makefile.am): Likewise.
66330         * modules/gettimeofday (Makefile.am): Likewise.
66331         * modules/getugroups (Makefile.am): Likewise.
66332         * modules/getusershell (Makefile.am): Likewise.
66333         * modules/glob (Makefile.am): Likewise.
66334         * modules/group-member (Makefile.am): Likewise.
66335         * modules/hard-locale (Makefile.am): Likewise.
66336         * modules/hash (Makefile.am): Likewise.
66337         * modules/hmac-md5 (Makefile.am): Likewise.
66338         * modules/hmac-sha1 (Makefile.am): Likewise.
66339         * modules/human (Makefile.am): Likewise.
66340         * modules/idcache (Makefile.am): Likewise.
66341         * modules/imaxabs (Makefile.am): Likewise.
66342         * modules/imaxdiv (Makefile.am): Likewise.
66343         * modules/inet_ntop (Makefile.am): Likewise.
66344         * modules/inet_pton (Makefile.am): Likewise.
66345         * modules/intprops (Makefile.am): Likewise.
66346         * modules/inttostr (Makefile.am): Likewise.
66347         * modules/inttypes (Makefile.am): Likewise.
66348         * modules/isapipe (Makefile.am): Likewise.
66349         * modules/javaversion (Makefile.am): Likewise.
66350         * modules/lchmod (Makefile.am): Likewise.
66351         * modules/lchown (Makefile.am): Likewise.
66352         * modules/localcharset (Makefile.am): Likewise.
66353         * modules/long-options (Makefile.am): Likewise.
66354         * modules/lstat (Makefile.am): Likewise.
66355         * modules/malloc (Makefile.am): Likewise.
66356         * modules/mathl (Makefile.am): Likewise.
66357         * modules/mbchar (Makefile.am): Likewise.
66358         * modules/md2 (Makefile.am): Likewise.
66359         * modules/md4 (Makefile.am): Likewise.
66360         * modules/md5 (Makefile.am): Likewise.
66361         * modules/memcasecmp (Makefile.am): Likewise.
66362         * modules/memchr (Makefile.am): Likewise.
66363         * modules/memcmp (Makefile.am): Likewise.
66364         * modules/memcoll (Makefile.am): Likewise.
66365         * modules/memcpy (Makefile.am): Likewise.
66366         * modules/memmem (Makefile.am): Likewise.
66367         * modules/memmove (Makefile.am): Likewise.
66368         * modules/mempcpy (Makefile.am): Likewise.
66369         * modules/memrchr (Makefile.am): Likewise.
66370         * modules/memset (Makefile.am): Likewise.
66371         * modules/memxor (Makefile.am): Likewise.
66372         * modules/mkancesdirs (Makefile.am): Likewise.
66373         * modules/mkdir-p (Makefile.am): Likewise.
66374         * modules/mkdir (Makefile.am): Likewise.
66375         * modules/mkdtemp (Makefile.am): Likewise.
66376         * modules/mkstemp (Makefile.am): Likewise.
66377         * modules/mktime (Makefile.am): Likewise.
66378         * modules/modechange (Makefile.am): Likewise.
66379         * modules/mountlist (Makefile.am): Likewise.
66380         * modules/nanosleep (Makefile.am): Likewise.
66381         * modules/obstack (Makefile.am): Likewise.
66382         * modules/openat (Makefile.am): Likewise.
66383         * modules/pagealign_alloc (Makefile.am): Likewise.
66384         * modules/pathmax (Makefile.am): Likewise.
66385         * modules/physmem (Makefile.am): Likewise.
66386         * modules/poll (Makefile.am): Likewise.
66387         * modules/posixtm (Makefile.am): Likewise.
66388         * modules/posixver (Makefile.am): Likewise.
66389         * modules/putenv (Makefile.am): Likewise.
66390         * modules/quote (Makefile.am): Likewise.
66391         * modules/quotearg (Makefile.am): Likewise.
66392         * modules/raise (Makefile.am): Likewise.
66393         * modules/read-file (Makefile.am): Likewise.
66394         * modules/readline (Makefile.am): Likewise.
66395         * modules/readlink (Makefile.am): Likewise.
66396         * modules/readtokens (Makefile.am): Likewise.
66397         * modules/readutmp (Makefile.am): Likewise.
66398         * modules/realloc (Makefile.am): Likewise.
66399         * modules/regex (Makefile.am): Likewise.
66400         * modules/rename-dest-slash (Makefile.am): Likewise.
66401         * modules/rename (Makefile.am): Likewise.
66402         * modules/rijndael (Makefile.am): Likewise.
66403         * modules/rmdir (Makefile.am): Likewise.
66404         * modules/rpmatch (Makefile.am): Likewise.
66405         * modules/safe-read (Makefile.am): Likewise.
66406         * modules/safe-write (Makefile.am): Likewise.
66407         * modules/same-inode (Makefile.am): Likewise.
66408         * modules/same (Makefile.am): Likewise.
66409         * modules/save-cwd (Makefile.am): Likewise.
66410         * modules/savedir (Makefile.am): Likewise.
66411         * modules/setenv (Makefile.am): Likewise.
66412         * modules/settime (Makefile.am): Likewise.
66413         * modules/sha1 (Makefile.am): Likewise.
66414         * modules/sig2str (Makefile.am): Likewise.
66415         * modules/snprintf (Makefile.am): Likewise.
66416         * modules/stat-macros (Makefile.am): Likewise.
66417         * modules/stat-time (Makefile.am): Likewise.
66418         * modules/stdbool (Makefile.am): Likewise.
66419         * modules/stdint (Makefile.am): Likewise.
66420         * modules/stdlib-safer (Makefile.am): Likewise.
66421         * modules/stpcpy (Makefile.am): Likewise.
66422         * modules/stpncpy (Makefile.am): Likewise.
66423         * modules/strcase (Makefile.am): Likewise.
66424         * modules/strcasestr (Makefile.am): Likewise.
66425         * modules/strchrnul (Makefile.am): Likewise.
66426         * modules/strcspn (Makefile.am): Likewise.
66427         * modules/strdup (Makefile.am): Likewise.
66428         * modules/strerror (Makefile.am): Likewise.
66429         * modules/strftime (Makefile.am): Likewise.
66430         * modules/strndup (Makefile.am): Likewise.
66431         * modules/strnlen (Makefile.am): Likewise.
66432         * modules/strpbrk (Makefile.am): Likewise.
66433         * modules/strsep (Makefile.am): Likewise.
66434         * modules/strstr (Makefile.am): Likewise.
66435         * modules/strtod (Makefile.am): Likewise.
66436         * modules/strtoimax (Makefile.am): Likewise.
66437         * modules/strtok_r (Makefile.am): Likewise.
66438         * modules/strtol (Makefile.am): Likewise.
66439         * modules/strtoll (Makefile.am): Likewise.
66440         * modules/strtoul (Makefile.am): Likewise.
66441         * modules/strtoull (Makefile.am): Likewise.
66442         * modules/strtoumax (Makefile.am): Likewise.
66443         * modules/strverscmp (Makefile.am): Likewise.
66444         * modules/sys_socket (Makefile.am): Likewise.
66445         * modules/sys_stat (Makefile.am): Likewise.
66446         * modules/sysexits (Makefile.am): Likewise.
66447         * modules/time_r (Makefile.am): Likewise.
66448         * modules/timegm (Makefile.am): Likewise.
66449         * modules/timespec (Makefile.am): Likewise.
66450         * modules/tmpfile-safer (Makefile.am): Likewise.
66451         * modules/trim (Makefile.am): Likewise.
66452         * modules/unistd-safer (Makefile.am): Likewise.
66453         * modules/unlinkdir (Makefile.am): Likewise.
66454         * modules/unlocked-io (Makefile.am): Likewise.
66455         * modules/userspec (Makefile.am): Likewise.
66456         * modules/utime (Makefile.am): Likewise.
66457         * modules/utimecmp (Makefile.am): Likewise.
66458         * modules/utimens (Makefile.am): Likewise.
66459         * modules/vasnprintf (Makefile.am): Likewise.
66460         * modules/vasprintf (Makefile.am): Likewise.
66461         * modules/vsnprintf (Makefile.am): Likewise.
66462         * modules/xalloc (Makefile.am): Likewise.
66463         * modules/xgetcwd (Makefile.am): Likewise.
66464         * modules/xnanosleep (Makefile.am): Likewise.
66465         * modules/xreadlink (Makefile.am): Likewise.
66466         * modules/xstrtod (Makefile.am): Likewise.
66467         * modules/xstrtol (Makefile.am): Likewise.
66468         * modules/xstrtold (Makefile.am): Likewise.
66469         * modules/yesno (Makefile.am): Likewise.
66470         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66471
66472 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66473
66474         * modules/error (Makefile.am): Distribute files through
66475         EXTRA_DIST, not lib_SOURCES.
66476
66477 2006-10-12  Eric Blake  <ebb9@byu.net>
66478
66479         * modules/error (Makefile.am): Distribute files in /lib.
66480         * modules/obstack (Makefile.am): Likewise.
66481
66482 2006-10-12  Bruno Haible  <bruno@clisp.org>
66483
66484         * modules/acl (Makefile.am): Distribute all files in lib/ through
66485         EXTRA_DIST.
66486         * modules/arcfour (Makefile.am): Likewise.
66487         * modules/arctwo (Makefile.am): Likewise.
66488         * modules/argmatch (Makefile.am): Likewise.
66489         * modules/argz (Makefile.am): Likewise.
66490         * modules/atexit (Makefile.am): Likewise.
66491         * modules/backupfile (Makefile.am): Likewise.
66492         * modules/c-strtod (Makefile.am): Likewise.
66493         * modules/c-strtold (Makefile.am): Likewise.
66494         * modules/calloc (Makefile.am): Likewise.
66495         * modules/canon-host (Makefile.am): Likewise.
66496         * modules/canonicalize (Makefile.am): Likewise.
66497         * modules/chdir-long (Makefile.am): Likewise.
66498         * modules/chdir-safer (Makefile.am): Likewise.
66499         * modules/check-version (Makefile.am): Likewise.
66500         * modules/chown (Makefile.am): Likewise.
66501         * modules/cloexec (Makefile.am): Likewise.
66502         * modules/close-stream (Makefile.am): Likewise.
66503         * modules/closeout (Makefile.am): Likewise.
66504         * modules/crc (Makefile.am): Likewise.
66505         * modules/cycle-check (Makefile.am): Likewise.
66506         * modules/des (Makefile.am): Likewise.
66507         * modules/dirfd (Makefile.am): Likewise.
66508         * modules/dirname (Makefile.am): Likewise.
66509         * modules/dup2 (Makefile.am): Likewise.
66510         * modules/euidaccess (Makefile.am): Likewise.
66511         * modules/exclude (Makefile.am): Likewise.
66512         * modules/exitfail (Makefile.am): Likewise.
66513         * modules/fcntl-safer (Makefile.am): Likewise.
66514         * modules/file-type (Makefile.am): Likewise.
66515         * modules/fileblocks (Makefile.am): Likewise.
66516         * modules/filemode (Makefile.am): Likewise.
66517         * modules/filenamecat (Makefile.am): Likewise.
66518         * modules/fnmatch (Makefile.am): Likewise.
66519         * modules/fopen-safer (Makefile.am): Likewise.
66520         * modules/fpending (Makefile.am): Likewise.
66521         * modules/fprintftime (Makefile.am): Likewise.
66522         * modules/free (Makefile.am): Likewise.
66523         * modules/fsusage (Makefile.am): Likewise.
66524         * modules/ftruncate (Makefile.am): Likewise.
66525         * modules/fts (Makefile.am): Likewise.
66526         * modules/gc (Makefile.am): Likewise.
66527         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66528         * modules/getaddrinfo (Makefile.am): Likewise.
66529         * modules/getcwd (Makefile.am): Likewise.
66530         * modules/getdelim (Makefile.am): Likewise.
66531         * modules/getdomainname (Makefile.am): Likewise.
66532         * modules/getgroups (Makefile.am): Likewise.
66533         * modules/gethostname (Makefile.am): Likewise.
66534         * modules/gethrxtime (Makefile.am): Likewise.
66535         * modules/getline (Makefile.am): Likewise.
66536         * modules/getloadavg (Makefile.am): Likewise.
66537         * modules/getlogin_r (Makefile.am): Likewise.
66538         * modules/getopt (Makefile.am): Likewise.
66539         * modules/getpass (Makefile.am): Likewise.
66540         * modules/getpass-gnu (Makefile.am): Likewise.
66541         * modules/getsubopt (Makefile.am): Likewise.
66542         * modules/gettime (Makefile.am): Likewise.
66543         * modules/gettimeofday (Makefile.am): Likewise.
66544         * modules/getugroups (Makefile.am): Likewise.
66545         * modules/getusershell (Makefile.am): Likewise.
66546         * modules/glob (Makefile.am): Likewise.
66547         * modules/group-member (Makefile.am): Likewise.
66548         * modules/hard-locale (Makefile.am): Likewise.
66549         * modules/hash (Makefile.am): Likewise.
66550         * modules/hmac-md5 (Makefile.am): Likewise.
66551         * modules/hmac-sha1 (Makefile.am): Likewise.
66552         * modules/human (Makefile.am): Likewise.
66553         * modules/idcache (Makefile.am): Likewise.
66554         * modules/imaxabs (Makefile.am): Likewise.
66555         * modules/imaxdiv (Makefile.am): Likewise.
66556         * modules/inet_ntop (Makefile.am): Likewise.
66557         * modules/inet_pton (Makefile.am): Likewise.
66558         * modules/inttostr (Makefile.am): Likewise.
66559         * modules/isapipe (Makefile.am): Likewise.
66560         * modules/lchown (Makefile.am): Likewise.
66561         * modules/long-options (Makefile.am): Likewise.
66562         * modules/lstat (Makefile.am): Likewise.
66563         * modules/malloc (Makefile.am): Likewise.
66564         * modules/mathl (Makefile.am): Likewise.
66565         * modules/mbchar (Makefile.am): Likewise.
66566         * modules/md2 (Makefile.am): Likewise.
66567         * modules/md4 (Makefile.am): Likewise.
66568         * modules/md5 (Makefile.am): Likewise.
66569         * modules/memcasecmp (Makefile.am): Likewise.
66570         * modules/memchr (Makefile.am): Likewise.
66571         * modules/memcmp (Makefile.am): Likewise.
66572         * modules/memcoll (Makefile.am): Likewise.
66573         * modules/memcpy (Makefile.am): Likewise.
66574         * modules/memmem (Makefile.am): Likewise.
66575         * modules/memmove (Makefile.am): Likewise.
66576         * modules/mempcpy (Makefile.am): Likewise.
66577         * modules/memrchr (Makefile.am): Likewise.
66578         * modules/memset (Makefile.am): Likewise.
66579         * modules/memxor (Makefile.am): Likewise.
66580         * modules/mkancesdirs (Makefile.am): Likewise.
66581         * modules/mkdir (Makefile.am): Likewise.
66582         * modules/mkdir-p (Makefile.am): Likewise.
66583         * modules/mkdtemp (Makefile.am): Likewise.
66584         * modules/mkstemp (Makefile.am): Likewise.
66585         * modules/mktime (Makefile.am): Likewise.
66586         * modules/modechange (Makefile.am): Likewise.
66587         * modules/mountlist (Makefile.am): Likewise.
66588         * modules/nanosleep (Makefile.am): Likewise.
66589         * modules/openat (Makefile.am): Likewise.
66590         * modules/pagealign_alloc (Makefile.am): Likewise.
66591         * modules/physmem (Makefile.am): Likewise.
66592         * modules/poll (Makefile.am): Likewise.
66593         * modules/posixtm (Makefile.am): Likewise.
66594         * modules/posixver (Makefile.am): Likewise.
66595         * modules/putenv (Makefile.am): Likewise.
66596         * modules/quote (Makefile.am): Likewise.
66597         * modules/quotearg (Makefile.am): Likewise.
66598         * modules/raise (Makefile.am): Likewise.
66599         * modules/read-file (Makefile.am): Likewise.
66600         * modules/readline (Makefile.am): Likewise.
66601         * modules/readlink (Makefile.am): Likewise.
66602         * modules/readtokens (Makefile.am): Likewise.
66603         * modules/readutmp (Makefile.am): Likewise.
66604         * modules/realloc (Makefile.am): Likewise.
66605         * modules/regex (Makefile.am): Likewise.
66606         * modules/rename (Makefile.am): Likewise.
66607         * modules/rename-dest-slash (Makefile.am): Likewise.
66608         * modules/rijndael (Makefile.am): Likewise.
66609         * modules/rmdir (Makefile.am): Likewise.
66610         * modules/rpmatch (Makefile.am): Likewise.
66611         * modules/safe-read (Makefile.am): Likewise.
66612         * modules/safe-write (Makefile.am): Likewise.
66613         * modules/same (Makefile.am): Likewise.
66614         * modules/save-cwd (Makefile.am): Likewise.
66615         * modules/savedir (Makefile.am): Likewise.
66616         * modules/setenv (Makefile.am): Likewise.
66617         * modules/settime (Makefile.am): Likewise.
66618         * modules/sha1 (Makefile.am): Likewise.
66619         * modules/sig2str (Makefile.am): Likewise.
66620         * modules/snprintf (Makefile.am): Likewise.
66621         * modules/stdlib-safer (Makefile.am): Likewise.
66622         * modules/stpcpy (Makefile.am): Likewise.
66623         * modules/stpncpy (Makefile.am): Likewise.
66624         * modules/strcase (Makefile.am): Likewise.
66625         * modules/strcasestr (Makefile.am): Likewise.
66626         * modules/strchrnul (Makefile.am): Likewise.
66627         * modules/strcspn (Makefile.am): Likewise.
66628         * modules/strdup (Makefile.am): Likewise.
66629         * modules/strerror (Makefile.am): Likewise.
66630         * modules/strftime (Makefile.am): Likewise.
66631         * modules/strndup (Makefile.am): Likewise.
66632         * modules/strnlen (Makefile.am): Likewise.
66633         * modules/strpbrk (Makefile.am): Likewise.
66634         * modules/strsep (Makefile.am): Likewise.
66635         * modules/strstr (Makefile.am): Likewise.
66636         * modules/strtod (Makefile.am): Likewise.
66637         * modules/strtoimax (Makefile.am): Likewise.
66638         * modules/strtok_r (Makefile.am): Likewise.
66639         * modules/strtol (Makefile.am): Likewise.
66640         * modules/strtoll (Makefile.am): Likewise.
66641         * modules/strtoul (Makefile.am): Likewise.
66642         * modules/strtoull (Makefile.am): Likewise.
66643         * modules/strtoumax (Makefile.am): Likewise.
66644         * modules/strverscmp (Makefile.am): Likewise.
66645         * modules/time_r (Makefile.am): Likewise.
66646         * modules/timegm (Makefile.am): Likewise.
66647         * modules/tmpfile-safer (Makefile.am): Likewise.
66648         * modules/unistd-safer (Makefile.am): Likewise.
66649         * modules/unlinkdir (Makefile.am): Likewise.
66650         * modules/userspec (Makefile.am): Likewise.
66651         * modules/utime (Makefile.am): Likewise.
66652         * modules/utimecmp (Makefile.am): Likewise.
66653         * modules/utimens (Makefile.am): Likewise.
66654         * modules/vasnprintf (Makefile.am): Likewise.
66655         * modules/vasprintf (Makefile.am): Likewise.
66656         * modules/vsnprintf (Makefile.am): Likewise.
66657         * modules/xalloc (Makefile.am): Likewise.
66658         * modules/xgetcwd (Makefile.am): Likewise.
66659         * modules/xnanosleep (Makefile.am): Likewise.
66660         * modules/xreadlink (Makefile.am): Likewise.
66661         * modules/xstrtod (Makefile.am): Likewise.
66662         * modules/xstrtol (Makefile.am): Likewise.
66663         * modules/xstrtold (Makefile.am): Likewise.
66664         * modules/yesno (Makefile.am): Likewise.
66665
66666 2006-10-12  Jim Meyering  <jim@meyering.net>
66667
66668         * m4/getloadavg.m4: Revert the change below.
66669
66670         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
66671         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
66672         fail with a symlink, which is what coreutils' ./bootstrap now
66673         creates by default.
66674
66675 2006-10-12  Bruno Haible  <bruno@clisp.org>
66676
66677         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
66678         mingw.
66679         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
66680         MSVC and mingw explicitly.
66681
66682 2006-10-11  Simon Josefsson  <jas@extundo.com>
66683             Bruno Haible  <bruno@clisp.org>
66684
66685         Add support for multiple gnulib-tool invocations in the scope of a
66686         single configure.ac file.
66687         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
66688         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
66689         with the same contents as the _LIBADD variable.
66690         (func_emit_initmacro_start, func_emit_initmacro_end,
66691         func_emit_initmacro_done): New functions.
66692         (func_import, func_create_testdir): Invoke them. Allow the identifiers
66693         gl_LIBOBJS and gl_LTLIBOBJS.
66694
66695 2006-10-11  Bruno Haible  <bruno@clisp.org>
66696
66697         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
66698         (func_create_testdir): Don't create po/Makefile.am, don't invoke
66699         autoreconf. Instead, invoke autopoint explicitly but move back the
66700         *.m4 files from gnulib.
66701
66702 2006-10-11  Bruno Haible  <bruno@clisp.org>
66703
66704         * gnulib-tool (func_usage): Make module names after --create-testdir
66705         optional.
66706         (func_create_testdir): If no module was specified, use nearly all
66707         modules.
66708
66709 2006-10-12  Jim Meyering  <jim@meyering.net>
66710
66711         Big performance improvement for fts-based tools that use FTS_NOSTAT.
66712         Avoid spurious inode-mismatch problems on non-POSIX file systems.
66713         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
66714         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
66715         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
66716         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
66717         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
66718         (fts_set_stat_required): New function.
66719         (fts_open): Defer the calls to fts_stat, if possible or requested.
66720         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
66721         into fts_stat itself.
66722         (fts_read): Perform any required (deferred) fts_stat call.
66723         (fts_build): Likewise, for the directory we're about to open and read.
66724         In the readdir loop, carefully decide whether each entry will require
66725         an eventual call to fts_stat, using dirent.d_type info if available.
66726         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
66727         a command line argument into this function.  Update all callers.
66728         Map a return value of FTS_DOT to FTS_D for a command line argument.
66729         * modules/fts (Depends-on): Add d-type.  Alphabetize.
66730         Thanks to Miklos Szeredi for his tenacity and for the initial
66731         bug report about "find" failing on a FUSE-based file system.
66732
66733         * lib/fts.c (fts_open): Use consistent indentation.
66734
66735 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66736
66737         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
66738         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
66739         reported by Jim Meyering.  All uses of cache variables renamed
66740         to match Autoconf's.
66741         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
66742         the other one.
66743
66744         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
66745         Fix misspelling in diagnostic.
66746
66747 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66748
66749         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
66750         defined.  Problem reported by Matthew Woehlke.
66751
66752         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
66753         Add support for Tandem NonStop R series.
66754         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
66755         Use new macro.
66756
66757         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
66758         (has_trailing_slash): Omit size arg; all callers changed.
66759         Omit 'inline', since it doesn't help performance and we'd
66760         need to configure it.
66761         Don't count //, ///, etc. as having a trailing slash.
66762         As a side effect, this removes a C99ism reported by Matthew Woehlke.
66763         (rpl_rename_dest_slash): On failure, use rename's errno rather
66764         than (in some cases) an incorrect or junk errno.
66765         Simplify code by removing need to compute length; this does
66766         cause it to make two passes instead of one over the file name,
66767         but it's worth it.
66768
66769         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
66770         change, since Autoconf's version may no longer be appropriate now
66771         that we are using CVS Autoconf's version.  Add support for Tandem.
66772
66773 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66774             Bruno Haible  <bruno@clisp.org>
66775
66776         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
66777         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
66778         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
66779         gl_AC_TYPE_LONG_LONG.
66780
66781         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
66782         instead of HAVE_LONG_LONG.
66783         * lib/printf-args.c (printf_fetchargs): Likewise.
66784         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
66785         * lib/vasnprintf.c (VASNPRINTF): Likewise.
66786         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
66787         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
66788         gl_AC_TYPE_LONG_LONG.
66789
66790 2006-10-11  Bruno Haible  <bruno@clisp.org>
66791
66792         * m4/longlong.m4: Add comments.
66793         * m4/ulonglong.m4: Likewise.
66794
66795 2006-10-10  Bruno Haible  <bruno@clisp.org>
66796
66797         Make it possible to #define stpcpy, strdup to aliases.
66798         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
66799         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
66800
66801 2006-10-10  Bruno Haible  <bruno@clisp.org>
66802
66803         Make it possible to #define gcd to an alias.
66804         * lib/gcd.c: Include config.h.
66805
66806 2006-10-10  Bruno Haible  <bruno@clisp.org>
66807
66808         Make it possible to #define c_isascii to an alias.
66809         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
66810         defined. Undefine the macros before defining them, to avoid gcc
66811         warnings.
66812         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
66813         define NO_C_CTYPE_MACROS early.
66814
66815 2006-10-10  Bruno Haible  <bruno@clisp.org>
66816
66817         Make it possible to #define set_program_name to an alias.
66818         * lib/progname.c: Don't undefine set_program_name; instead, undefine
66819         ENABLE_RELOCATABLE early.
66820
66821 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66822
66823         Port to Tandem NSK OSS, which has 64-bit signed int but at most
66824         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
66825         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
66826         More generally, don't assume that 64-bit signed int is available
66827         if unsigned int is, and vice versa.
66828         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
66829         unsigned symbols, not on their signed counterparts.
66830         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
66831         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
66832         (UINT64_C, UINTMAX_C):
66833         Likewise.
66834         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
66835         unsigned counterparts.
66836         (Have_long_long, Unsigned): New macros.
66837         (Int): Renamed from INT.
66838         (strtoimax): Use the new macros.
66839         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
66840         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
66841         * modules/inttypes (inttypes.h): Substitute
66842         HAVE_UNSIGNED_LONG_LONG_INT.
66843         * modules/stdint (stdint.h): Likewise.
66844         (Files): Add m4/ulonglong.m4.
66845
66846 2006-10-10  Bruno Haible  <bruno@clisp.org>
66847
66848         Fix a gcc -Wshadow warning.
66849         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
66850         to 'bucket'.
66851         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
66852         gl_linked_indexof_from_to): Likewise.
66853         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
66854         Likewise.
66855         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
66856         Likewise.
66857         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
66858         Reported by Eric Blake.
66859
66860 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
66861
66862         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
66863         for NetBSD.  Problem reported by Bruno Haible.
66864
66865 2006-10-09  Jim Meyering  <jim@meyering.net>
66866
66867         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
66868         Patch from Bruno Haible.
66869
66870 2006-10-09  Jim Meyering  <jim@meyering.net>
66871
66872         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
66873         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
66874         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
66875
66876 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66877
66878         Don't include <config.h> twice; this doesn't work in some cases,
66879         e.g., when config.h has "#define intmax_t long long int" and
66880         we include <config.h>, <inttypes.h>, <config.h> in that order.
66881         Problem reported by Matthew Woehlke in:
66882         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
66883         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
66884         * lib/fts-cycle.c: Don't include config.h.
66885         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
66886         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
66887         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
66888         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
66889         inttypes.h.
66890         * lib/xstrtoumax.c: Likewise.
66891         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
66892         __strtol and the like, so that this module is more like its siblings.
66893         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
66894         Remove; no longer needed now that we assume gnulib inttypes.h.
66895
66896 2006-10-08  Bruno Haible  <bruno@clisp.org>
66897
66898         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
66899         option.
66900
66901 2006-10-07  Jim Meyering  <jim@meyering.net>
66902
66903         * modules/inttypes (inttypes.h): Revert what seems to have been
66904         an inadvertent part of today's change: use "|", not "/" in the
66905         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
66906
66907 2006-10-07  Bruno Haible  <bruno@clisp.org>
66908
66909         * modules/sublist: New file.
66910
66911 2006-10-07  Bruno Haible  <bruno@clisp.org>
66912
66913         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
66914         * modules/argz (argz.h): Likewise.
66915         * modules/arpa_inet (arpa/inet.h): Likewise.
66916         * modules/byteswap (byteswap.h): Likewise.
66917         * modules/configmake (configmake.h): Likewise.
66918         * modules/fcntl (fcntl.h): Likewise.
66919         * modules/fnmatch (fnmatch.h): Likewise.
66920         * modules/getopt (getopt.h): Likewise.
66921         * modules/glob (glob.h): Likewise.
66922         * modules/inttypes (inttypes.h): Likewise.
66923         * modules/netinet_in (netinet/in.h): Likewise.
66924         * modules/poll (poll.h): Likewise.
66925         * modules/stdbool (stdbool.h): Likewise.
66926         * modules/stdint (stdint.h): Likewise.
66927         * modules/sys_select (sys/select.h): Likewise.
66928         * modules/sys_socket (sys/socket.h): Likewise.
66929         * modules/sys_stat (sys/stat.h): Likewise.
66930         * modules/sysexits (sysexits.h): Likewise.
66931         * modules/unistd (unistd.h): Likewise.
66932         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66933         Add a "DO NOT EDIT" comment to the generated file.
66934         (func_import): Likewise for gnulib-comp.m4.
66935
66936 2006-10-07  Bruno Haible  <bruno@clisp.org>
66937
66938         * lib/gl_sublist.h: New file.
66939         * lib/gl_sublist.c: New file.
66940
66941 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
66942
66943         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
66944         name (relative to the original working directory) and the file
66945         name component (relative to the temporary working directory).  All
66946         callers changed.
66947         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
66948         * lib/mkdir-p.c (make_dir_parents): Likewise.
66949         * lib/mkdir-p.h (make_dir_parents): Likewise.
66950
66951 2006-10-06  Eric Blake  <ebb9@byu.net>
66952
66953         Define several macros for use by the clean-temp module.
66954         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
66955         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
66956         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
66957
66958         * lib/clean-temp.h (close_stream_temp): New declaration.
66959         * lib/clean-temp.c (includes): Pull in headers according to what
66960         other modules are in use.
66961         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
66962
66963 2006-10-06  Bruno Haible  <bruno@clisp.org>
66964
66965         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
66966         instead of fopen, fwriteerror.
66967
66968 2006-10-06  Bruno Haible  <bruno@clisp.org>
66969
66970         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
66971         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
66972         int.
66973         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
66974         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
66975         Return an error indicator.
66976         Suggested by Eric Blake.
66977
66978 2006-10-06  Bruno Haible  <bruno@clisp.org>
66979
66980         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
66981         Reported by Eric Blake.
66982
66983 2006-10-06  Bruno Haible  <bruno@clisp.org>
66984
66985         * modules/closeout (Description): Mention stderr too.
66986
66987 2006-10-06  Bruno Haible  <bruno@clisp.org>
66988         and Paul Eggert  <eggert@cs.ucla.edu>
66989
66990         * lib/closeout.c (close_stdout): Also close stderr.
66991         * lib/closeout.h: Update comment.
66992
66993 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
66994
66995         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
66996         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
66997         * lib/dirchownmod.c: Include lchown.h.
66998         * lib/lchown.c: Don't include files that lchown.h now includes.
66999         Don't declare chown, since lchown.h now does that.
67000         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
67001         (lchown): Define to rpl_chown if lchown is declared but
67002         does not exist.  Declare using a prototype if lchown is not
67003         declared.  Add a copyright notice.
67004         * lib/mkstemp.h: Include <unistd.h>.
67005         * lib/openat.c: Include lchown.h.
67006
67007         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
67008         we now test for that separately.
67009         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
67010         rather than O_NOFOLLOW, when testing whether it's possible to
67011         avoid a race condition reliably.
67012         * lib/savewd.c (savewd_chdir): Likewise.
67013
67014         Remove macros that are no longer needed now that stdint.h is
67015         reliable.
67016         * lib/fsusage.c (UINTMAX_MAX): Remove.
67017         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
67018         * lib/utimecmp.c (SIZE_MAX): Remove.
67019
67020         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
67021
67022         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
67023         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
67024         O_NOATIME works.
67025
67026 2006-10-05  Bruno Haible  <bruno@clisp.org>
67027
67028         * lib/gl_list.h (gl_sortedlist_search_from_to,
67029         gl_sortedlist_indexof_from_to): New declarations.
67030         (gl_list_implementation): New fields sortedlist_search_from_to,
67031         sortedlist_indexof_from_to.
67032         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
67033         inline functions.
67034         * lib/gl_list.c (gl_sortedlist_search_from_to,
67035         gl_sortedlist_indexof_from_to): New functions.
67036         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
67037         function.
67038         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
67039         (gl_array_sortedlist_search_from_to): New function.
67040         (gl_array_list_implementation): Update.
67041         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
67042         function.
67043         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
67044         (gl_carray_sortedlist_search_from_to): New function.
67045         (gl_carray_list_implementation): Update.
67046         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
67047         gl_linked_sortedlist_indexof_from_to): New functions.
67048         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67049         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67050         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
67051         gl_tree_sortedlist_indexof_from_to): New functions.
67052         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67053         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67054         Update.
67055         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67056         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
67057         Update.
67058
67059 2006-10-05  Bruno Haible  <bruno@clisp.org>
67060
67061         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
67062         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
67063         (struct gl_list_implementation): Add fields search_from_to,
67064         indexof_from_to. Remove fields search, indexof.
67065         (gl_list_search): Use the search_from_to method.
67066         (gl_list_search_from, gl_list_search_from_to): New functions.
67067         (gl_list_indexof): Use the indexof_from_to method.
67068         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67069         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
67070         (gl_list_search_from, gl_list_search_from_to): New functions.
67071         (gl_list_indexof): Use the indexof_from_to method.
67072         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67073         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
67074         gl_array_indexof. Add start_index, end_index arguments.
67075         (gl_array_search_from_to): Renamed from gl_array_search. Add
67076         start_index, end_index arguments.
67077         (gl_array_remove, gl_array_list_implementation): Update.
67078         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
67079         gl_carray_indexof. Add start_index, end_index arguments.
67080         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
67081         start_index, end_index arguments.
67082         (gl_carray_remove, gl_carray_list_implementation): Update.
67083         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
67084         gl_linked_search. Add start_index, end_index arguments.
67085         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
67086         start_index, end_index arguments.
67087         (gl_linked_remove): Update.
67088         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67089         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67090         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
67091         field to 'size_t'.
67092         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
67093         gl_tree_search. Add start_index, end_index arguments.
67094         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67095         start_index, end_index arguments.
67096         (gl_tree_remove): Update.
67097         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67098         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67099         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
67100         function.
67101         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
67102         gl_tree_search. Add start_index, end_index arguments.
67103         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67104         start_index, end_index arguments.
67105         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67106         Update.
67107         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
67108
67109 2006-10-05  Bruno Haible  <bruno@clisp.org>
67110
67111         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
67112
67113         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
67114         fwriteerror_temp): New declarations.
67115         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
67116         (descriptors): New variable.
67117         (cleanup): First, close the descriptors.
67118         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
67119         fclose_temp, fwriteerror_temp): New functions.
67120
67121 2006-10-04  Jim Meyering  <jim@meyering.net>
67122
67123         * lib/fts.c (fts_open): Tiny comment change.
67124
67125 2006-10-04  Bruno Haible  <bruno@clisp.org>
67126
67127         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
67128         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
67129         gl_LOCK_BODY.
67130         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
67131         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
67132         gl_LOCK_EARLY_BODY.
67133         (gl_LOCK): Require gl_LOCK_BODY.
67134
67135 2006-10-04  Bruno Haible  <bruno@clisp.org>
67136
67137         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
67138         (gl_oset_search_atleast): New declaration.
67139         (struct gl_oset_implementation): Add field 'search_atleast'.
67140         (gl_oset_search_atleast): New inline function.
67141         * lib/gl_oset.c (gl_oset_search_atleast): New function.
67142         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
67143         (gl_array_oset_implementation): Update.
67144         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
67145         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
67146         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
67147
67148 2006-10-04  Bruno Haible  <bruno@clisp.org>
67149
67150         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
67151
67152 2006-10-03  Bruno Haible  <bruno@clisp.org>
67153
67154         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
67155         from gl_avltreehash_list_implementation.
67156
67157 2006-10-03  Bruno Haible  <bruno@clisp.org>
67158
67159         * lib/gl_oset.c (gl_oset_add): Fix return type.
67160
67161 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
67162
67163         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
67164
67165 2006-10-02  Eric Blake  <ebb9@byu.net>
67166
67167         * modules/strnlen (Depends-on): Add extensions.
67168
67169 2006-10-02  Eric Blake  <ebb9@byu.net>
67170
67171         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
67172         definition in 2.60+.
67173
67174 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
67175
67176         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
67177         checks.
67178
67179 2006-10-02  Bruno Haible  <bruno@clisp.org>
67180
67181         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
67182         to the AUTOMAKE_OPTIONS.
67183         Reported by Jim Meyering.
67184
67185 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67186
67187         Work around bug in Solaris 10 /proc file system:
67188         /proc/self/fd/NNN/.. isn't the parent directory of
67189         the directory whose file descriptor is NNN.  This needs to
67190         be worked around at run time, not compile time, since a
67191         program might be built on Solaris 8, where things work, and
67192         run on Solaris 10.
67193         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
67194         to use the following interface instead:
67195         (OPENAT_BUFFER_SIZE): New macro.
67196         (openat_proc_name): New function.
67197         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
67198         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
67199         Likewise.
67200         * lib/openat-proc.c: New file.
67201         * modules/openat (Files): Add lib/openat-proc.c.
67202         (Depends-on): Add same-inode, stdbool.
67203         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
67204
67205 2006-09-29  Bruno Haible  <bruno@clisp.org>
67206
67207         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
67208         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
67209         argument. Set stdout_closed before testing for ferror, not after.
67210         (fwriteerror, fwriteerror_no_ebadf): New functions.
67211
67212 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67213
67214         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
67215
67216 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
67217
67218         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
67219         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
67220
67221 2006-09-28  Jim Meyering  <jim@meyering.net>
67222
67223         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
67224         Include <unistd.h>.
67225
67226 2006-09-28  Bruno Haible  <bruno@clisp.org>
67227
67228         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
67229         * modules/linkedhash-list (Depends-on): Likewise.
67230         * modules/rbtreehash-list (Depends-on): Likewise.
67231
67232 2006-09-28  Bruno Haible  <bruno@clisp.org>
67233
67234         * lib/strndup.h: Simplify the redefinition of strndup.
67235         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
67236         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
67237
67238 2006-09-28  Bruno Haible  <bruno@clisp.org>
67239
67240         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
67241         * lib/gl_linkedhash_list.c: Likewise.
67242         * lib/gl_rbtreehash_list.c: Likewise.
67243
67244 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67245
67246         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
67247         getaddrinfo.
67248
67249         * lib/__fpending.h: Don't include <stdio_ext.h> unless
67250         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
67251         it causes <stdio_ext.h> to cause a compile-time error.
67252         Problem reported by Nelson H. F. Beebe.
67253         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
67254         of HAVE_DECL___PENDING.
67255
67256         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
67257         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
67258         declaration.
67259
67260 2006-09-27  Jim Meyering  <jim@meyering.net>
67261
67262         This file could end up with a definition for a function
67263         named __strndup, rather than rpl_strndup on a system with
67264         incomplete weak_alias support.
67265         * lib/strndup.c (strndup): Rename from __strndup.
67266         Remove #defines that used to map __strndup to strndup.
67267         Don't use K&R prototypes.
67268         Remove LIBC-related code, since this file is not sync'd with glibc.
67269         * lib/strndup.h: Revamp, accordingly.
67270         * m4/strndup.m4: Modernize.
67271
67272 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67273
67274         * modules/savewd (Depends-on): Add 'raise'.
67275         * lib/savewd.c: Include <signal.h>, for 'raise'.
67276
67277 2006-09-26  Jim Meyering  <jim@meyering.net>
67278
67279         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
67280         when we detect Darwin 8.7.0's acl_get_file bug.
67281         Rearrange to perform the new (below) run-test while $LIBS
67282         contains any acl-related library.  Set USE_ACL at the end.
67283         (gl_ACL_GET_FILE): New function.
67284
67285 2006-09-26  Eric Blake  <ebb9@byu.net>
67286
67287         * lib/verror.c: Include <config.h> unconditionally.
67288
67289 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
67290
67291         * modules/clock-time (Maintainer): Add self.
67292         * modules/getlogin_r (Depends-on): Add extensions.
67293
67294 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67295
67296         * modules/clock-time: New module.
67297         * modules/nanosleep (Depends-on): Add clock-time.
67298         * modules/gethrxtime (Depends-on): Likewise.
67299         * modules/gettime (Depends-on): Likewise.
67300         * modules/settime (Depends-on): Likewise.
67301
67302         * modules/fts-lgpl: Depend on openat.
67303         * modules/mkancesdirs: Depend on savewd.
67304         * modules/mkdir-p: Likewise.
67305
67306 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67307
67308         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
67309
67310         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
67311         `gl_have_arbitrary_file_name_length_limit' to
67312         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
67313         actually works between configure runs.
67314
67315 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67316             Bruno Haible  <bruno@clisp.org>
67317
67318         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
67319
67320 2006-09-25  Jim Meyering  <jim@meyering.net>
67321
67322         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
67323         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
67324
67325 2006-09-25  Eric Blake  <ebb9@byu.net>
67326
67327         * gnulib-tool (func_import, func_create_testdir): Fix typos in
67328         exec's in 2006-09-18 patch when shuffling fds.
67329
67330 2006-09-25  Bruno Haible  <bruno@clisp.org>
67331
67332         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
67333         Reported by Jim Meyering.
67334
67335 2006-09-24  Jim Meyering  <jim@meyering.net>
67336
67337         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
67338         compare a pointer against a literal "0".  That caused failures with
67339         at least HP-UX's hpcc.
67340
67341 2006-09-22  Simon Josefsson  <jas@extundo.com>
67342
67343         * modules/gc-sha1:
67344         * modules/gc-md4:
67345         * modules/gc-hmac-sha1:
67346         * modules/gc-hmac-md5:
67347         * modules/gc-des:
67348         * modules/gc-arcfour: Distribute more files.
67349
67350 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67351
67352         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
67353         (gl_linked_iterator_from_to): Initialize struct completely.
67354         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
67355         (gl_tree_iterator_from_to): Likewise
67356         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
67357         * lib/gl_array_list.c [lint] (gl_array_iterator)
67358         (gl_array_iterator_from_to): Likewise.
67359         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
67360         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
67361         (gl_carray_iterator_from_to): Likewise.
67362
67363         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
67364         * lib/md4.c (md4_process_block): Remove unused variable.
67365         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
67366         parentheses for clarity.
67367
67368 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67369
67370         * modules/bison-i18n (Depends-on): Add gettext.
67371
67372 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67373
67374         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
67375         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
67376         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
67377         also add missing comma that caused broken test.
67378         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
67379         stdlib.h, for `abort'.
67380         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
67381         variables.
67382         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
67383         include unistd.h if present, for `rmdir'.
67384         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
67385         variables.
67386         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
67387         in the process include standard headers for prototypes.
67388         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
67389         gets declared on GNU/Linux.
67390         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
67391         unistd.h, for `rmdir'.
67392         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
67393
67394         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
67395         always true.
67396         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
67397
67398         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
67399
67400 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67401
67402         * gnulib-tool (func_version): Create output all at once.  This
67403         may help avoid triggering unnecessary SIGPIPEs, and at any
67404         rate it doesn't hurt.
67405
67406 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67407             Bruno Haible  <bruno@clisp.org>
67408
67409         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
67410         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67411         * m4/signed.m4 (bh_C_SIGNED): Likewise.
67412
67413         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
67414         (gl_FUNC_VASPRINTF): Invoke it.
67415
67416 2006-09-22  Bruno Haible  <bruno@clisp.org>
67417
67418         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
67419         getloadavg.c as first argument.
67420
67421 2006-09-22  Bruno Haible  <bruno@clisp.org>
67422
67423         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
67424         at the beginning of the gl_INIT macro.
67425         * modules/getloadavg (configure.ac): Pass $gl_source_base to
67426         gl_GETLOADAVG.
67427
67428 2006-09-22  Bruno Haible  <bruno@clisp.org>
67429
67430         * gnulib-tool (func_create_megatestdir): Don't include the config-h
67431         module.
67432         Suggested by Ralf Wildenhues.
67433
67434 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67435
67436         Import this patch from libc:
67437
67438         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
67439
67440         * lib/regex_internal.c (re_string_reconstruct): Handle
67441         offset < pstr->valid_raw_len && pstr->offsets_needed case.
67442         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
67443         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
67444         re_string_context_at.
67445
67446         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
67447         now requires it.
67448         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
67449         gl_REGEX now does it for us.
67450         (gl_REGEX): Add test taken from
67451         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
67452
67453         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
67454         Check that large offsets work.  Modernize Autoconf usages.
67455         Prefer "yes" to mean a good thing rather than a bad.
67456         Don't put "#define mkstemp" in config.h, as this might interfere
67457         with standard system headers that "#define mkstemp mkstemp64".
67458
67459         * modules/mkstemp (Depends-on): Add extensions, so that
67460         mkstemp is visible on some platforms.
67461         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67462         (Include): Change to "mkstemp.h" from <stdlib.h>.
67463         (Files): Add mkstemp.h.
67464
67465         * lib/mkstemp.h: New file, since some standard headers
67466         #define mkstemp.
67467         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67468         Include "mkstemp.h".
67469         Make the _LIBC code resemble glibc original more,
67470         e.g., use K&R style.
67471         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67472         (mkstemp): Remove, since mkstemp.h does this for us.
67473         * lib/stdlib--.h: Include mkstemp.h.
67474
67475         Import this patch from libc:
67476
67477         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67478
67479         * lib/tempname.c (__gen_tempname): Change attempts_min
67480         into a macro.  Use preprocessor to decide how to initialize
67481         attempts [Coverity CID 67].
67482
67483 2006-09-20  Bruno Haible  <bruno@clisp.org>
67484
67485         * lib/mkdtemp.c: Import from libc.
67486         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67487                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67488                 attempts_min into a macro.  Use preprocessor to decide how to
67489                 initialize attempts [Coverity CID 67].
67490         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67491                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67492                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67493
67494 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67495
67496         * gnulib-tool (func_exit): New function, to allow to pass the
67497         exit status portably through the trap.  Use everywhere.
67498         (--help, --version): Signal a write error.
67499         (trap): catch SIGPIPE, for write errors.
67500         Exit at the end of the trap, with the correct exit status.
67501
67502 2006-09-19  Karl Berry  <karl@gnu.org>
67503
67504         * doc/gnulib.texi: note about the license texinfo files.
67505
67506 2006-09-19  Eric Blake  <ebb9@byu.net>
67507
67508         * gnulib-tool: Avoid space-tab.
67509
67510 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67511
67512         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67513         that prevented coreutils 6.1 from building.  Problem reported
67514         by Petter Reinholdtsen.
67515
67516 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67517
67518         * gnulib-tool (avoidlist): Fix typo that broke options like
67519         --avoid=lock that are used by coreutils bootstrap.
67520
67521 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67522
67523         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67524         more systematically.
67525
67526 2006-09-18  Jim Meyering  <jim@meyering.net>
67527
67528         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
67529
67530 2006-09-18  Bruno Haible  <bruno@clisp.org>
67531
67532         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
67533
67534 2006-09-18  Bruno Haible  <bruno@clisp.org>
67535
67536         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
67537         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
67538         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
67539         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
67540         * m4/gettext.m4: Require autoconf >= 2.52.
67541         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
67542         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
67543         of gl_cv_header_inttypes_h.
67544
67545 2006-09-18  Bruno Haible  <bruno@clisp.org>
67546
67547         * lib/javaversion.c: Include configmake.h.
67548
67549 2006-09-18  Bruno Haible  <bruno@clisp.org>
67550
67551         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
67552         avoid that the while loops be executed in a subshell.
67553
67554 2006-09-18  Bruno Haible  <bruno@clisp.org>
67555
67556         * MODULES.html.sh (func_module): Break long lines.
67557         Suggested by Bruce Korb <bkorb@gnu.org>.
67558
67559 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67560
67561         Speed up by a factor of 1.12.
67562         * gnulib-tool (nl): New variable.
67563         (func_import): Rewrite include directive extraction to only read each
67564         directive once.
67565
67566 2006-09-17  Bruno Haible  <bruno@clisp.org>
67567
67568         * modules/javaversion (Makefile.am): Remove DEFS setting.
67569         (Depends-on): Add configmake, for PKGDATADIR definition.
67570
67571 2006-09-17  Bruno Haible  <bruno@clisp.org>
67572
67573         * gnulib-tool (func_create_testdir): Rewrite all files at once.
67574
67575 2006-09-17  Bruno Haible  <bruno@clisp.org>
67576
67577         * gnulib-tool (func_append): New function, stolen from libtool.m4.
67578         (func_modules_transitive_closure, func_modules_add_dummy,
67579         func_modules_to_filelist, func_import, func_create_testdir,
67580         func_create_megatestdir, ...): Use it wherever possible.
67581         Suggested by Ralf Wildenhues.
67582
67583 2006-09-16  Karl Berry  <karl@gnu.org>
67584
67585         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
67586         to avoid sectioning errors.
67587         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
67588         [ifinfo]: blank line after @center-ed titles.
67589         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
67590         Spell FSF address consistently with others.
67591         (These changes approved by rms.)
67592
67593 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67594
67595         Speed up by a factor of 1.61.
67596         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
67597         already checked module names again.
67598
67599 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67600
67601         Speed up by a factor of 1.13.
67602         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
67603         for new_files, and the input to func_add_or_update.
67604
67605 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67606
67607         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
67608         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
67609
67610 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67611
67612         * modules/mkancesdirs (Depends-on): Add fcntl.
67613         * modules/savewd: New file.
67614         * MODULES.html.sh (File system functions): Add savewd.
67615
67616         * modules/configmake (Makefile.am): Add support for the
67617         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
67618
67619 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67620
67621         * m4/savewd.m4: New file.
67622
67623 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67624
67625         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
67626         (dirchownmod): New arg FD.  All callers changed.
67627         Use FD rather than opening the directory ourself, as opening is
67628         now the caller's responsibility.
67629         * lib/dirchownmod.h: Likewise.
67630         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
67631         hosts that require <sys/types.h> before <sys/stat.h>.  Include
67632         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
67633         (test_dir): Remove.
67634         (mkancesdirs): Return length of prefix of FILE that has already
67635         been made, or -2 if there is a child doing the work.  Redo
67636         algorithm so that it is O(N) rather than O(N**2).  Optimize away
67637         ".", and treat ".." specially since it might stray back into
67638         already-created areas.  Use a subprocess if necessary.  New arg
67639         WD; all users changed.  MAKE_DIR function should now return 1
67640         if it creates a directory that is not readable.  Return -2 if
67641         a child process is spun off.
67642         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
67643         Adjust signature to match code.
67644         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
67645         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
67646         all users changed.
67647         * lib/savewd.c, lib/savewd.h: New files.
67648
67649 2006-09-15  Jim Meyering  <jim@meyering.net>
67650
67651         * modules/rename-dest-slash: New module.
67652         * MODULES.html.sh (posix_compat): Add it here.
67653
67654         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
67655
67656 2006-09-15  Jim Meyering  <jim@meyering.net>
67657
67658         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
67659         file.
67660
67661         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
67662
67663 2006-09-15  Jim Meyering  <jim@meyering.net>
67664
67665         * lib/rename-dest-slash.c (has_trailing_slash): Use
67666         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
67667         (rpl_rename_dest_slash): Perform the cheaper trailing slash
67668         test before testing whether SRC is a directory.
67669         Suggestions from Bruno Haible.
67670
67671         Avoid a warning about an unused variable.
67672         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
67673         into the #ifdef block where it's used.
67674
67675         * lib/rename-dest-slash.c: New file.
67676
67677 2006-09-14  Bruno Haible  <bruno@clisp.org>
67678
67679         * lib/allocsa.c: Include <config.h> unconditionally.
67680         * lib/asnprintf.c: Likewise.
67681         * lib/asprintf.c: Likewise.
67682         * lib/c-strcasecmp.c: Likewise.
67683         * lib/c-strcasestr.c: Likewise.
67684         * lib/c-strncasecmp.c: Likewise.
67685         * lib/c-strstr.c: Likewise.
67686         * lib/classpath.c: Likewise.
67687         * lib/clean-temp.c: Likewise.
67688         * lib/concatpath.c: Likewise.
67689         * lib/copy-file.c: Likewise.
67690         * lib/csharpcomp.c: Likewise.
67691         * lib/csharpexec.c: Likewise.
67692         * lib/execute.c: Likewise.
67693         * lib/fatal-signal.c: Likewise.
67694         * lib/findprog.c: Likewise.
67695         * lib/fwriteerror.c: Likewise.
67696         * lib/gl_array_list.c: Likewise.
67697         * lib/gl_array_oset.c: Likewise.
67698         * lib/gl_avltree_list.c: Likewise.
67699         * lib/gl_avltree_oset.c: Likewise.
67700         * lib/gl_avltreehash_list.c: Likewise.
67701         * lib/gl_carray_list.c: Likewise.
67702         * lib/gl_linked_list.c: Likewise.
67703         * lib/gl_linkedhash_list.c: Likewise.
67704         * lib/gl_list.c: Likewise.
67705         * lib/gl_oset.c: Likewise.
67706         * lib/gl_rbtree_list.c: Likewise.
67707         * lib/gl_rbtree_oset.c: Likewise.
67708         * lib/gl_rbtreehash_list.c: Likewise.
67709         * lib/imaxabs.c: Likewise.
67710         * lib/imaxdiv.c: Likewise.
67711         * lib/javacomp.c: Likewise.
67712         * lib/javaexec.c: Likewise.
67713         * lib/javaversion.c: Likewise.
67714         * lib/linebreak.c: Likewise.
67715         * lib/localcharset.c: Likewise.
67716         * lib/lock.c: Likewise.
67717         * lib/mbchar.c: Likewise.
67718         * lib/mbswidth.c: Likewise.
67719         * lib/mkdtemp.c: Likewise.
67720         * lib/pipe.c: Likewise.
67721         * lib/printf-args.c: Likewise.
67722         * lib/printf-parse.c: Likewise.
67723         * lib/progname.c: Likewise.
67724         * lib/progreloc.c: Likewise.
67725         * lib/readlink.c: Likewise.
67726         * lib/sh-quote.c: Likewise.
67727         * lib/stpcpy.c: Likewise.
67728         * lib/stpncpy.c: Likewise.
67729         * lib/strcasecmp.c: Likewise.
67730         * lib/strcasestr.c: Likewise.
67731         * lib/strcspn.c: Likewise.
67732         * lib/striconv.c: Likewise.
67733         * lib/strncasecmp.c: Likewise.
67734         * lib/strnlen1.c: Likewise.
67735         * lib/strstr.c: Likewise.
67736         * lib/strtok_r.c: Likewise.
67737         * lib/tls.c: Likewise.
67738         * lib/tmpdir.c: Likewise.
67739         * lib/unicodeio.c: Likewise.
67740         * lib/unsetenv.c: Likewise.
67741         * lib/vasnprintf.c: Likewise.
67742         * lib/vasprintf.c: Likewise.
67743         * lib/wait-process.c: Likewise.
67744         * lib/xallocsa.c: Likewise.
67745         * lib/xsetenv.c: Likewise.
67746         * lib/xstriconv.c: Likewise.
67747
67748 2006-09-13  Simon Josefsson  <jas@extundo.com>
67749
67750         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
67751         that internally, suggested by Ralf Wildenhues
67752         <Ralf.Wildenhues@gmx.de>.
67753
67754 2006-09-13  Simon Josefsson  <jas@extundo.com>
67755
67756         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
67757         @LIBOBJS@.
67758         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67759
67760 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67761
67762         * lib/_fpending.c: Include <config.h> unconditionally, since we no
67763         longer worry about uses that don't define HAVE_CONFIG_H.
67764         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
67765         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
67766         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
67767         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
67768         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
67769         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
67770         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
67771         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
67772         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
67773         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
67774         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
67775         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
67776         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
67777         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
67778         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
67779         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
67780         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
67781         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
67782         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
67783         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
67784         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
67785         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
67786         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
67787         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
67788         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
67789         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
67790         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
67791         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
67792         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
67793         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
67794         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
67795         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
67796         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
67797         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
67798         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
67799         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
67800         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
67801         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
67802         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
67803         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
67804         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
67805         Likewise.
67806
67807 2006-09-13  Eric Blake  <ebb9@byu.net>
67808
67809         * lib/getopt.c: Fix typo in last commit.
67810
67811 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67812
67813         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
67814         dgettext.
67815
67816 2006-09-12  Jim Meyering  <jim@meyering.net>
67817
67818         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
67819         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
67820         Reported by Nelson H. F. Beebe.
67821
67822 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67823
67824         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
67825         program_invocation_name and program_invocation_short_name are
67826         initialized.
67827         * lib/argp-namefrob.h: Move declarations of program_invocation_name
67828         and program_invocation_short_name to argp.h, so they are visible
67829         to user programs.
67830         * lib/argp.h: Likewise
67831
67832 2006-09-10  Bruno Haible  <bruno@clisp.org>
67833
67834         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
67835         m4/inttypes_h.m4, m4/uintmax_t.m4.
67836
67837 2006-09-10  Bruno Haible  <bruno@clisp.org>
67838
67839         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
67840         gl_AC_TYPE_UINTMAX_T.
67841
67842 2006-09-10  Bruno Haible  <bruno@clisp.org>
67843
67844         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
67845
67846 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67847
67848         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
67849         convention.  Text proposed by Bruno Haible.
67850         (struct argp_option): Document the use of N_() wrappers.
67851
67852         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
67853         '\v', and translate the two parts separately, instead of feeding
67854         the whole string to gettext.  This allows to exclude
67855         '\v' from the strings visible to the translator by writing doc
67856         strings as N_("..") "\v" N_("..").
67857
67858 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
67859
67860         * config/srclist.txt: Undo latest change; the bug was fixed.
67861
67862 2006-09-09  Bruno Haible  <bruno@clisp.org>
67863
67864         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
67865         assignments if building a library without libtool.
67866         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
67867         in func_emit_lib_Makefile_am.
67868         (func_import): When building a static library libfoo.a, arrange to
67869         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
67870         (func_create_testdir): Likewise.
67871         * modules/gc (configure.ac, Makefile.am): If building statically,
67872         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
67873         * modules/iconvme (configure.ac, Makefile.am): Likewise.
67874         * modules/striconv (configure.ac, Makefile.am): Likewise.
67875         Based on a suggestion by Ralf Wildenhues.
67876
67877 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67878
67879         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67880         Check for unistd.h too, since Autoconf doesn't assume POSIX.
67881         Also:
67882
67883         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67884         Add year_2050_test to catch glibc bug 2821
67885         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67886
67887         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67888         Prefer #ifdef to #if.
67889
67890         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
67891         Return from 'main' instead of calling 'exit'.
67892
67893 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67894
67895         * lib/mktime.c (guess_time_tm): Fix bug where mktime
67896         returned the maximum time_t value rather than (time_t) -1.
67897         Problem originally reported by William Bardwell
67898         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67899
67900         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67901         Moved to here ...
67902         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67903         ... from here.
67904
67905 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67906
67907         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
67908         2821 is fixed.
67909
67910 2006-09-08  Jim Meyering  <jim@meyering.net>
67911
67912         Don't make generated files read-only.  That would bother too many
67913         people.  However, do retain the ability to work when targets are
67914         read-only: remove the destination and temporary files before writing
67915         them (when generated via sed or echo), or by using the -f option for
67916         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
67917         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67918         * modules/byteswap, modules/configmake, modules/fcntl:
67919         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67920         * modules/localcharset, modules/netinet_in, modules/poll:
67921         * modules/stdbool, modules/stdint, modules/sys_select:
67922         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67923
67924 2006-09-08  Jim Meyering  <jim@meyering.net>
67925
67926         Avoid new build failure on FreeBSD 6.0.
67927         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
67928         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
67929         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
67930
67931 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67932
67933         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
67934
67935 2006-09-07  Jim Meyering  <jim@meyering.net>
67936
67937         Fix global typo in last change: use chmod u-w, not chmod u-x.
67938         Spotted by Paul Eggert and Bruce Korb.
67939         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67940         * modules/byteswap, modules/configmake, modules/fcntl:
67941         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67942         * modules/localcharset, modules/netinet_in, modules/poll:
67943         * modules/stdbool, modules/stdint, modules/sys_select:
67944         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67945
67946 2006-09-06  Jim Meyering  <jim@meyering.net>
67947
67948         Make generated files be read-only.
67949         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
67950         Ensure that each generated file is now read-only.
67951         * modules/argz: Likewise.
67952         * modules/arpa_inet: Likewise.
67953         * modules/byteswap: Likewise.
67954         * modules/configmake: Likewise.
67955         * modules/fcntl: Likewise.
67956         * modules/fnmatch: Likewise.
67957         * modules/getopt: Likewise.
67958         * modules/glob: Likewise.
67959         * modules/inttypes: Likewise.
67960         * modules/netinet_in: Likewise.
67961         * modules/poll: Likewise.
67962         * modules/stdbool: Likewise.
67963         * modules/stdint: Likewise.
67964         * modules/sys_select: Likewise.
67965         * modules/sys_socket: Likewise.
67966         * modules/sys_stat: Likewise.
67967         * modules/sysexits: Likewise.
67968         * modules/localcharset: Same as above, but continue using temporary
67969         file named "t-$@" (why different?) rather than the "$@-t" used
67970         everywhere else.
67971
67972         * modules/sysexits (Makefile.am): Replace literal occurrences
67973         of "sysexit.h" more readable, and more consistent, "$@".
67974
67975 2006-09-06  Bruno Haible  <bruno@clisp.org>
67976
67977         * modules/striconv: New file.
67978         * modules/xstriconv: New file.
67979         * MODULES.html.sh (Internationalization functions): Add striconv,
67980         xstriconv.
67981
67982 2006-09-06  Bruno Haible  <bruno@clisp.org>
67983
67984         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
67985         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
67986         not using libtool correctly.
67987
67988 2006-09-06  Bruno Haible  <bruno@clisp.org>
67989
67990         * lib/striconv.h: New file.
67991         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
67992         iconvstring.c.
67993         * lib/xstriconv.h: New file.
67994         * lib/xstriconv.c: New file.
67995
67996 2006-09-06  Bruno Haible  <bruno@clisp.org>
67997
67998         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67999         lib_..._LDFLAGS.
68000
68001 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68002
68003         * lib/argz_.h: Sync from Libtool.
68004
68005         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
68006                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68007
68008         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
68009
68010 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68011
68012         * modules/trim: New file.
68013
68014 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68015
68016         * lib/trim.h: New file.
68017         * lib/trim.c: New file.
68018
68019 2006-09-05  Bruno Haible  <bruno@clisp.org>
68020
68021         * MODULES.html.sh (String handling): Add trim.
68022
68023 2006-09-04  Karl Berry  <karl@gnu.org>
68024
68025         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
68026         until next release.
68027
68028 2006-09-03  Bruno Haible  <bruno@clisp.org>
68029
68030         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
68031         correctly.
68032
68033 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68034
68035         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
68036         not gl_GETLOADAVG.  Omit unneeded semicolons.
68037         Problems reported by Ralf Wildenhues in
68038         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68039         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
68040         at the end, which is the usual gnulib style.
68041
68042         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
68043         of doing all the work ourselves.
68044         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
68045         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
68046
68047 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68048
68049         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
68050         Problem reported by Ralf Wildenhues in
68051         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68052
68053         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
68054         HAVE_STRUCT_STATFS_F_FSTYPENAME.
68055
68056 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68057
68058         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
68059         yesterday's patch by changing test -n to test -z.
68060
68061 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68062
68063         * modules/getloadavg (Files): Add m4/getloadavg.m4.
68064         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
68065         the former is now obsolescent.
68066
68067         * modules/chdir-long (Depends-on): Add fcntl.
68068
68069 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68070
68071         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
68072         obsolescent, and programs should use gnulib instead.
68073         * m4/getloadavg.m4: New file, with contents taken from Autoconf
68074         but with prefixes changed.
68075
68076 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68077
68078         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
68079         or stdbool.h, because they might not exist while configuring.
68080
68081         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
68082         Don't include unistd.h or limits.h; not needed, since chdir-long.h
68083         does that for us.
68084         (O_DIRECTORY): Remove.
68085
68086 2006-08-31  Eric Blake  <ebb9@byu.net>
68087
68088         * gnulib-tool: Don't let emacs change spaces to TAB.
68089
68090 2006-08-31  Bruno Haible  <bruno@clisp.org>
68091
68092         * gnulib-tool: When calling func_import more than once, do it in a
68093         subshell.
68094         Reported by Eric Blake <ebb9@byu.net>.
68095
68096 2006-08-31  Bruno Haible  <bruno@clisp.org>
68097
68098         * gnulib-tool (nl): Remove variable.
68099         (sed_transform_lib_file): Use more robust test for config-h module.
68100         (func_import): Fix typo in 2006-08-25 patch.
68101
68102 2006-08-31  Bruno Haible  <bruno@clisp.org>
68103
68104         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
68105         specified, augment Makefile.am variables instead of assigning them.
68106
68107 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68108
68109         Work around a bug in both the Linux and SunOS 64-bit kernels:
68110         nanosleep mishandles sleeps for longer than 2**31 seconds.
68111         Problem reported by Frank v Waveren in
68112         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68113         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
68114         Check for nanosleep bug.
68115         (LIB_NANOSLEEP): Append clock_gettime library if needed.
68116
68117 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68118
68119         Work around a bug in both the Linux and SunOS 64-bit kernels:
68120         nanosleep mishandles sleeps for longer than 2**31 seconds.
68121         Problem reported by Frank v Waveren in
68122         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68123         * lib/nanosleep.c (BILLION): New constant.
68124         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
68125         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
68126         implementation.
68127
68128 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68129
68130         * modules/nanosleep (Depends-on): Add gettime.
68131
68132 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68133         and Simon Josefsson  <jas@extundo.com>
68134         and Oskar Liljeblad  <oskar@osk.mine.nu>
68135
68136         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
68137         * gnulib-tool (func_import): New license type 'unmodifiable license
68138         text'.
68139         * modules/fdl: Use it.  Longer description.
68140         * module/gpl, module/lgpl: New files.
68141
68142 2006-08-30  Jim Meyering  <jim@meyering.net>
68143
68144         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
68145         shadowing the parameter.
68146
68147 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68148
68149         Sync from Libtool:
68150
68151         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68152
68153         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
68154         sharing with gnulib.  Report by Eric Blake.
68155
68156 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68157
68158         * modules/isapipe: New file.
68159         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
68160
68161 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68162
68163         * modules/configmake (Makefile.am): Add a comment, and omit
68164         the CONFIGMAKE_ prefix from generated macro names.  Suggested
68165         by Bruno Haible.
68166
68167 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68168
68169         * m4/isapipe.m4: New file.
68170
68171 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68172
68173         * lib/isapipe.c, lib/isapipe.h: New files.
68174
68175 2006-08-29  Jim Meyering  <jim@meyering.net>
68176
68177         * modules/configmake (Makefile.am): Make configmake.h depend on
68178         Makefile.  Otherwise, a stale configmake.h could hang around.
68179
68180 2006-08-29  Eric Blake  <ebb9@byu.net>
68181
68182         * lib/error.c (error_at_line, print_errno_message): Match libc, after
68183         resolution of upstream bug 3044.
68184
68185 2006-08-29  Bruno Haible  <bruno@clisp.org>
68186
68187         * modules/localcharset (Depends-on): Add configmake.
68188         (Makefile.am): Remove setting of LIBDIR through DEFS.
68189
68190 2006-08-29  Bruno Haible  <bruno@clisp.org>
68191
68192         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
68193         defined.
68194
68195 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68196
68197         * modules/fcntl: New file.
68198         * modules/chdir-safer (Depends-on): Add fcntl.
68199         * modules/fts: Likewise.
68200         * modules/mkdir-p: Likewise.
68201
68202         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
68203         This undoes the most recent change, since we're now addressing the
68204         problem in a different way.
68205
68206         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
68207         into output, since the output might be called Makefile.am even
68208         if $makefile_name is something different.
68209         (func_import): Use $makefile_am rather than
68210         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
68211         empty.
68212
68213         * modules/inttypes (Files): Add m4/inttypes-h.m4.
68214
68215 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68216
68217         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
68218         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
68219         recent change to stdint.m4, since we're now addressing the problem in a
68220         different way.
68221
68222 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68223
68224         * m4/fcntl_h.m4: New file.
68225
68226 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68227
68228         * lib/fcntl_.h: New file.
68229         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
68230         the fcntl module.
68231         * lib/dirchownmod.c: Likewise.
68232         * lib/fts.c: Likewise.
68233
68234         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
68235         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
68236         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
68237         just before including <inttypes.h>, to avoid circular inclusion.
68238
68239 2006-08-28  Jim Meyering  <jim@meyering.net>
68240
68241         * doc/visibility.texi: Actually read and correct the grammar of the
68242         sentence affected by yesterday's change.
68243
68244 2006-08-28  Eric Blake  <ebb9@byu.net>
68245
68246         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
68247         needs wrapper.
68248
68249 2006-08-28  Eric Blake  <ebb9@byu.net>
68250
68251         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
68252
68253 2006-08-28  Eric Blake  <ebb9@byu.net>
68254
68255         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
68256
68257 2006-08-28  Bruno Haible  <bruno@clisp.org>
68258
68259         * modules/c-strstr: New file, from GNU gettext.
68260         * MODULES.html.sh (String handling): Add c-strstr.
68261
68262 2006-08-28  Bruno Haible  <bruno@clisp.org>
68263
68264         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
68265         macros.
68266         Reported by Eric Blake.
68267
68268 2006-08-28  Bruno Haible  <bruno@clisp.org>
68269
68270         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
68271         (VASNPRINTF): Return a string of length > INT_MAX without failing.
68272         * lib/vasprintf.c: Include errno.h, limits.h.
68273         (EOVERFLOW): New fallback definition.
68274         (vasprintf): Test here whether the string length is > INT_MAX.
68275         * lib/vsnprintf.c: Include errno.h, limits.h.
68276         (EOVERFLOW): New fallback definition.
68277         (vsnprintf): Fix bug when generated string was too long for the buffer.
68278         Test here whether the string length is > INT_MAX.
68279
68280 2006-08-28  Bruno Haible  <bruno@clisp.org>
68281
68282         * lib/inttypes_.h (SCNX*): Remove definitions.
68283         Reported by Eric Blake.
68284
68285 2006-08-28  Bruno Haible  <bruno@clisp.org>
68286
68287         * lib/c-strstr.h: New file, from GNU gettext.
68288         * lib/c-strstr.c: New file, from GNU gettext.
68289
68290 2006-08-28  Bruno Haible  <bruno@clisp.org>
68291
68292         * gnulib-tool: Reorder some statements.
68293
68294 2006-08-28  Bruno Haible  <bruno@clisp.org>
68295
68296         * gnulib-tool: New option --makefile-name.
68297         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
68298         $makefile_name.
68299         (func_import): Write $makefile_name to the cache file, and read it from
68300         there unless explicitly specified. Use $makefile_name as file name
68301         instead of Makefile.am. Adjust the recommendations accordingly.
68302
68303 2006-08-28  Bruno Haible  <bruno@clisp.org>
68304
68305         * gnulib-tool (func_verify_module): Check against misapplying patch.
68306
68307 2006-08-28  Bruno Haible  <bruno@clisp.org>
68308
68309         * gnulib-tool (func_relativize, func_relconcat): New functions.
68310         Give an error if --local-dir is given with --update.
68311         Remove trailing slashes from $local_gnulib_dir.
68312         (func_import): Store the relativized $local_gnulib_dir in
68313         gnulib-cache.m4, and read it from there if not specified explicitly.
68314
68315 2006-08-28  Bruno Haible  <bruno@clisp.org>
68316
68317         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
68318         is the current directory. Respect also $local_gnulib_dir.
68319
68320 2006-08-28  Bruno Haible  <bruno@clisp.org>
68321             Simon Josefsson  <jas@extundo.com>
68322
68323         BeOS portability.
68324         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
68325
68326 2006-08-27  Jim Meyering  <jim@meyering.net>
68327
68328         * doc/visibility.texi: Remove duplicate word: "pointer".
68329
68330 2006-08-26  Bruno Haible  <bruno@clisp.org>
68331
68332         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
68333         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
68334         (Makefile.am): Create inttypes.h from inttypes_.h.
68335         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
68336
68337         * modules/imaxabs: New file.
68338
68339         * modules/imaxdiv: New file.
68340
68341 2006-08-26  Bruno Haible  <bruno@clisp.org>
68342
68343         * m4/inttypes.m4: New file.
68344         * m4/_inttypes_h.m4: Remove file.
68345         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
68346         PRI_MACROS_BROKEN.
68347         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
68348
68349         * m4/imaxabs.m4: New file.
68350
68351         * m4/imaxdiv.m4: New file.
68352
68353 2006-08-26  Bruno Haible  <bruno@clisp.org>
68354
68355         * lib/inttypes_.h: New file.
68356         * lib/inttypes.h: Remove file.
68357         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
68358
68359         * lib/imaxabs.c: New file.
68360
68361         * lib/imaxdiv.c: New file.
68362
68363 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68364
68365         New config-h module, so that "make" output needn't be cluttered
68366         by -DHAVE_CONFIG_H.
68367         * MODULES.html.sh (Support for building libraries and executables):
68368         Add config-h.
68369         * modules/config-h: New file.
68370         * gnulib-tool (nl, sed_transform_lib_file): New vars.
68371         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
68372         the config-h module is used.
68373
68374         New configmake module, so that "make" output needn't be cluttered
68375         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
68376         * MODULES.html.sh (Support for building libraries and executables):
68377         Add configmake.
68378         * modules/configmake: New file.
68379
68380 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68381
68382         * m4/config-h.m4: New file.
68383
68384 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68385
68386         * config/srclist.txt: Add elisp-comp.
68387
68388 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68389
68390         * MODULES.html.sh (Support for building libraries and executables):
68391         Add elisp-comp.
68392         * build-aux/elisp-comp: New file.
68393         * modules/elisp-comp: New file.
68394
68395 2006-08-24  Bruno Haible  <bruno@clisp.org>
68396
68397         * gnulib-tool (func_create_testdir): Use non-default values of
68398         sourcebase and m4base.
68399
68400 2006-08-24  Bruno Haible  <bruno@clisp.org>
68401
68402         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
68403         HTML structure.
68404
68405 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68406
68407         * modules/openat (Depends-on): Add lchown.
68408
68409 2006-08-23  Bruno Haible  <bruno@clisp.org>
68410
68411         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
68412         of gl_LOCK_EARLY instead of gl_LOCK.
68413
68414 2006-08-23  Bruno Haible  <bruno@clisp.org>
68415
68416         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
68417         on OSF/1 to no.
68418         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
68419
68420 2006-08-23  Bruno Haible  <bruno@clisp.org>
68421
68422         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
68423         as unusable.
68424
68425         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
68426         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
68427         (gl_LOCK): New macro.
68428
68429 2006-08-22  Simon Josefsson  <jas@extundo.com>
68430
68431         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
68432         to md5 module.
68433
68434 2006-08-22  Simon Josefsson  <jas@extundo.com>
68435
68436         * MODULES.html.sh: Add "Support for maintaining and release
68437         projects".
68438
68439         * build-aux/gnupload: New file, from coreutils.
68440
68441 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68442
68443         Avoid the need for AC_LIBSOURCES in m4 macros.
68444         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
68445         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
68446         * modules/check-version (EXTRA_DIST): Add check-version.h.
68447         * modules/crc (EXTRA_DIST): Add crc.h.
68448         * modules/des (EXTRA_DIST): Add des.h.
68449         * modules/gc (EXTRA_DIST): Add gc.h.
68450         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
68451         * modules/getline (EXTRA_DIST): Add getline.h.
68452         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
68453         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
68454         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
68455         * modules/md2 (EXTRA_DIST): Add md2.h.
68456         * modules/md4 (EXTRA_DIST): Add md4.h.
68457         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
68458         * modules/read-file (EXTRA_DIST): Add read-file.h.
68459         * modules/readline (EXTRA_DIST): Add readline.h.
68460         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
68461         rijndael-api-fst.h.
68462
68463 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68464
68465         * m4/rijndael.m4 (gl_ARCFOUR):
68466         * m4/arctwo.m4 (gl_ARCTWO):
68467         * m4/check-version.m4 (gl_CHECK_VERSION):
68468         * m4/crc.m4 (gl_CRC):
68469         * m4/des.m4 (gl_DES):
68470         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68471         * m4/gc.m4 (gl_GC):
68472         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68473         * m4/getline.m4 (gl_FUNC_GETLINE):
68474         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68475         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68476         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68477         * m4/md2.m4 (gl_MD2):
68478         * m4/md4.m4 (gl_MD4):
68479         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68480         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68481         * m4/readline.m4 (gl_FUNC_READLINE):
68482         * m4/rijndael.m4 (gl_RIJNDAEL):
68483         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68484         to get the necessary .h files and whatnot.
68485
68486 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68487
68488         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68489         gnulib rather than the other way around.
68490         * config/srclistvars.sh (COREUTILS): Remove.
68491
68492 2006-08-22  Jim Meyering  <jim@meyering.net>
68493
68494         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68495
68496         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68497
68498 2006-08-22  Eric Blake  <ebb9@byu.net>
68499
68500         * modules/regexprops-generic: New file.
68501         * MODULES.html.sh (Support for building documentation): List it.
68502
68503 2006-08-22  Eric Blake  <ebb9@byu.net>
68504
68505         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68506         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68507         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68508         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68509
68510 2006-08-22  Bruno Haible  <bruno@clisp.org>
68511
68512         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68513         and lib_LTLIBRARIES like the other lib_* variables.
68514
68515 2006-08-22  Bruno Haible  <bruno@clisp.org>
68516
68517         * build-aux/x-to-1.in: New file, from GNU gettext.
68518
68519 2006-08-22  Bruno Haible  <bruno@clisp.org>
68520
68521         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68522         <utmpx.h> exists.
68523
68524 2006-08-22  Bruno Haible  <bruno@clisp.org>
68525
68526         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
68527         <utmpx.h> exists.
68528
68529 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68530
68531         BeOS portability.
68532         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
68533         exist.
68534         Problem reported by Bruno Haible.
68535
68536 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68537
68538         Avoid the need for AC_LIBSOURCES in m4 macros.
68539         * modules/acl (EXTRA_DIST): Add acl.h.
68540         * modules/argmatch (Files): Add m4/argmatch.m4.
68541         (configure.ac): Add gl_ARGMATCH.
68542         (EXTRA_DIST): Renamed from lib_SOURCES, for
68543         consistency with the other modules.  Remove argmatch.c.
68544         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
68545         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
68546         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
68547         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
68548         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
68549         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
68550         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
68551         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
68552         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
68553         * modules/closeout (EXTRA_DIST): Add closeout.h.
68554         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
68555         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
68556         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
68557         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
68558         dirname.h; remove basename.c and stripslash.c.
68559         * modules/exclude (EXTRA_DIST): Add exclude.h.
68560         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
68561         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
68562         * modules/file-type (EXTRA_DIST): Add file-type.h.
68563         * modules/filemode (EXTRA_DIST): Add filemode.h.
68564         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
68565         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68566         * modules/fpending (EXTRA_DIST): Add __fpending.h.
68567         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
68568         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
68569         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
68570         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
68571         * modules/getdate (EXTRA_DIST): Add getdate.c.
68572         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
68573         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
68574         * modules/getpass (EXTRA_DIST): Add getpass.h.
68575         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
68576         * modules/group-member (EXTRA_DIST): Add group-member.h.
68577         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
68578         * modules/hash (EXTRA_DIST): Add hash.h.
68579         * modules/human (EXTRA_DIST): Add human.h.
68580         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
68581         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
68582         * modules/lchown (EXTRA_DIST): Add lchown.h.
68583         * modules/long-options (EXTRA_DIST): Add long-options.h.
68584         * modules/lstat (EXTRA_DIST): Add lstat.h.
68585         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
68586         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
68587         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
68588         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
68589         * modules/memxor (EXTRA_DIST): Add memxor.h.
68590         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
68591         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
68592         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
68593         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
68594         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
68595         * modules/physmem (EXTRA_DIST): Add physmem.h.
68596         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
68597         * modules/posixver (EXTRA_DIST): Add posixver.h.
68598         * modules/quote (EXTRA_DIST): Add quote.h.
68599         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
68600         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
68601         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
68602         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
68603         regex_internal.h regexec.c.
68604         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
68605         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
68606         * modules/same (EXTRA_DIST): Add same.h.
68607         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
68608         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
68609         * modules/savedir (EXTRA_DIST): Add savedir.h.
68610         * modules/sha1 (EXTRA_DIST): Add sha1.h.
68611         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
68612         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
68613         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
68614         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
68615         * modules/strdup (EXTRA_DIST): Add strdup.h.
68616         * modules/strftime (EXTRA_DIST): Add strftime.h.
68617         * modules/strndup (EXTRA_DIST): Add strndup.h.
68618         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
68619         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
68620         * modules/time_r (EXTRA_DIST): Add time_r.h.
68621         * modules/timespec (EXTRA_DIST): Add timespec.h.
68622         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68623         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
68624         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
68625         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
68626         * modules/userspec (EXTRA_DIST): Add userspec.h.
68627         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
68628         * modules/utimens (EXTRA_DIST): Add utimens.h.
68629         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
68630         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
68631         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
68632         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
68633         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
68634         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
68635         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
68636         * modules/yesno (EXTRA_DIST): Add yesno.h.
68637
68638 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68639
68640         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
68641
68642         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
68643         * m4/dev-ino.m4, same-inode.m4: Remove.
68644
68645         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
68646         * m4/acl.m4 (AC_FUNC_ACL):
68647         * m4/backupfile.m4 (gl_BACKUPFILE):
68648         * m4/c-strtod.m4 (gl_C99_STRTOLD):
68649         * m4/canon-host.m4 (gl_CANON_HOST):
68650         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68651         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
68652         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
68653         * m4/cloexec.m4 (gl_CLOEXEC):
68654         * m4/close-stream.m4 (gl_CLOSE_STREAM):
68655         * m4/closeout.m4 (gl_CLOSEOUT):
68656         * m4/dirfd.m4 (gl_FUNC_DIRFD):
68657         * m4/dirname.m4 (gl_DIRNAME):
68658         * m4/exclude.m4 (gl_EXCLUDE):
68659         * m4/exitfail.m4 (gl_EXITFAIL):
68660         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
68661         * m4/file-type.m4 (gl_FILE_TYPE):
68662         * m4/filemode.m4 (gl_FILEMODE):
68663         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
68664         * m4/fpending.m4 (gl_FUNC_FPENDING):
68665         * m4/fprintftime.m4 (gl_FPRINTFTIME):
68666         * m4/fts.m4 (gl_FUNC_FTS):
68667         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
68668         * m4/getdate.m4 (gl_GETDATE):
68669         * m4/gethrxtime.m4 (gl_GETHRXTIME):
68670         * m4/getpagesize.m4 (gl_GETPAGESIZE):
68671         * m4/getpass.m4 (gl_FUNC_GETPASS):
68672         * m4/gettime.m4 (gl_GETTIME):
68673         * m4/getugroups.m4 (gl_GETUGROUPS):
68674         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
68675         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
68676         * m4/hard-locale.m4 (gl_HARD_LOCALE):
68677         * m4/hash.m4 (gl_HASH):
68678         * m4/idcache.m4 (gl_IDCACHE):
68679         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
68680         * m4/lchown.m4 (gl_FUNC_LCHOWN):
68681         * m4/long-options.m4 (gl_LONG_OPTIONS):
68682         * m4/lstat.m4 (gl_FUNC_LSTAT):
68683         * m4/md5.m4 (gl_MD5):
68684         * m4/memcasecmp.m4 (gl_MEMCASECMP):
68685         * m4/memcoll.m4 (gl_MEMCOLL):
68686         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
68687         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
68688         * m4/memxor.m4 (gl_MEMXOR):
68689         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
68690         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
68691         * m4/modechange.m4 (gl_MODECHANGE):
68692         * m4/mountlist.m4 (gl_MOUNTLIST):
68693         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68694         * m4/openat.m4 (gl_FUNC_OPENAT):
68695         * m4/pathmax.m4 (gl_PATHMAX):
68696         * m4/physmem.m4 (gl_PHYSMEM):
68697         * m4/posixtm.m4 (gl_POSIXTM):
68698         * m4/posixver.m4 (gl_POSIXVER):
68699         * m4/quote.m4 (gl_QUOTE):
68700         * m4/quotearg.m4 (gl_QUOTEARG):
68701         * m4/readtokens.m4 (gl_READTOKENS):
68702         * m4/readutmp.m4 (gl_READUTMP):
68703         * m4/regex.m4 (gl_REGEX):
68704         * m4/safe-read.m4 (gl_SAFE_READ):
68705         * m4/safe-write.m4 (gl_SAFE_WRITE):
68706         * m4/same.m4 (gl_SAME):
68707         * m4/save-cwd.m4 (gl_SAVE_CWD):
68708         * m4/savedir.m4 (gl_SAVEDIR):
68709         * m4/settime.m4 (gl_SETTIME):
68710         * m4/sha1.m4 (gl_SHA1):
68711         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
68712         * m4/stat-macros.m4 (gl_STAT_MACROS):
68713         * m4/stat-time.m4 (gl_STAT_TIME):
68714         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
68715         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
68716         * m4/strdup.m4 (gl_FUNC_STRDUP):
68717         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
68718         * m4/strndup.m4 (gl_FUNC_STRNDUP):
68719         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
68720         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
68721         * m4/time_r.m4 (gl_TIME_R):
68722         * m4/timespec.m4 (gl_TIMESPEC):
68723         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
68724         * m4/unlinkdir.m4 (gl_UNLINKDIR):
68725         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
68726         * m4/userspec.m4 (gl_USERSPEC):
68727         * m4/utimecmp.m4 (gl_UTIMECMP):
68728         * m4/utimens.m4 (gl_UTIMENS):
68729         * m4/xalloc.m4 (gl_XALLOC):
68730         * m4/xgetcwd.m4 (gl_XGETCWD):
68731         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
68732         * m4/xreadlink.m4 (gl_XREADLINK):
68733         * m4/xstrtod.m4 (gl_XSTRTOD):
68734         * m4/yesno.m4 (gl_YESNO):
68735         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68736         to get the necessary .h files and whatnot.
68737
68738 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
68739             Bruno Haible  <bruno@clisp.org>
68740
68741         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
68742         /bin/sh understanding of '!' conditional negation.
68743
68744 2006-08-21  Jim Meyering  <jim@meyering.net>
68745
68746         * modules/openat (Depends-on): Really alphabetize.
68747
68748         * modules/acl (Depends-on): Add error and quote.
68749
68750         * check-module (find_included_lib_files): Add at-func.c to the
68751         ok-to-include-more-than-once white list.
68752
68753         * modules/openat (Depends-on): Add lstat.  Alphabetize.
68754
68755 2006-08-21  Bruno Haible  <bruno@clisp.org>
68756
68757         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68758         Emit a pkgdata_DATA variable only if some snippets add contents to it.
68759         Reported by Martin Lambers <marlam@marlam.de>.
68760
68761 2006-08-21  Bruno Haible  <bruno@clisp.org>
68762
68763         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
68764         specify an installation location, don't emit a noinst_LIBRARIES or
68765         noinst_LTLIBRARIES assignment.
68766
68767 2006-08-21  Bruno Haible  <bruno@clisp.org>
68768
68769         BeOS portability.
68770         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
68771         BeOS has mbrtowc() but no <wctype.h>.
68772
68773 2006-08-21  Bruno Haible  <bruno@clisp.org>
68774
68775         BeOS portability.
68776         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
68777         exist.
68778
68779 2006-08-21  Bruno Haible  <bruno@clisp.org>
68780
68781         BeOS portability.
68782         * lib/mbchar.h: Include <wctype.h> only if it exists.
68783
68784 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68785
68786         Remove files that are no longer needed by their respective modules.
68787         * m4/obstack.m4: Remove.
68788         * m4/strerror_r.m4: Remove.
68789         * m4/uint32_t.m4: Remove.
68790         * m4/uintptr_t.m4: Remove.
68791         * m4/ullong_max.m4: Remove.
68792         * m4/xstrtoimax.m4: Remove.
68793         * m4/xstrtoumax.m4: Remove.
68794
68795         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
68796         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
68797         dependencies now capture this.
68798
68799         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
68800         Do not use AC_LIBSOURCES, since gnulib modules now do this.
68801         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
68802         * m4/human.m4 (gl_HUMAN): Likewise.
68803         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
68804         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
68805
68806         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
68807
68808         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
68809         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
68810         stdint.
68811         * m4/human.m4 (gl_HUMAN): Likewise.
68812         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
68813         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
68814         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68815         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68816         * m4/xstrtol (gl_XSTRTOL): Likewise.
68817
68818         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
68819         AC_TYPE_LONG_LONG_INT.
68820         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68821         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
68822         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
68823         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68824
68825         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
68826         on stdbool.
68827
68828         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
68829         (gl_PREREQ_XSTRTOUL): Remove.
68830
68831         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
68832
68833         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
68834         mode.
68835
68836 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68837
68838         Add and change modules to make it easier for coreutils to use
68839         gnulib-tool.
68840         * modules/backupfile (Files): Remove m4/d-ino.m4.
68841         (Depends-on): Add d-ino.
68842         * modules/cycle-check (Depends-on): Add stdint.
68843         (lib_SOURCES): Add cycle-check.h.
68844         * modules/d-ino: New module.
68845         * modules/d-type: New module.
68846         * modules/error (Files): Remove m4/strerror_r.m4.
68847         * modules/filemode (Files): Add m4/st_dm_mode.m4.
68848         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68849         m4/inttypes_h.m4, m4/uintmax_t.m4.
68850         (Depends-on): Add stdint.
68851         (lib_SOURCES): Add fsusage.h.
68852         * modules/getcwd (Files): Remove d-ino.m4.
68853         (Depends-on): Add d-ino.
68854         * modules/getndelim2 (Depends-on): Add stdint.
68855         * modules/glob (Files): Remove m4/d-type.m4.
68856         (Depends-on): Add d-type.
68857         * modules/host-os: New module.
68858         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
68859         m4/inttypes_h.m4, m4/uintmax_t.m4.
68860         * Depends-on: Add stdint.
68861         (lib_SOURCES): Add human.h.
68862         * modules/inttostr (Files): Remove m4/intmax_t.m4,
68863         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
68864         m4/uintmax_t.m4, m4/ulonglong.m4.
68865         (Depends-on): Add stdint.
68866         (EXTRA_DIST): Add inttostr.h.
68867         * modules/lchmod: New module.
68868         * modules/link-follow: New module.
68869         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
68870         (Depends-on): Add lchmod.
68871         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
68872         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
68873         (Depends-on): Add stdint.
68874         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
68875         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
68876         (Depends-on): Add stdint.
68877         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
68878         * modules/perl: New module.
68879         * modules/regex (Depends-on): Add stdint.
68880         * modules/rmdir-errno: New module.
68881         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68882         m4/intmax_t.m4.
68883         (Depends-on): Add stdint.
68884         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68885         m4/uintmax_t.m4.
68886         (Depends-on): Add stdint.
68887         * modules/unlink-busy: New module.
68888         * modules/utimecmp (Depends-on): Add stdint.
68889         * modules/uptime: New module.
68890         * modules/winsz-ioctl: New module.
68891         * modules/winsz-termios: New module.
68892         * modules/xnanosleep (Depends-on): Add nanosleep.
68893         * modules/ullong_max: Remove.
68894         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
68895         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
68896         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
68897         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
68898         (Depends-on): Add inttypes.
68899         (lib_SOURCES): Add xstrtol.h.
68900         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
68901         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
68902         * MODULES.html.sh: Move 'assert' into the assert section.
68903         Move 'dummy' into the linking section.
68904         Remove ullong_max.
68905         Add section for compatibility checks for POSIX:2001 functions,
68906         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
68907         winsz-ioctl, and winsz-termios into it.
68908         Add lchmod.
68909         Add top-level Misc section and put host-os, perl, and uptime
68910         into it.
68911
68912 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68913
68914         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
68915         now assume the stdint module.  Do not include inttypes.h.
68916         * lib/fsusage.h: Likewise.
68917         * lib/getndelim2.c: Likewise.
68918         * lib/human.h: Likewise.
68919         * lib/inttostr.h: Likewise.
68920         * lib/obstack.c: Likewise.
68921         * lib/regex_internal.h: Likewise.
68922         * lib/tempname.c: Likewise.
68923         * lib/utimecmp.c: Likewise.
68924         * lib/xstrtol.h: Likewise.
68925
68926         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
68927
68928         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
68929         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
68930         * lib/xtime.h: Likewise.
68931
68932 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68933
68934         * modules/openat (Files): Add lib/fchmodat.c.
68935         Fixes problem reported by Jay Youngman.
68936
68937 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68938
68939         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
68940         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
68941
68942 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
68943             Bruno Haible  <bruno@clisp.org>
68944
68945         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
68946         and is a script that invokes bison. Tighten the code. Add comments.
68947
68948 2006-08-18  Jim Meyering  <jim@meyering.net>
68949
68950         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
68951         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
68952         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
68953         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
68954
68955 2006-08-18  Bruno Haible  <bruno@clisp.org>
68956
68957         * modules/bison-i18n: New file.
68958         * MODULES.html.sh (Internationalization functions): Add it.
68959
68960 2006-08-18  Bruno Haible  <bruno@clisp.org>
68961
68962         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
68963         sys/statvfs.h. When getmntinfo was found, check its declaration and
68964         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
68965
68966 2006-08-18  Bruno Haible  <bruno@clisp.org>
68967
68968         * m4/bison-i18n.m4: New file, from bison.
68969
68970 2006-08-18  Bruno Haible  <bruno@clisp.org>
68971
68972         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
68973         (ME_DUMMY): Treat "kernfs" as a dummy.
68974         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
68975
68976 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68977
68978         Update from coreutils.
68979
68980         2006-08-15  Jim Meyering  <jim@meyering.net>
68981
68982         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
68983
68984         2006-01-17  Jim Meyering  <jim@meyering.net>
68985
68986         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
68987
68988         2006-01-11  Jim Meyering  <jim@meyering.net>
68989
68990         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
68991         Check for the lchmod function.
68992
68993 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68994
68995         Update from coreutils.
68996
68997         * lib/__fpending.h: Add copyright notice.
68998         * lib/fprintftime.h: Likewise.
68999         * lib/savedir.c: Use (C) in copyright notice.
69000         * lib/savedir.h: Likewise.
69001
69002         2006-08-15  Jim Meyering  <jim@meyering.net>
69003
69004         * lib/at-func.c: New file, with the logic of all emulated at-functions.
69005         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
69006         in support of the EXPECTED_ERRNO macro.
69007         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
69008         definitions.  Instead, define the appropriate symbols and include
69009         "at-func.c".
69010         * lib/mkdirat.c (mkdirat): Likewise.
69011         * lib/fchmodat.c (fchmodat): Likewise.
69012         (ENOSYS): Remove definition.
69013         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
69014         it.  Don't include "unistd--.h" -- it wasn't ever used.
69015
69016         2006-01-17  Jim Meyering  <jim@meyering.net>
69017
69018         Rewrite fts.c not to change the current working directory,
69019         by using openat, fstatat, fdopendir, etc..
69020
69021         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
69022         (HAVE_OPENAT_SUPPORT): Define.
69023         [_LIBC] (fchdir): Don't undef or define; no longer used.
69024         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
69025         Now, this `function' always succeeds, and consumes its file descriptor
69026         parameter -- so callers must not close such FDs.  Update callers.
69027         (diropen_fd, opendirat, cwd_advance_fd): New functions.
69028         (diropen): Add parameter, SP.  Adjust all callers.
69029         Implement using diropen_fd, rather than open.
69030         (fts_open): Initialize new member, fts_cwd_fd.
69031         Remove fts_rft-setting code.
69032         (fts_close): Close fts_cwd_fd, if necessary.
69033         (__opendir2): Define in terms of opendir or opendirat,
69034         depending on whether the FST_NOCHDIR flag is set.
69035         (fts_build): Since fts_safe_changedir consumes its FD, and since
69036         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
69037         and close the dup'd file descriptor upon failure.
69038         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
69039         (fts_safe_changedir): Tweak semantics to reflect that this function
69040         now calls cwd_advance_fd and hence consumes its FD argument.
69041         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
69042         [struct FTS] (fts_rft): Remove now-unused member.
69043         [struct FTS] (fts_cycle.state): Improve comment.
69044
69045         * lib/openat.c (openat_needs_fchdir): New function.
69046         * lib/openat.h (openat_needs_fchdir): Declare it.
69047
69048 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69049
69050         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
69051         Problem and fix reported by Pádraig Brady in
69052         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
69053
69054 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69055
69056         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
69057
69058 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69059
69060         * lib/memcoll.c (memcoll): Optimize for the common case where the
69061         arguments are bytewise equal.
69062
69063 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69064
69065         * doc/regexprops-generic.texi: Add a copyright notice.
69066
69067 2006-08-15  Bruno Haible  <bruno@clisp.org>
69068
69069         * modules/tmpdir (License): Change to LGPL.
69070
69071 2006-08-15  Bruno Haible  <bruno@clisp.org>
69072
69073         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
69074         module.
69075
69076 2006-08-14  Simon Josefsson  <jas@extundo.com>
69077
69078         * config/srclist.txt: Add gnupload.
69079
69080 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69081
69082         Change copyright notice from LGPL 2 to GPL 2, since that's the
69083         standard form used in the gnulib repository.
69084         * tests/test-lock.c: Likewise.
69085         * tests/test-stdint.c: Likewise.
69086         * tests/test-tls.c: Likewise.
69087
69088         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
69089         prelude-manager.  User shorter URLs for GNU projects, without '?'.
69090         Add copyright notice.
69091
69092         * check-module: Add copyright notice.  Output a copyright
69093         notice if "--version" is specified.
69094         * modules/COPYING: New file.
69095         * tests/test-getaddrinfo.c: Add copyright notice.
69096         * tests/test-verify.c: Likewise.
69097
69098 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69099
69100         Change copyright notice from LGPL 2 to GPL 2, since that's the
69101         standard form used in the gnulib repository.
69102         * lib/lock.c: LGPL -> GPL.
69103         * lib/lock.h: Likewise.
69104         * lib/strnlen1.c: Likewise.
69105         * lib/strnlen1.h: Likewise.
69106         * lib/tls.c: Likewise.
69107         * lib/tls.h: Likewise.
69108         * lib/tmpdir.c: Likewise.
69109
69110         * lib/TODO: Remove; this belongs only in coreutils.
69111
69112 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69113
69114         Add copyright notices to long-enough files that lack them, since
69115         otherwise the files aren't clearly free.  Use the same notice that
69116         getdate.texi already uses.
69117         * doc/alloca-opt.texi: Add copyright notice.
69118         * doc/alloca.texi: Likewise.
69119         * doc/ctime.texi: Likewise.
69120         * doc/functions.texi: Likewise.
69121         * doc/gcd.texi: Likewise.
69122         * doc/gnulib-tool.texi: Likewise.
69123         * doc/inet_ntoa.texi: Likewise.
69124         * doc/visibility.texi: Likewise.
69125
69126         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
69127         * doc/quote.texi: Add copyright notice.
69128
69129         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
69130         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
69131         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
69132         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
69133         is now obsolete, and give a pointer to the Sun list.
69134         Add copyright notice.
69135
69136 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69137
69138         * config/srclistvars.sh: Add copyright notice.
69139
69140 2006-08-14  Eric Blake  <ebb9@byu.net>
69141
69142         Import the following change from libc:
69143
69144         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
69145
69146         Upstream bug 2997.
69147         * lib/misc/error.c: Add space between program name and message if file
69148         name is missing.
69149
69150 2006-08-12  Karl Berry  <karl@gnu.org>
69151
69152         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
69153         remove, these originate in gnulib now.
69154
69155 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69156
69157         * doc/Makefile (standards.info standards.html standards.dvi):
69158         Also depend on make-stds.texi.
69159
69160 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69161
69162         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
69163         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
69164
69165         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
69166         in wchar_t.  Problem reported by Eric Blake.
69167
69168         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
69169         LEN is smaller than SIZE.  Suggested by Bruno Haible.
69170         Also, help the compiler to keep LEN in a register.
69171
69172 2006-08-11  Eric Blake  <ebb9@byu.net>
69173
69174         * users.txt: Sort.  Add tar.
69175
69176 2006-08-11  Bruno Haible  <bruno@clisp.org>
69177
69178         * users.txt: New file.
69179
69180 2006-08-11  Bruno Haible  <bruno@clisp.org>
69181
69182         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
69183         before <wchar.h>. Needed for OSF/1 and BSD/OS.
69184
69185 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69186
69187         * modules/snprintf (Depends-on): Remove minmax.
69188         (Maintainer): Add self and Bruno.
69189
69190 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69191
69192         * lib/.cppi-disable: Add snprintf.h, socket_.h.
69193         * lib/snprintf.c: Include <errno.h> and <limits.h>.
69194         (EOVERFLOW): Define if the system does not.
69195         Do not include "minmax.h"; it wasn't used.
69196         (snprintf): Don't assume size_t promotes to an unsigned type.
69197         Fix bug when generated string was too long for the buffer: the
69198         buffer's contents are supposed to be the initial prefix of the
69199         output.  Don't assume vasnprintf returns EOVERFLOW if the size
69200         exceeds INT_MAX; do the check ourselves.
69201
69202         Import the following changes from libc:
69203
69204         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
69205
69206         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
69207         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
69208         set wc to the byte which couldn't be converted.
69209         (re_string_reconstruct): Don't clear valid_raw_len before calling
69210         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
69211         tip_context using re_string_context_at.
69212
69213         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
69214
69215         * lib/posix/regex.h: g++ still cannot handled [restrict].
69216
69217         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
69218
69219         * lib/posix/regex.h: Remove special handling for VMS.
69220
69221 2006-08-10  Jim Meyering  <jim@meyering.net>
69222
69223         * modules/same-inode: New module.
69224         * modules/dev-ino: New module.
69225         * modules/cycle-check: Depend on these modules, rather than simply
69226         including their .h files.
69227         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
69228         required via m4/cycle-check.m4.
69229         * modules/same: Depend on new same-inode module, rather than
69230         including same-inode.h.
69231         * modules/chdir-safer: New file.
69232
69233         * modules/chown (Depends-on): Add stat-macros.
69234
69235 2006-08-10  Jim Meyering  <jim@meyering.net>
69236
69237         * m4/cycle-check.m4: New file.
69238         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
69239         * m4/dev-ino.m4, m4/same-inode.m4: New files.
69240
69241 2006-08-10  Eric Blake  <ebb9@byu.net>
69242
69243         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
69244         in from original proposal.
69245
69246 2006-08-10  Eric Blake  <ebb9@byu.net>
69247         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69248
69249         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
69250         namespace.
69251
69252 2006-08-10  Bruno Haible  <bruno@clisp.org>
69253
69254         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
69255         as well.
69256
69257 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69258
69259         Sync from coreutils.
69260
69261         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
69262
69263         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
69264         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
69265
69266 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69267
69268         * modules/restrict: Remove; no longer needed now that we assume
69269         Autoconf 2.59 or later.
69270         * MODULES.html.sh: Remove 'restrict'.
69271         * modules/argp (Depends-on): Remove 'restrict'.
69272         * modules/base64 (Depends-on): Likewise.
69273         * modules/gc (Depends-on): Likewise.
69274         * modules/getaddrinfo (Depends-on): Likewise.
69275         * modules/glob (Depends-on): Likewise.
69276         * modules/inet_ntop (Depends-on): Likewise.
69277         * modules/inet_pton (Depends-on): Likewise.
69278         * modules/memxor (Depends-on): Likewise.
69279         * modules/regex (Depends-on): Likewise.
69280         * modules/strtok_r (Depends-on): Likewise.
69281         * modules/time_r (Depends-on): Likewise.
69282
69283 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69284
69285         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
69286         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
69287         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69288         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
69289         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
69290         * m4/memxor.m4 (gl_MEMXOR): Likewise.
69291         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
69292         gl_C_RESTRICT replaced by AC_C_RESTRICT.
69293
69294         Merge from coreutils.
69295         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
69296         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
69297         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69298         * m4/time_r.m4 (gl_TIME_R): Likewise.
69299
69300 2006-08-09  Karl Berry  <karl@gnu.org>
69301
69302         * config/srclist.txt: no more gettext-tools, per Bruno.
69303
69304 2006-08-08  Eric Blake  <ebb9@byu.net>
69305
69306         * modules/verror: New module.
69307         * MODULES.html.sh: Document it.
69308
69309 2006-08-08  Eric Blake  <ebb9@byu.net>
69310
69311         * lib/verror.h, lib/verror.c: New files.
69312
69313 2006-08-08  Eric Blake  <ebb9@byu.net>
69314
69315         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
69316         verror_at_line output complies with GNU Coding Standards even when
69317         file is NULL.
69318
69319 2006-08-07  Bruno Haible  <bruno@clisp.org>
69320
69321         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
69322         versions of AIX.
69323         Reported by Ralf Wildenhues.
69324
69325 2006-08-07  Bruno Haible  <bruno@clisp.org>
69326
69327         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
69328         in an AC_DEFUN. Needed so that the autoconf snippets can use
69329         AC_REQUIRE.
69330
69331 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69332
69333         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69334         Initialize pkgdata_DATA.
69335         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
69336         overriding it.
69337
69338 2006-08-06  Eric Blake  <ebb9@byu.net>
69339
69340         * lib/error.h: Fold in some upstream changes from glibc.
69341         * lib/error.c: Likewise.
69342
69343 2006-08-04  Bruno Haible  <bruno@clisp.org>
69344
69345         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69346         Make the mostlyclean-local rule depend on mostlyclean-generic.
69347         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
69348
69349 2006-07-31  Bruno Haible  <bruno@clisp.org>
69350
69351         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
69352         <stdlib.h>, <string.h>.
69353
69354 2006-07-30  Bruno Haible  <bruno@clisp.org>
69355
69356         * modules/readlink (License): Change to LGPL.
69357
69358 2006-07-30  Bruno Haible  <bruno@clisp.org>
69359
69360         * modules/javaversion (Makefile.am): Distribute javaversion.java and
69361         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
69362         set PKGDATADIR to point to it.
69363
69364 2006-07-30  Bruno Haible  <bruno@clisp.org>
69365
69366         * modules/csharpexec (configure.ac): Comment out macro invocation.
69367         * modules/javaexec (configure.ac): Likewise.
69368         * modules/javacomp-script (configure.ac): Likewise.
69369
69370         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
69371
69372 2006-07-30  Bruno Haible  <bruno@clisp.org>
69373
69374         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
69375         linked-list.
69376
69377 2006-07-30  Bruno Haible  <bruno@clisp.org>
69378
69379         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
69380
69381 2006-07-30  Bruno Haible  <bruno@clisp.org>
69382
69383         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69384         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
69385         get removed.
69386
69387 2006-07-29  Bruno Haible  <bruno@clisp.org>
69388
69389         Make it possible for gnulib-tool to work with locally modified or
69390         augmented gnulib repositories.
69391         * gnulib-tool (func_usage): Document --local-dir option.
69392         (local_gnulib_dir): New variable.
69393         Handle --local-dir option.
69394         (func_lookup_file): New function.
69395         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
69396         (func_get_description, func_get_filelist, func_get_description,
69397         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
69398         func_get_automake_snippet, func_get_include_directive,
69399         func_get_license, func_get_maintainer): Use func_lookup_file.
69400         (func_import, func_create_testdir): Use func_lookup_file.
69401
69402 2006-07-29  Bruno Haible  <bruno@clisp.org>
69403
69404         * modules/setenv (Depends-on): Add unistd.
69405
69406 2006-07-29  Bruno Haible  <bruno@clisp.org>
69407
69408         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
69409
69410 2006-07-29  Bruno Haible  <bruno@clisp.org>
69411
69412         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
69413
69414 2006-07-29  Bruno Haible  <bruno@clisp.org>
69415
69416         * gnulib-tool (import, update): If there is no Makefile.am, look at
69417         aclocal.m4, instead of bailing out.
69418
69419 2006-07-29  Bruno Haible  <bruno@clisp.org>
69420
69421         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
69422         Categorize the options by when they are useful.
69423
69424 2006-07-29  Bruno Haible  <bruno@clisp.org>
69425
69426         * gnulib-tool (func_usage): Document option --no-libtool.
69427         Handle option --no-libtool.
69428         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
69429         for changed semantics of $libtool variable.
69430         (func_import): Likewise. If libtool is not used, show this through
69431         an option --no-libtool.
69432         (func_create_testdir): Update.
69433
69434 2006-07-29  Bruno Haible  <bruno@clisp.org>
69435
69436         * gnulib-tool (func_import): Extend error message about missing
69437         --doc-base.
69438
69439 2006-07-29  Bruno Haible  <bruno@clisp.org>
69440
69441         * gnulib-tool (func_import): Don't create the $docbase directory if
69442         there is no file to store there.
69443
69444 2006-07-29  Bruno Haible  <bruno@clisp.org>
69445
69446         * gnulib-tool (autoconf_minversion): If a --dir option is given and
69447         relevant, look for configure.ac there, not in the current directory.
69448         Also use a simple search for AC_PREREQ, not "autoconf --trace".
69449
69450 2006-07-29  Bruno Haible  <bruno@clisp.org>
69451
69452         * gnulib-tool (SORT): New variable.
69453         (func_usage): Undocument --assume-autoconf option.
69454         Remove --assume-autoconf option handling.
69455         (autoconf_minversion): Determine from the contents of configure.ac.
69456         (func_import): Remove autoconf_minversion handling.
69457         Suggested by Eric Blake.
69458
69459 2006-07-29  Bruno Haible  <bruno@clisp.org>
69460
69461         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69462
69463 2006-07-29  Bruno Haible  <bruno@clisp.org>
69464
69465         * config/srclist.txt (*setenv.[ch]): Remove rules.
69466
69467 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69468
69469         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69470
69471 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69472
69473         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69474         arpa/inet.h.
69475
69476 2006-07-28  Simon Josefsson  <jas@extundo.com>
69477
69478         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69479         * modules/inet_pton (Depends-on): Likewise.
69480
69481 2006-07-28  Simon Josefsson  <jas@extundo.com>
69482
69483         * m4/netinet_in_h.m4: New file.
69484
69485 2006-07-28  Simon Josefsson  <jas@extundo.com>
69486
69487         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69488         #include's.
69489
69490 2006-07-28  Simon Josefsson  <jas@extundo.com>
69491
69492         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69493         #include's.
69494
69495 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69496
69497         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69498         setgid on directories only if they set these bits.
69499         * lib/modechange.h: Remove obsolete comment about masks.
69500
69501 2006-07-28  Eric Blake  <ebb9@byu.net>
69502
69503         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69504         macro expansion.
69505
69506 2006-07-28  Bruno Haible  <bruno@clisp.org>
69507
69508         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69509
69510 2006-07-28  Bruno Haible  <bruno@clisp.org>
69511
69512         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69513
69514 2006-07-28  Bruno Haible  <bruno@clisp.org>
69515
69516         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69517         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69518         Define fallbacks.
69519         Avoids link error on FreeBSD 4.x.
69520         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69521
69522         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69523         encoding.
69524         * lib/mbswidth.c (iswcntrl): Likewise.
69525
69526 2006-07-27  Bruno Haible  <bruno@clisp.org>
69527
69528         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
69529         test.
69530
69531 2006-07-27  Bruno Haible  <bruno@clisp.org>
69532
69533         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
69534         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
69535         defined.
69536
69537 2006-07-26  Eric Blake  <ebb9@byu.net>
69538
69539         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
69540
69541 2006-07-26  Eric Blake  <ebb9@byu.net>
69542
69543         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
69544         like mingw that lack mkstemp.
69545         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
69546         avoid compilation warning on mingw.
69547
69548 2006-07-26  Bruno Haible  <bruno@clisp.org>
69549
69550         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
69551         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
69552         INT_FAST*_MIN, INTPTR_MIN.
69553
69554 2006-07-25  Bruno Haible  <bruno@clisp.org>
69555
69556         * modules/version-etc (Depends-on): Add stdarg.
69557
69558 2006-07-25  Bruno Haible  <bruno@clisp.org>
69559
69560         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
69561         complex commands.
69562
69563 2006-07-25  Bruno Haible  <bruno@clisp.org>
69564
69565         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
69566         defined in <stdarg.h> or config.h.
69567
69568 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69569
69570         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
69571         (gl_STDIO_SAFER): Remove.
69572
69573 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69574
69575         * MODULES.html.sh (File stream based Input/Output):
69576         Add fopen-safer, tmpfile-safer; remove stdio-safer.
69577         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
69578         * modules/fopen-safer, modules/tmpfile-safer: New files.
69579         * modules/stdio-safer: Remove.
69580
69581 2006-07-24  Bruno Haible  <bruno@clisp.org>
69582
69583         * modules/tmpdir: New file.
69584         * MODULES.html.sh (File system functions): Add it.
69585
69586 2006-07-24  Bruno Haible  <bruno@clisp.org>
69587
69588         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
69589         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
69590
69591 2006-07-24  Bruno Haible  <bruno@clisp.org>
69592
69593         * modules/clean-temp: New file.
69594
69595 2006-07-24  Bruno Haible  <bruno@clisp.org>
69596
69597         * m4/tmpdir.m4: New file, from GNU gettext.
69598
69599 2006-07-24  Bruno Haible  <bruno@clisp.org>
69600
69601         * lib/tmpdir.h: New file, from GNU gettext.
69602         * lib/tmpdir.c: New file, from GNU gettext.
69603
69604 2006-07-24  Bruno Haible  <bruno@clisp.org>
69605
69606         * lib/clean-temp.h: New file, from GNU gettext.
69607         * lib/clean-temp.c: New file, from GNU gettext.
69608
69609 2006-07-23  Eric Blake  <ebb9@byu.net>
69610
69611         * modules/stdio-safer (Files): Add tmpfile-safer.c.
69612         (Depends-on): Add binary-io.
69613
69614 2006-07-23  Eric Blake  <ebb9@byu.net>
69615
69616         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
69617
69618 2006-07-23  Eric Blake  <ebb9@byu.net>
69619
69620         * lib/tmpfile-safer.c: New file.
69621         * lib/stdio-safer.h (fopen_safer): Add prototype.
69622         * lib/stdio--.h (tmpfile): Make safer.
69623
69624 2006-07-23  Bruno Haible  <bruno@clisp.org>
69625
69626         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
69627         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
69628         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
69629         gl_linked_remove_at): Use it.
69630
69631 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69632         and Simon Josefsson <jas@extundo.com>
69633
69634         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
69635
69636         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
69637
69638 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69639
69640         * modules/close-stream: New file.
69641         * modules/closeout (Description): Make it clear that it exits
69642         with a diagnostic on error.
69643         (Depends-on): Add close-stream.  Remove fpending, stdbool.
69644         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
69645
69646 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69647
69648         * m4/close-stream.m4: New file.
69649
69650 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69651
69652         * lib/close-stream.c, lib/close-stream.h: New files.
69653
69654 2006-07-22  Bruno Haible  <bruno@clisp.org>
69655
69656         Merge from GNU gettext 0.15.
69657
69658         2006-05-01  Bruno Haible  <bruno@clisp.org>
69659
69660                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
69661
69662         2006-07-22  Bruno Haible  <bruno@clisp.org>
69663
69664                 * modules/javaversion: New file.
69665                 * MODULES.html.sh (Java): Add javaversion.
69666
69667         2006-03-12  Bruno Haible  <bruno@clisp.org>
69668
69669                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
69670
69671         2005-12-04  Bruno Haible  <bruno@clisp.org>
69672
69673                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
69674                 (untested).
69675
69676         2006-06-21  Bruno Haible  <bruno@clisp.org>
69677
69678                 Avoid warnings from recent versions of mcs.
69679                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
69680                 -o, -L, -r any more. Use options documented since mcs-1.0
69681                 instead. Similarly for -g.
69682
69683         2005-12-04  Bruno Haible  <bruno@clisp.org>
69684
69685                 * build-aux/csharpcomp.sh.in: Suffix for resources is
69686                 .resources, not .resource.
69687
69688         2005-07-09  Bruno Haible  <bruno@clisp.org>
69689
69690                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
69691                 add a .dll suffix.
69692                 Reported by Mark Junker <mjscod@gmx.de>.
69693
69694         2006-07-22  Bruno Haible  <bruno@clisp.org>
69695
69696                 * modules/gettext: Upgrade to gettext-0.15.
69697                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
69698                 m4/visibility.m4.
69699                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
69700
69701 2006-07-22  Bruno Haible  <bruno@clisp.org>
69702
69703         Merge from GNU gettext 0.15.
69704
69705         2006-03-25  Bruno Haible  <bruno@clisp.org>
69706
69707                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
69708
69709         2006-07-21  Bruno Haible  <bruno@clisp.org>
69710
69711                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
69712                 "1.1".
69713
69714         2006-05-09  Bruno Haible  <bruno@clisp.org>
69715
69716                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
69717                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
69718                 for the conftestver execution.
69719
69720         2006-05-01  Bruno Haible  <bruno@clisp.org>
69721
69722                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
69723                 optional target-version argument. Verify that the compiler
69724                 groks source of the specified source-version, or add -source
69725                 option as necessary. Verify that the compiler produces
69726                 bytecode in the specified target-version, or add -target and
69727                 -source options as necessary. Make the result of the test
69728                 available as variable CONF_JAVAC. Also log error output in
69729                 config.log.
69730
69731         2006-03-11  Bruno Haible  <bruno@clisp.org>
69732
69733                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
69734
69735         2006-05-09  Bruno Haible  <bruno@clisp.org>
69736
69737                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
69738                 CLASSPATH_SEPARATOR to a semicolon.
69739
69740         2006-03-12  Bruno Haible  <bruno@clisp.org>
69741
69742                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
69743                 available as variable CONF_JAVA, for subsequent autoconf
69744                 tests. Also log error output in config.log.
69745
69746         2006-07-19  Bruno Haible  <bruno@clisp.org>
69747
69748                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
69749                 that getline works on glibc2 systems. Needed to avoid trouble
69750                 in relocatable.c.
69751                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
69752
69753         2005-12-04  Bruno Haible  <bruno@clisp.org>
69754
69755                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
69756                 launcher (untested).
69757
69758         2005-12-04  Bruno Haible  <bruno@clisp.org>
69759
69760                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
69761
69762         2006-07-22  Bruno Haible  <bruno@clisp.org>
69763
69764                 * gettext.m4: Update from GNU gettext-0.15.
69765                 * nls.m4: Likewise.
69766                 * po.m4: Likewise.
69767                 * inttypes-pri.m4: Likewise.
69768                 * inttypes-h.m4: Renamed from inttypes.m4.
69769                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
69770
69771 2006-07-22  Bruno Haible  <bruno@clisp.org>
69772
69773         Merge from GNU gettext 0.15.
69774
69775         2005-07-05  Bruno Haible  <bruno@clisp.org>
69776
69777                 * printf-args.c (printf_fetchargs): Work around broken
69778                 definition of wint_t on mingw.
69779
69780         2005-02-12  Bruno Haible  <bruno@clisp.org>
69781
69782                 * xallocsa.h: Add extern "C" for C++.
69783
69784         2006-05-17  Bruno Haible  <bruno@clisp.org>
69785
69786                 Cygwin portability.
69787                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
69788
69789         2006-04-30  Bruno Haible  <bruno@clisp.org>
69790
69791                 * progreloc.c: Include <mach-o/dyld.h> if available.
69792                 (find_executable): Use _NSGetExecutablePath when possible.
69793
69794         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69795
69796                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
69797                 function.
69798
69799         2005-12-29  Bruno Haible  <bruno@clisp.org>
69800
69801                 * progreloc.c (set_program_name_and_installdir): Fix
69802                 compilation error.
69803
69804         2005-12-04  Bruno Haible  <bruno@clisp.org>
69805
69806                 Cygwin portability.
69807                 * progreloc.c: Include <windows.h> also on Cygwin.
69808                 (find_executable): Add support for Cygwin.
69809                 (set_program_name_and_installdir): Handle also platforms with
69810                 nonempty EXEEXT.
69811
69812         2006-07-11  Bruno Haible  <bruno@clisp.org>
69813
69814                 * javacomp.c: Fix a comment.
69815                 Reported by Jim Meyering.
69816
69817         2006-04-30  Bruno Haible  <bruno@clisp.org>
69818
69819                 * javacomp.h (compile_java_class): Add source_version,
69820                 target_version arguments.
69821                 * javacomp.c: Rewritten to choose only a compiler that
69822                 respects the specified source_version and target_version.
69823
69824         2006-06-27  Bruno Haible  <bruno@clisp.org>
69825
69826                 Assume correct S_ISDIR macro.
69827                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
69828
69829         2006-07-22  Bruno Haible  <bruno@clisp.org>
69830
69831                 * javaversion.h: New file, from GNU gettext.
69832                 * javaversion.c: New file, from GNU gettext.
69833                 * javaversion.java: New file, from GNU gettext.
69834                 * javaversion.class: New file, from GNU gettext.
69835
69836         2006-05-17  Bruno Haible  <bruno@clisp.org>
69837
69838                 Cygwin portability.
69839                 * javaexec.c (execute_java_class): Test for jview program
69840                 also on Cygwin.
69841
69842         2006-04-09  Bruno Haible  <bruno@clisp.org>
69843
69844                 * fatal-signal.c: Don't include string.h.
69845                 (at_fatal_signal): Use a copying loop instead of memcpy.
69846
69847         2005-12-04  Bruno Haible  <bruno@clisp.org>
69848
69849                 * csharpexec.c: Add support for 'clix' launcher (untested).
69850                 (execute_csharp_using_sscli): New function.
69851                 (execute_csharp_program): Call it.
69852
69853         2006-06-21  Bruno Haible  <bruno@clisp.org>
69854
69855                 Avoid warnings from recent versions of mcs.
69856                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
69857                 -o, -L, -r any more. Use options documented since mcs-1.0
69858                 instead. Similarly for -g.
69859
69860         2005-07-09  Bruno Haible  <bruno@clisp.org>
69861
69862                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
69863                 add a .dll suffix.
69864                 Reported by Mark Junker <mjscod@gmx.de>.
69865
69866         2006-06-17  Bruno Haible  <bruno@clisp.org>
69867
69868                 * config.charset: Update for NetBSD 3.0.
69869
69870         2006-05-17  Bruno Haible  <bruno@clisp.org>
69871
69872                 Cygwin portability.
69873                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
69874
69875         2006-05-16  Bruno Haible  <bruno@clisp.org>
69876
69877                 * localcharset.c [CYGWIN]: Include <windows.h>.
69878                 (get_charset_aliases): For Cygwin, return the same CPxxx
69879                 aliases list as under WIN32.
69880                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
69881                 the environment variables. Fall back to GetACP().
69882
69883         2006-04-05  Bruno Haible  <bruno@clisp.org>
69884
69885                 * config.charset: Update Juan Manuel Guerrero's address.
69886
69887         2005-02-12  Bruno Haible  <bruno@clisp.org>
69888
69889                 * allocsa.h: Add extern "C" for C++.
69890
69891         2005-02-10  Bruno Haible  <bruno@clisp.org>
69892
69893                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
69894                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
69895
69896         2006-07-22  Bruno Haible  <bruno@clisp.org>
69897
69898                 * gettext.h: Update to GNU gettext-0.15.
69899
69900 2006-07-22  Bruno Haible  <bruno@clisp.org>
69901
69902         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
69903         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
69904         lib-prefix.m4, longdouble.m4, ssize_t.m4.
69905
69906 2006-07-21  Eric Blake  <ebb9@byu.net>
69907
69908         * modules/stdlib-safer: New file.
69909         * MODULES.html.sh (File stream based Input/Output): Add
69910         stdlib-safer.
69911
69912 2006-07-21  Eric Blake  <ebb9@byu.net>
69913
69914         * lib/stdlib-safer.h: New file from coreutils, required by
69915         stdlib--.h.
69916
69917 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
69918
69919         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
69920
69921 2006-07-20  Bruno Haible  <bruno@clisp.org>
69922
69923         * gnulib-tool: Recognize new option --assume-autoconf.
69924         (autoconf_minversion): New variable.
69925         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
69926
69927 2006-07-20  Bruno Haible  <bruno@clisp.org>
69928
69929         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
69930
69931 2006-07-19  Derek R. Price  <derek@ximbiot.com>
69932
69933         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
69934         Reindent and repaginate.
69935
69936 2006-07-19  Derek Price  <derek@ximbiot.com>
69937
69938         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
69939         Correct grammar.
69940
69941 2006-07-17  Bruno Haible  <bruno@clisp.org>
69942
69943         * modules/list: New file.
69944         * modules/array-list: New file.
69945         * modules/carray-list, modules/carray-list-tests: New files.
69946         * modules/linked-list, modules/linked-list-tests: New files.
69947         * modules/avltree-list, modules/avltree-list-tests: New files.
69948         * modules/rbtree-list, modules/rbtree-list-tests: New files.
69949         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
69950         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
69951         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
69952         * modules/oset: New file.
69953         * modules/array-oset: New file.
69954         * modules/avltree-oset, modules/avltree-oset-tests: New files.
69955         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
69956         * tests/test-carray_list.c: New file.
69957         * tests/test-linked_list.c: New file.
69958         * tests/test-avltree_list.c: New file.
69959         * tests/test-rbtree_list.c: New file.
69960         * tests/test-linkedhash_list.c: New file.
69961         * tests/test-avltreehash_list.c: New file.
69962         * tests/test-rbtreehash_list.c: New file.
69963         * tests/test-avltree_oset.c: New file.
69964         * tests/test-rbtree_oset.c: New file.
69965         * MODULES.html.sh (Container data structures): New section.
69966
69967 2006-07-17  Bruno Haible  <bruno@clisp.org>
69968
69969         * m4/gl_list.m4: New file.
69970
69971 2006-07-17  Bruno Haible  <bruno@clisp.org>
69972
69973         * lib/gl_list.h: New file.
69974         * lib/gl_list.c: New file.
69975         * lib/gl_array_list.h: New file.
69976         * lib/gl_array_list.c: New file.
69977         * lib/gl_carray_list.h: New file.
69978         * lib/gl_carray_list.c: New file.
69979         * lib/gl_linked_list.h: New file.
69980         * lib/gl_linked_list.c: New file.
69981         * lib/gl_anylinked_list1.h: New file.
69982         * lib/gl_anylinked_list2.h: New file.
69983         * lib/gl_avltree_list.h: New file.
69984         * lib/gl_avltree_list.c: New file.
69985         * lib/gl_anyavltree_list1.h: New file.
69986         * lib/gl_anyavltree_list2.h: New file.
69987         * lib/gl_rbtree_list.h: New file.
69988         * lib/gl_rbtree_list.c: New file.
69989         * lib/gl_anyrbtree_list1.h: New file.
69990         * lib/gl_anyrbtree_list2.h: New file.
69991         * lib/gl_anytree_list1.h: New file.
69992         * lib/gl_anytree_list2.h: New file.
69993         * lib/gl_linkedhash_list.h: New file.
69994         * lib/gl_linkedhash_list.c: New file.
69995         * lib/gl_anyhash_list1.h: New file.
69996         * lib/gl_anyhash_list2.h: New file.
69997         * lib/gl_avltreehash_list.h: New file.
69998         * lib/gl_avltreehash_list.c: New file.
69999         * lib/gl_rbtreehash_list.h: New file.
70000         * lib/gl_rbtreehash_list.c: New file.
70001         * lib/gl_anytreehash_list1.h: New file.
70002         * lib/gl_anytreehash_list2.h: New file.
70003
70004         * lib/gl_oset.h: New file.
70005         * lib/gl_oset.c: New file.
70006         * lib/gl_array_oset.h: New file.
70007         * lib/gl_array_oset.c: New file.
70008         * lib/gl_avltree_oset.h: New file.
70009         * lib/gl_avltree_oset.c: New file.
70010         * lib/gl_rbtree_oset.h: New file.
70011         * lib/gl_rbtree_oset.c: New file.
70012         * lib/gl_anytree_oset.h: New file.
70013
70014 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70015
70016         * m4/mkancesdirs.m4: New file.
70017         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
70018         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
70019         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
70020         it.
70021
70022 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70023
70024         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
70025         * lib/mkancesdirs.h: New files.
70026         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
70027         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
70028         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
70029         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
70030         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
70031         callers changed.  Revamp internals significantly, by not
70032         attempting to create directories that are temporarily more
70033         permissive than the final results.  Do not attempt to use
70034         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
70035         This removes some race conditions, fixes some bugs, and simplifies
70036         things.  Use new dirchownmod function to do owner and mode changes.
70037         * lib/mkdir-p.h: Likewise.
70038         * lib/modechange.c (octal_to_mode): New function.
70039         (struct mode_change): New member mentioned.
70040         (make_node_op_equals): New arg mentioned.  All callers changed.
70041         (mode_compile): Keep track of which mode bits the user has explicitly
70042         mentioned.
70043         (mode_adjust): New arg DIR, so that we implement the X op correctly.
70044         New arg PMODE_BITS, to keep track of which mode bits the user
70045         mentioned; it treats S_ISUID and S_ISGID speciall.
70046         All callers changed.
70047         * lib/modechange.h: Likewise.
70048
70049 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70050
70051         * MODULES.html.sh: Add mkancestors.
70052         * modules/mkancesdirs: New module.
70053         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
70054         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
70055         The chdir-safer and afs files are now orphans; I'll remove them
70056         unless someone speaks up.
70057         Add lib/dirchownmod.c, lib/dirchownmod.h.
70058         (Depends-on): Remove alloca, chown, save-cwd, dirname.
70059         Add lchown, mkancesdirs.
70060         (Maintainer): Add self.
70061
70062 2006-07-15  Karl Berry  <karl@gnu.org>
70063
70064         * gnulib-tool: help message wording/arrangement.
70065
70066 2006-07-14  Simon Josefsson  <jas@extundo.com>
70067
70068         * doc/gnulib.texi (Libtool and Windows): New section.
70069
70070 2006-07-12  Simon Josefsson  <jas@extundo.com>
70071
70072         * modules/gendocs (License): Fix license, approved by Karl.
70073
70074 2006-07-12  Eric Blake  <ebb9@byu.net>
70075
70076         * MODULES.html.sh: Add gendocs.
70077
70078 2006-07-11  Eric Blake  <ebb9@byu.net>
70079
70080         * modules/fdl: New module, to install doc/fdl.texi.
70081         * MODULES.html.sh: Add new section for documentation modules.
70082         * gnulib-tool: Avoid space-tab.
70083         (--doc-base): New option, to manage files from doc.
70084
70085 2006-07-11  Eric Blake  <ebb9@byu.net>
70086
70087         * m4/absolute-header.m4: Fix comments to match recent change.
70088
70089 2006-07-11  Eric Blake  <ebb9@byu.net>
70090
70091         * gnulib-tool: List --doc-base before --tests-base.
70092
70093 2006-07-11  Derek R. Price  <derek@ximbiot.com>
70094
70095         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
70096
70097 2006-07-11  Bruno Haible  <bruno@clisp.org>
70098
70099         * README: Mention where to put documentation.
70100
70101 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70102
70103         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
70104
70105 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70106
70107         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
70108         to stdint.m4.
70109
70110 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70111
70112         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
70113         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
70114         "no/such/file/stdint.h" when there is no such file, so that
70115         the resulting C code can be parsed by dodgy compilers.
70116         Problems reported by Bob Proulx.
70117
70118 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70119
70120         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
70121         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70122         macros into the GNU _D_EXACT_NAMLEN.
70123         * lib/savedir.c:  Likewise.
70124         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
70125
70126 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70127         and Paul Eggert  <eggert@cs.ucla.edu>
70128
70129         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
70130         * m4/savedir.m4:
70131         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70132         macros into the GNU _D_EXACT_NAMLEN.
70133
70134 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70135
70136         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
70137         around the absolute name, to work around a problem with the HP-UX
70138         11.23 native C compiler, reported by Bob Proulx.
70139
70140 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70141
70142         * doc/maintain.texi, make-stds.texi: Sync from
70143         <http://savannah.gnu.org/projects/gnustandards>.
70144
70145 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70146
70147         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
70148
70149 2006-07-09  Jim Meyering  <jim@meyering.net>
70150
70151         * m4/glob.m4: Remove a doubled word in a comment.
70152
70153 2006-07-09  Jim Meyering  <jim@meyering.net>
70154
70155         * lib/argp-pv.c: Remove a doubled word in a comment.
70156         * lib/check-version.c (check_version): Likewise.
70157         * lib/javacomp.c (compile_java_class): Likewise.
70158
70159 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70160
70161         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
70162         for the benefit of people using Autoconf 2.60.  If you want to
70163         support older Autoconf versions you can copy m4/onceonly_2_57.m4
70164         (or m4/onceonly.m4, if pre-2.57) manually.
70165
70166 2006-07-08  Jim Meyering  <jim@meyering.net>
70167
70168         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
70169         comment.
70170         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
70171         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
70172         comment.
70173
70174 2006-07-08  Jim Meyering  <jim@meyering.net>
70175
70176         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
70177
70178 2006-07-07  Simon Josefsson  <jas@extundo.com>
70179
70180         * tests/test-crc.c: Change expected crc value, the test vector
70181         were probably computed using the old broken crc.c?
70182
70183 2006-07-06  Simon Josefsson  <jas@extundo.com>
70184
70185         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
70186         now the canonical place for the M4 file).
70187
70188         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
70189         from the sys_socket dependency now.
70190
70191         * modules/inet_pton (Files): Ditto.
70192
70193         * modules/inet_ntop (Files): Ditto.
70194
70195 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70196
70197         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
70198         not gl_PREREQ_GETUSERSHELL.
70199
70200 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70201
70202         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
70203         with only one argument, for Autoconf 2.60.
70204         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
70205         expand to nothing, so add a shell command to avoid syntax error.
70206         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
70207
70208 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70209
70210         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
70211
70212 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70213
70214         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
70215         no longer needed.  Check for isblank decl.
70216         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
70217         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
70218         of existence.
70219
70220 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70221
70222         * lib/getloadavg.c: Use __VMS, not VMS.
70223         * lib/getopt.c: Likewise.
70224         * lib/getpagesize.h: Likewise.
70225         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
70226         and probably does not work.
70227
70228 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70229
70230         * lib/.cppi-disable: Add wcwidth.
70231         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
70232         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
70233         (ISGRAPH): Remove.  All uses changed to isgraph.
70234         (FOLD) [!defined _LIBC]: Remove special case.
70235         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
70236         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
70237         HAVE_ISBLANK.
70238         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
70239         case.
70240
70241 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70242
70243         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
70244         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
70245         brackets.  Other minor changes to suppress some compiler
70246         warnings.
70247
70248 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70249         and Paul Eggert  <eggert@cs.ucla.edu>
70250
70251         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
70252         of invoking obsolescent AC_HEADER_DIRENT macro.
70253         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
70254         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
70255         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
70256         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
70257         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
70258         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70259         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
70260         * m4/readdir.m4: Remove; no longer needed.
70261
70262 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70263         and Paul Eggert  <eggert@cs.ucla.edu>
70264
70265         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
70266         Don't worry about this obsolete case any more.
70267         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
70268         directories.
70269         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
70270         worry about this obsolete case any more.
70271         * lib/fts.c: Likewise.
70272         * lib/getcwd.c: Likewise.
70273         * lib/glob.h: Likewise.
70274         * lib/savedir.c: Likewise.
70275
70276 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70277
70278         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
70279         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
70280         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
70281         needed.
70282         All uses removed.
70283         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70284         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70285         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
70286         needed.
70287         * m4/getdate.m4 (gl_GETDATE): Likewise.
70288         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70289         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70290         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70291         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70292         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70293         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70294         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
70295         needed.
70296
70297 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70298
70299         * lib/memcasecmp.c: Include <limits.h>.
70300         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
70301         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
70302         Don't assume isdigit succeeds only on '0' through '9'.
70303
70304 2006-07-05  Eric Blake  <ebb9@byu.net>
70305
70306         * modules/getaddrinfo (Depends-on): Add snprintf.
70307
70308 2006-07-05  Eric Blake  <ebb9@byu.net>
70309
70310         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
70311         to avoid 'header present but could not be compiled' on cygwin.
70312
70313 2006-07-05  Eric Blake  <ebb9@byu.net>
70314
70315         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
70316         missing from netdb.h.
70317         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
70318
70319 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70320
70321         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
70322         no longer needed.
70323         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
70324         * m4/getdate.m4 (gl_GETDATE): Likewise.
70325         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70326         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70327         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70328         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70329         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70330
70331 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70332
70333         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
70334         All uses of is_space replaced by isspace.
70335         * lib/exit.h: Don't talk about STDC_HEADERS.
70336         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
70337         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
70338         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
70339         replaced by isprint etc.
70340         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
70341         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70342         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
70343         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
70344         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
70345         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70346
70347 2006-07-05  Bruno Haible  <bruno@clisp.org>
70348
70349         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
70350         the function exists, before testing against AIX.
70351         Reported by Martin Lambers <marlam@marlam.de>.
70352
70353 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70354
70355         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
70356         From Mark D. Baushke.
70357
70358 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70359
70360         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
70361         to the absolute name, not just one, to bypass Sun C 5.8's
70362         "warning: #include of /usr/include/... may be non-portable".
70363
70364 2006-07-04  Eric Blake  <ebb9@byu.net>
70365
70366         * modules/dirname-tests: New test module.
70367         * tests/test-dirname.c: New file, replacing dirname.c
70368         TEST_DIRNAME section that was recently deleted.
70369
70370 2006-07-04  Bruno Haible  <bruno@clisp.org>
70371
70372         Assume ANSI C header files and <ctype.h> functions.
70373         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
70374         (mbsnwidth): Use isprint, iscntrl instead.
70375
70376 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70377
70378         Merge from coreutils.
70379         * MODULES.html.sh: Add xstrtold.
70380         * modules/xstrtold: New file.
70381         * modules/cycle-check (Files): Add lib/same-inode.h.
70382         * modules/dirname (Files): Add m4/double-slash-root.m4.
70383         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
70384         * modules/mkdir-p (Files): Add lib/same-inode.h.
70385         * modules/same (Files): Add lib/same-inode.h.
70386
70387 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70388
70389         * m4/absolute-header.m4: Renamed from full-header-path.m4.
70390         This is to keep the terminology clean; POSIX talks about
70391         "absolute pathnames", not "full pathnames", but the GNU
70392         Coding Standards say to use "path" for something else;
70393         so use "absolute" to keep both sides happy.
70394         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
70395         Set gl_absolute_header, not gl_full_header_path.
70396         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
70397         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
70398         All uses changed.
70399
70400         Merge from coreutils.
70401
70402         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70403
70404         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
70405         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
70406         want to require the building of c-strtod.o.
70407         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
70408         needs -lm directly.
70409         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
70410
70411         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70412
70413         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
70414         --as-needed option if available.  Problem reported by Albert Chin in
70415         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
70416         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
70417         cc merely issues a bunch of annoying warnings for --as-needed
70418         (this problem was reported by Bob Proulx).  Also, try linking with
70419         -lm to detect a bug in binutils 2.16 (this problem was reported
70420         by Ralf Wildenhues).
70421
70422         2006-06-18  Jim Meyering  <jim@meyering.net>
70423
70424         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
70425         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
70426         macro.
70427         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
70428         also check for glibc-2.4's abort-inducing bug.
70429
70430         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
70431         Low-probability clean-up should be to use rmdir to get rid of
70432         the just-created directory, not unlink.
70433
70434         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
70435         configure fail, and request a bug report to inform us about it.
70436         Add a comment that, barring reports to the contrary, in 2007 we'll
70437         assume ftruncate is universally available.
70438
70439         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70440
70441         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
70442
70443         2006-03-12  Jim Meyering  <jim@meyering.net>
70444
70445         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
70446         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
70447         * m4/same.m4 (gl_SAME): Likewise.
70448         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
70449
70450         2006-03-11  Eric Blake  <ebb9@byu.net>
70451
70452         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
70453         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
70454         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
70455         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
70456
70457 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70458
70459         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
70460         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
70461         reported by Mark D. Baushke, one in
70462         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70463
70464         Merge from coreutils.
70465
70466         * lib/.cppi-disable: Add stdint_.h.
70467         * lib/.cvsignore: Add stdint.h.
70468
70469         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70470
70471         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70472         both double and long double versions.
70473         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70474         * lib/xstrtold.c: New file.
70475         * lib/xstrtod.h (xstrtold): New decl.
70476
70477         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70478
70479         * lib/filemode.c (setst): Remove.
70480         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70481         (arguably) clearer, and the generated code is a bit smaller on my
70482         Debian GNU/Linux stable x86 host.
70483
70484         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70485
70486         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70487         Assume that filemode.h includes sys/types.h and sys/stat.h.
70488         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70489         (ftypelet): Reorder to put common cases first, for efficiency.
70490         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70491         to do 'M'.
70492         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70493         of 10, for compatibility with FreeBSD.  All callers changed.
70494         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70495         types that can't be deduced solely from st_mode.  First arg is now a
70496         const pointer.
70497         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70498         (strmode): Renamed from mode_string.
70499         (filemodestring): New decl.
70500         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70501         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70502         needed.
70503         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70504
70505         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70506
70507         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70508         fsusage.h now does that.  Include fsusage.h first, to test interface.
70509         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70510         at most one method (the old code could have generated decls that
70511         didn't conform to C89, not that this was ever exercised).
70512         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70513
70514         2006-03-19  Jim Meyering  <jim@meyering.net>
70515
70516         Work even in a chroot where d_ino values for entries in "/"
70517         don't match the stat.st_ino values for the same names.
70518         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70519         number, iterate through all entries again, using lstat instead.
70520         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70521         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70522
70523         * lib/getcwd.c (__getcwd): Clarify a comment.
70524         Use memcpy in place of a call to strcpy.
70525
70526         2006-03-12  Jim Meyering  <jim@meyering.net>
70527
70528         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
70529         matches that of the current directory (which we're about to chdir ".."
70530         out of), then save the dev-ino of the parent, instead.
70531
70532         * lib/same-inode.h (SAME_INODE): New file/macro.
70533         * lib/chdir-safer.c (SAME_INODE): Remove definition.
70534         Include "same-inode.h", instead.
70535         * lib/same.c: Likewise.
70536         * lib/cycle-check.h: Include "same-inode.h".
70537         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
70538         * lib/cycle-check.c (SAME_INODE): Remove definition.
70539         * lib/root-dev-ino.h: Include "same-inode.h".
70540
70541         2006-03-11  Eric Blake  <ebb9@byu.net>
70542
70543         * lib/same.c (same_name): s/base_name/last_component/
70544         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
70545         * lib/filenamecat.c (file_name_concat): Likewise.
70546
70547         2006-03-11  Eric Blake  <ebb9@byu.net>,
70548                     Paul Eggert  <eggert@cs.ucla.edu>
70549
70550         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
70551         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
70552         drive prefix.
70553         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
70554         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
70555         (last_component): New method.
70556         * lib/dirname.c (dir_len): Determine when drive letters need a
70557         subsequent slash.  Preserve // when it is special.
70558         (dir_name): Don't append dot when drive letter is absolute.
70559         [TEST_DIRNAME]: Move into a full-blown gnulib test.
70560         * lib/basename.c (base_name): New semantics - malloc the result.
70561         Preserve // when it is special.  Preserve relative files that look
70562         like drive letters.
70563         (base_len): Preserve // when it is special.
70564         (last_component): New method, similar to old base_name semantics.
70565         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
70566         base_name.  Strip redundant slashes from ///.
70567
70568 2006-07-03  Jim Meyering  <jim@meyering.net>
70569
70570         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
70571         macro is used before the first cycle_check call.
70572
70573 2006-07-03  Eric Blake  <ebb9@byu.net>
70574
70575         * modules/dirname (Depends-on): Add xstrndup.
70576
70577 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70578
70579         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
70580         test cases, so that config.log is a bit easier to follow.
70581
70582 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70583
70584         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
70585         both are 64 bits, since this seems to be the tradition, and this
70586         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
70587         we ever run into a host that prefers long long to long in this
70588         case, we'll need another configure-time test.  Problem reported by
70589         Jim Meyering.
70590
70591 2006-07-02  Eric Blake  <ebb9@byu.net>
70592
70593         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
70594
70595 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70596
70597         * modules/inttypes (Depends-on): No longer depends on stdint.
70598         * modules/stdint (Description): Say more about assumptions.
70599         Say that the fast types might differ.  Say macros are used.
70600         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
70601         (Makefile.am): Revise list of substituted symbols to match
70602         new stdint.m4.
70603         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
70604         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
70605         * tests/test-stdint.c (verify_same_types)
70606         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
70607         the code conforms to C99/C89.
70608         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
70609         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
70610
70611 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70612
70613         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
70614         but fix a bug, by requiring at least 64 bits.
70615         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
70616         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
70617         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
70618         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70619
70620         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
70621         changes.  Make 2.59 a prerequisite.  Check and substitute for
70622         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
70623         inttypes.h.  Do not use special include files; just use the
70624         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
70625         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
70626         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
70627         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
70628         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
70629         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
70630         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
70631         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
70632         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
70633         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
70634         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
70635         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
70636         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
70637         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
70638         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
70639         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
70640         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
70641         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
70642         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
70643         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
70644         WINT_MAX.  Check for C99 conformance more strictly, by detecting
70645         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
70646         not check for things that C99 does not require, e.g., int8_t.  If
70647         a test isn't needed unless <stdint.h> isn't working, and is
70648         unlikely to be needed for any other reason, then don't do it
70649         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
70650         size_t, since we assume C89 freestanding at least.  Do not check
70651         for sig_atomic_t, wchar_t, or wint_t, since the code now does
70652         the right thing even if the types are not defined.  Instead use:
70653         (gl_STDINT_TYPE_PROPERTIES): New macro.
70654         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
70655         testing whether <sys/types.h> clashes, as Autoconf does this for
70656         us now.  All uses removed.
70657         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
70658         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
70659         (gl_CHECK_TYPE_SAME):
70660         Remove; no longer needed.
70661         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
70662         exists, since we'll return 0 anyway in that case.
70663         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
70664
70665 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70666
70667         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
70668         possible collision with system files.
70669         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
70670         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
70671         WCHAR_MIN and WCHAR_MAX in this case.
70672         (<stddef.h>): Do not include; no longer needed.
70673         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
70674         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
70675         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
70676         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
70677         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
70678         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
70679         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
70680         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
70681         !defined(__c99))]: Include in this case too, since it's harmless
70682         now.
70683         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
70684         dangerous to do so.
70685         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
70686         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
70687         (_STDINT_MIN, _STDINT_MAX): New macros.
70688         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
70689         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
70690         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
70691         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
70692         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
70693         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
70694         macros, not typedefs; this simplifies things quite a bit.
70695         Use long int for all types narrower than int64_t.
70696         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
70697         Define in terms of long long int or int64_t or long int,
70698         not int64_t or int32_t.  This saves some compile-time testing.
70699         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
70700         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
70701         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
70702         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
70703         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
70704         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
70705         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
70706         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
70707         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
70708         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
70709         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70710         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70711         undef any previous version and define our own version, for
70712         simplicity and consistency with the new macros for types.
70713         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70714         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70715         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
70716         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
70717         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
70718         @WINT_T_SUFFIX@ to keep things simple here.
70719         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
70720         Simplify by assuming typical 8/16/32/64 host, since we're
70721         already doing that elsewhere anyway.
70722         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
70723         and assume long long int is 64 bits if available.  This
70724         speeds up 'configure'.
70725
70726 2006-07-01  Eric Blake  <ebb9@byu.net>
70727
70728         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
70729         Reported by Andreas Buening.
70730
70731 2006-07-01  Eric Blake  <ebb9@byu.net>
70732
70733         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
70734
70735 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70736
70737         * lib/getaddrinfo.c: fixed typo
70738
70739 2006-06-29  Jim Meyering  <jim@meyering.net>
70740
70741         * modules/strftime (Maintainer): Add my name, since with the
70742         FPRINTFTIME changes strftime.c has forked from glibc.
70743
70744 2006-06-29  Eric Blake  <ebb9@byu.net>
70745
70746         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
70747
70748 2006-06-29  Eric Blake  <ebb9@byu.net>
70749
70750         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
70751
70752 2006-06-29  Eric Blake  <ebb9@byu.net>
70753
70754         * lib/stat_.h: New file.
70755
70756 2006-06-29  Eric Blake  <ebb9@byu.net>
70757
70758         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
70759         unused static function.
70760
70761 2006-06-29  Eric Blake  <ebb9@byu.net>
70762
70763         * doc/functions.texi (Function Portability): Document missing lstat
70764         on mingw.
70765
70766 2006-06-29  Eric Blake  <ebb9@byu.net>
70767
70768         * MODULES.html.sh: Add sys_stat.
70769         * modules/sys_stat: New module.
70770         * modules/mkstemp (Depends-on): Add sys_stat.
70771
70772 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70773
70774         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
70775
70776 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70777
70778         * m4/c-bs-a.m4: Removed.
70779
70780 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70781
70782         * lib/strftime.c: Assume strftime() exists.
70783
70784 2006-06-29  Derek Price  <derek@ximbiot.com>
70785
70786         * modules/c-bs-a: Removed - \a is C89.
70787         * MODULES.html.sh: Remove c-bs-a.
70788
70789 2006-06-29  Bruno Haible  <bruno@clisp.org>
70790
70791         * modules/wcwidth (License): Change to LGPL.
70792
70793 2006-06-28  Simon Josefsson  <jas@extundo.com>
70794
70795         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
70796         on _WIN32.
70797
70798         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
70799         getnameinfo.
70800
70801 2006-06-28  Simon Josefsson  <jas@extundo.com>
70802
70803         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
70804
70805 2006-06-28  Simon Josefsson  <jas@extundo.com>
70806
70807         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
70808         functions there.  It will succeed on Windows XP, but on Windows
70809         2000 and (presumably) earlier, it will fail, and use the internal
70810         re-implementation.
70811         (use_win32_p): New function.
70812         (getaddrinfo): Use strtoul on servname, to support numeric ports.
70813         Support AI_NUMERICSERV to disable getservbyname.
70814         (getnameinfo): New function, only supports
70815         NI_NUMERICHOST|NI_NUMERICSERV for now.
70816
70817         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
70818         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
70819         getnameinfo.
70820
70821 2006-06-28  Eric Blake  <ebb9@byu.net>
70822
70823         * modules/wcwidth: New file.
70824         * modules/mbchar (Depends-on): Add wcwidth.
70825         * modules/mbswidth (Depends-on): Add wcwidth.
70826         * MODULES.html.sh: Add wcwidth.
70827
70828 2006-06-28  Eric Blake  <ebb9@byu.net>
70829
70830         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
70831         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
70832
70833 2006-06-28  Eric Blake  <ebb9@byu.net>
70834
70835         * lib/xvasprintf.h: Fix comments.
70836
70837 2006-06-28  Eric Blake  <ebb9@byu.net>
70838
70839         * lib/mbchar.h (wcwidth): Include wcwidth.h.
70840         * lib/mbswidth.c (wcwidth): Move from here...
70841         * lib/wcwidth.h: ...to this new file.
70842
70843 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70844
70845         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
70846
70847         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
70848         it's obsolete.
70849         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
70850
70851 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70852
70853         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
70854         Autoconf 2.60 says this stuff was obsolete.
70855
70856 2006-06-28  Bruno Haible  <bruno@clisp.org>
70857
70858         * modules/wcwidth (Files): Add m4/wchar_t.m4.
70859
70860 2006-06-28  Bruno Haible  <bruno@clisp.org>
70861
70862         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
70863         gt_TYPE_WCHAR_T.
70864
70865 2006-06-28  Bruno Haible  <bruno@clisp.org>
70866
70867         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
70868         declaration for wcwidth.
70869         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
70870
70871 2006-06-28  Bruno Haible  <bruno@clisp.org>
70872
70873         * lib/mkdtemp.c [MINGW]: Include <io.h>.
70874         (mkdir): Define using _mkdir.
70875
70876 2006-06-28  Bruno Haible  <bruno@clisp.org>
70877
70878         * lib/getaddrinfo.h: Fix POSIX URL.
70879         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
70880         _WIN32.
70881         (use_win32_p): Make static.
70882         (getaddrinfo): Reject service name if it is empty or does not consist
70883         solely of decimal digits, or if its value is > 65535.
70884         (getnameinfo): Remove useless casts.
70885
70886 2006-06-27  Simon Josefsson  <jas@extundo.com>
70887
70888         * modules/sys_select: New file, suggested by Bruno Haible, Paul
70889         Eggert and Martin Lambers.
70890
70891 2006-06-27  Simon Josefsson  <jas@extundo.com>
70892
70893         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
70894         Eggert and Martin Lambers.
70895
70896 2006-06-27  Bruno Haible  <bruno@clisp.org>
70897
70898         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
70899         result to 0, not to empty.
70900         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
70901
70902 2006-06-27  Bruno Haible  <bruno@clisp.org>
70903
70904         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
70905
70906 2006-06-26  Simon Josefsson  <jas@extundo.com>
70907
70908         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
70909         present.
70910
70911 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
70912
70913         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
70914         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
70915         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
70916
70917 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
70918
70919         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
70920
70921 2006-06-26  Bruno Haible  <bruno@clisp.org>
70922
70923         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
70924
70925 2006-06-26  Bruno Haible  <bruno@clisp.org>
70926
70927         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
70928
70929 2006-06-26  Bruno Haible  <bruno@clisp.org>
70930
70931         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
70932         SGI C compiler in pre-C99 mode.
70933         Suggested by Mark D. Baushke and Larry Jones.
70934
70935 2006-06-26  Bruno Haible  <bruno@clisp.org>
70936
70937         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
70938         WCHAR_MAX.
70939         Reported by Mark D. Baushke and Larry Jones.
70940
70941 2006-06-26  Bruno Haible  <bruno@clisp.org>
70942
70943         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
70944         in pre-C99 mode.
70945         Suggested by Mark D. Baushke and Larry Jones.
70946
70947 2006-06-23  Simon Josefsson  <jas@extundo.com>
70948             Bruno Haible  <bruno@clisp.org>
70949
70950         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
70951         Emit mostlyclean-local rule.
70952         (func_emit_tests_Makefile_am): Likewise.
70953         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
70954
70955 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
70956
70957         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
70958
70959 2006-06-23  Bruno Haible  <bruno@clisp.org>
70960
70961         * tests/test-stdint.c: Update to match ISO C 99 Technical
70962         Corrigendum 1.
70963
70964 2006-06-23  Bruno Haible  <bruno@clisp.org>
70965
70966         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
70967
70968 2006-06-23  Bruno Haible  <bruno@clisp.org>
70969
70970         * lib/stdint_.h: Treat IRIX like OpenBSD.
70971
70972 2006-06-23  Bruno Haible  <bruno@clisp.org>
70973
70974         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
70975         ISO C 99 Technical Corrigendum 1.
70976
70977 2006-06-22  Simon Josefsson  <jas@extundo.com>
70978
70979         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
70980         MinGW.
70981
70982 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70983
70984         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
70985         needed.  Some compiler complained about some of them.  Problem reported
70986         by Larry Jones in
70987         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
70988
70989 2006-06-21  Simon Josefsson  <jas@extundo.com>
70990
70991         * tests/test-getaddrinfo.c: New file.
70992
70993         * modules/getaddrinfo-tests: New file.
70994
70995         * MODULES.html.sh: Add inet_pton.
70996
70997         * modules/inet_pton: New file.
70998
70999 2006-06-21  Simon Josefsson  <jas@extundo.com>
71000
71001         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
71002         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
71003         of using the (limited) gnulib implementation on Windows XP.
71004
71005         * m4/inet_pton.m4: New file.
71006
71007 2006-06-21  Simon Josefsson  <jas@extundo.com>
71008
71009         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
71010         variable.
71011
71012         * lib/socket_.h: Don't define WINVER.
71013
71014         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
71015         slightly modified to work in gnulib.
71016
71017 2006-06-21  Simon Josefsson  <jas@extundo.com>
71018
71019         * doc/gnulib.texi (Windows sockets): Add.
71020
71021 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
71022
71023         * lib/read-file.c (fread_file): Start with buffer allocation of
71024         0 bytes rather than 1 byte; this simplifies the code.
71025         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
71026         code to free buffer and save/restore errno.
71027         (internal_read_file): Remove unused local.
71028
71029 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
71030
71031         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
71032         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
71033         Problem reported by Denis Excoffier in
71034         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
71035
71036 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71037
71038         * modules/sys_socket, modules/socklen: Include sys/types since
71039         FreeBSD 4.x's sys/socket.h needs it.
71040
71041 2006-06-19  Simon Josefsson  <jas@extundo.com>
71042
71043         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
71044
71045 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71046
71047         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
71048
71049 2006-06-19  Bruno Haible  <bruno@clisp.org>
71050
71051         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
71052         and FULL_PATH_INTTYPES_H in angle brackets.
71053         Reported by Mark D. Baushke <mdb@gnu.org>.
71054
71055 2006-06-17  Eric Blake  <ebb9@byu.net>
71056
71057         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
71058         errno.
71059
71060 2006-06-17  Bruno Haible  <bruno@clisp.org>
71061
71062         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
71063         <sys/inttypes.h>.
71064
71065 2006-06-17  Bruno Haible  <bruno@clisp.org>
71066
71067         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
71068         whether errno is declared. Assume <errno.h> declares errno.
71069
71070 2006-06-17  Bruno Haible  <bruno@clisp.org>
71071
71072         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
71073
71074 2006-06-17  Bruno Haible  <bruno@clisp.org>
71075
71076         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
71077         problem on Solaris 2.5.1.
71078
71079 2006-06-16  Eric Blake  <ebb9@byu.net>
71080
71081         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
71082         * lib/unicodeio.c [!defined errno]: Likewise.
71083         * lib/strtol.c [!defined errno]: Likewise.
71084         * lib/strtod.c [!defined errno]: Likewise.
71085
71086 2006-06-15  Eric Blake  <ebb9@byu.net>
71087
71088         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
71089
71090 2006-06-15  Eric Blake  <ebb9@byu.net>
71091
71092         * config/srclist.txt (ssize_t.m4): Lose sync.
71093
71094 2006-06-15  Bruno Haible  <bruno@clisp.org>
71095
71096         * modules/stdint (Files): Include m4/full-header-path.m4,
71097         m4/size_max.m4, m4/wchar_t.m4.
71098         (Makefile.am): Many more substitutions.
71099         * modules/stdint-tests: New file.
71100         * tests/test-stdint.c: New file.
71101
71102 2006-06-15  Bruno Haible  <bruno@clisp.org>
71103
71104         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
71105         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
71106         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
71107         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
71108         gl_CHECK_TYPE_SAME): New macros.
71109
71110 2006-06-15  Bruno Haible  <bruno@clisp.org>
71111
71112         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
71113
71114 2006-06-15  Bruno Haible  <bruno@clisp.org>
71115
71116         * lib/stdint_.h: Rewritten to be fully auto-configured.
71117         Fixes bug on HP-UX/IA64.
71118
71119 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
71120
71121         * lib/getdate.y (__attribute__): Don't define if already defined.
71122         Problem reported by Larry Jones.
71123         * lib/utimens.c (__attribute__): Likewise.
71124
71125 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
71126
71127         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
71128         reported by Andreas Schwab.
71129
71130 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71131             Bruno Haible  <bruno@clisp.org>
71132
71133         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
71134         check for the declaration of strnlen and a run test that exposes the
71135         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
71136         rpl_strndup.
71137
71138 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71139             Bruno Haible  <bruno@clisp.org>
71140
71141         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
71142
71143 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71144
71145         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
71146         compile test, for Tru64 4.0D.
71147
71148 2006-05-28  Karl Berry  <karl@gnu.org>
71149
71150         * config/srclist.txt (printf-args.c): lose sync.
71151
71152 2006-05-26  Martin Lambers  <marlam@marlam.de>
71153
71154         * lib/getpass.c: Updates the test for the native W32 API, and adds
71155         missing includes, thus fixing compilation warnings.
71156
71157 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71158
71159         * lib/exclude.c (exclude_fnmatch): New function.
71160         (excluded_file_name): Call exclude_fnmatch.
71161         * lib/exclude.h (excluded_file_name): New prototype
71162
71163 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
71164
71165         * lib/tempname.c (small_open, large_open): New macros.
71166         (__open, __open64) [!_LIBC]: Remove.
71167         (__gen_tempname): Use small_open and large_open instead of __open
71168         and __open64.  This fixes a portability bug on HP-UX 11.11i
71169         reported by Simon Wing-Tang in
71170         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
71171
71172 2006-05-24  Bruno Haible  <bruno@clisp.org>
71173
71174         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
71175         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
71176         Reported by Thorsten Maerz <torte@netztorte.de> via
71177         Aaron Stone <aaron@serendipity.cx>.
71178
71179 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71180
71181         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
71182         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
71183         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
71184         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
71185         not really conditional on the cache.
71186         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
71187
71188 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71189
71190         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
71191         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
71192         (my_usleep): Don't mishandle maximum value.
71193
71194 2006-05-19  Jim Meyering  <jim@meyering.net>
71195
71196         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
71197
71198 2006-05-17  Bruno Haible  <bruno@clisp.org>
71199
71200         Cygwin portability.
71201         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
71202
71203 2006-05-17  Bruno Haible  <bruno@clisp.org>
71204
71205         * lib/stdint_.h: Fix recognition of Cygwin.
71206
71207 2006-05-15  Bruno Haible  <bruno@clisp.org>
71208
71209         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
71210         on libtool patch by Ralf Wildenhues.
71211
71212 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
71213
71214         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
71215         test for C99 conformance; (bool) 0.5 is an integer constant
71216         expression, but (bool) -0.5 is not.  Problem reported by Fedor
71217         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
71218
71219 2006-05-11  Simon Josefsson  <jas@extundo.com>
71220
71221         * m4/xvasprintf.m4: Fix obvious typo.
71222
71223 2006-05-11  Jim Meyering  <jim@meyering.net>
71224
71225         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
71226         James Lemley.
71227
71228 2006-05-10  Simon Josefsson  <jas@extundo.com>
71229
71230         * lib/md4.c: Typo fix, update copyright years.
71231         (K1, K2): Don't use L because it turn computations into 64-bit on
71232         64-bit platforms.
71233
71234 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
71235
71236         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
71237         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
71238         unwanted sign propagation, e.g., on hosts with 64-bit int.
71239         There still are some problems with reeelly weird theoretical hosts
71240         (e.g., 33-bit int) but it's not worth worrying about now.
71241         * lib/sha1.c (rol): Likewise.
71242         (K1, K2, K3, K4): Remove unnecessary L suffix.
71243
71244 2006-05-10  Bruno Haible  <bruno@clisp.org>
71245
71246         * lib/des.c: Cast to avoid warnings.
71247
71248 2006-05-09  Bruno Haible  <bruno@clisp.org>
71249
71250         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
71251         (Depends-on): Depend also on xsize, stdarg.
71252         (configure.ac): Add gl_XVASPRINTF.
71253
71254 2006-05-09  Bruno Haible  <bruno@clisp.org>
71255
71256         * m4/xvasprintf.m4: New file.
71257
71258 2006-05-09  Bruno Haible  <bruno@clisp.org>
71259
71260         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
71261         (EOVERFLOW): Define fallback value.
71262         (xstrcat): New function.
71263         (xvasprintf): Recognize the special case of a string concatenation.
71264
71265 2006-05-08  Eric Blake  <ebb9@byu.net>
71266
71267         * gnulib-tool (func_version): Base copyright year on CVS date.
71268         (func_emit_copyright_notice): New function.
71269         (func_emit_lib_Makefile_am): Use it.
71270         (func_emit_tests_Makefile_am): Likewise.
71271         (func_import): Likewise.
71272
71273 2006-05-08  Bruno Haible  <bruno@clisp.org>
71274
71275         * modules/stdarg: New file.
71276         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
71277
71278 2006-05-08  Bruno Haible  <bruno@clisp.org>
71279
71280         * m4/stdarg.m4: New file, from GNU gettext.
71281
71282 2006-05-08  Bruno Haible  <bruno@clisp.org>
71283
71284         * config/srclist.txt (build-aux/config.rpath): different from latest
71285         release.
71286
71287 2006-05-08  Bruno Haible  <bruno@clisp.org>
71288
71289         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
71290
71291 2006-05-05  Jim Meyering  <jim@meyering.net>
71292
71293         * m4/warning.m4: New file, derived from bison's file by the same name.
71294
71295 2006-05-03  Bruno Haible  <bruno@clisp.org>
71296
71297         * lib/stdint_.h: Shorter URL.
71298         * lib/inttypes.h: Likewise.
71299
71300 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71301
71302         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
71303
71304 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71305
71306         * lib/verify.h: Document the internals better.  Most of this change
71307         was written by Bruno Haible.
71308
71309 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71310
71311         * doc/verify.texi: New file, partly based on a proposal by
71312         Bruno Haible.
71313
71314 2006-05-02  Bruno Haible  <bruno@clisp.org>
71315
71316         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
71317         test from here...
71318         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
71319
71320 2006-04-29  Bruno Haible  <bruno@clisp.org>
71321
71322         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
71323         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
71324
71325 2006-04-29  Bruno Haible  <bruno@clisp.org>
71326
71327         * gnulib-tool: Make --update option actually work.
71328
71329 2006-04-29  Bruno Haible  <bruno@clisp.org>
71330
71331         * doc/gcd.texi: New file.
71332         * doc/gnulib.texi: Include it.
71333
71334 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
71335
71336         * lib/getdate.y (get_date): When adding relative date, start with the
71337         initial time, not with the result of the first mktime call.
71338
71339 2006-04-25  Bruno Haible  <bruno@clisp.org>
71340
71341         * gnulib-tool (func_import): Output the include directives in three
71342         blocks, sorted separately.
71343         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71344
71345 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71346
71347         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
71348         to define main with arguments, for C++.  Reported by Eric Blake.
71349         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
71350         Prefer 'int main ()' to 'int main (void)', for C++.
71351         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
71352         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
71353         for 'main', for C99 and C++.
71354
71355 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71356
71357         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
71358         Don't assume that exit status -1 is valid.
71359         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71360         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
71361         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71362         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
71363         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
71364         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
71365         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
71366         functions can be used without declaring them, or that you can
71367         exit with status -1.
71368         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71369
71370 2006-04-24  Karl Berry  <karl@gnu.org>
71371
71372         * config/srclist.txt (longdouble.m4): sync lost.
71373
71374 2006-04-24  Eric Blake  <ebb9@byu.net>
71375
71376         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
71377
71378 2006-04-24  Bruno Haible  <bruno@clisp.org>
71379
71380         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
71381         poll() implementation in AIX.
71382         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71383
71384 2006-04-24  Bruno Haible  <bruno@clisp.org>
71385
71386         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
71387         assigned exactly once.
71388
71389 2006-04-23  Claudio Fontana  <claudio@gnu.org>
71390             Bruno Haible  <bruno@clisp.org>
71391
71392         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
71393         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
71394         for AM_CPPFLAGS.
71395
71396 2006-04-23  Bruno Haible  <bruno@clisp.org>
71397
71398         * modules/copy-file: Depend on unistd.
71399         * modules/execute: Likewise.
71400         * modules/fatal-signal: Likewise.
71401         * modules/findprog: Likewise.
71402         * modules/mkdtemp : Likewise.
71403         * modules/pipe: Likewise.
71404         * modules/wait-process: Likewise.
71405
71406 2006-04-23  Bruno Haible  <bruno@clisp.org>
71407
71408         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
71409         condition was already detected.
71410         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71411
71412 2006-04-23  Bruno Haible  <bruno@clisp.org>
71413
71414         * lib/copy-file.c: Include <unistd.h> unconditionally.
71415         * lib/execute.c: Likewise.
71416         * lib/fatal-signal.c: Likewise.
71417         * lib/findprog.c: Likewise.
71418         * lib/mkdtemp.c: Likewise.
71419         * lib/pipe.h: Likewise.
71420         * lib/pipe.c: Likewise.
71421         * lib/wait-process.h: Likewise.
71422
71423 2006-04-23  Bruno Haible  <bruno@clisp.org>
71424
71425         * gnulib-tool (func_usage): Fix --import description. Document
71426         --update.
71427         (func_import): Create temporary file in a temporary directory, if
71428         --dry-run is specified. Silence errors from 'grep' when there are no
71429         m4 files in $m4dir.
71430         (func_create_testdir): Silence errors from 'grep' when there are no
71431         m4 files in $m4dir.
71432         Reported by Karl Berry <karl@freefriends.org>.
71433
71434 2006-04-20  Bruno Haible  <bruno@clisp.org>
71435
71436         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
71437         one argument, so that the code will be portable to Autoconf 2.60.
71438         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
71439         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71440         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
71441
71442 2006-04-19  Derek Price  <derek@ximbiot.com>
71443             Eric Blake  <ebb9@byu.net>
71444
71445         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
71446         rather than "/full/path.h".  Update comment to match.  Shorten &
71447         generalize m4_translit call via AS_TR_CPP.
71448
71449 2006-04-19  Derek Price  <derek@ximbiot.com>
71450             Eric Blake  <ebb9@byu.net>
71451
71452         * lib/inttypes.h: Correct grammar in comment.
71453
71454 2006-04-18  Derek Price  <derek@ximbiot.com>
71455             Paul Eggert  <eggert@cs.ucla.edu>
71456
71457         * modules/inttypes: New file.
71458         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
71459
71460 2006-04-18  Derek Price  <derek@ximbiot.com>
71461             Paul Eggert  <eggert@cs.ucla.edu>
71462
71463         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71464         New files.
71465
71466 2006-04-18  Derek Price  <derek@ximbiot.com>
71467             Paul Eggert  <eggert@cs.ucla.edu>
71468
71469         * lib/inttypes.h: New file.
71470         * lib/strtoimax.c: Assume <inttypes.h>.
71471
71472 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71473
71474         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71475         isn't mounted.  Problem reported by Kir Kolyshkin.
71476
71477 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71478
71479         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71480         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71481         Derek R. Price.
71482         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71483         implementation.
71484
71485 2006-04-12  Eric Blake  <ebb9@byu.net>
71486
71487         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71488         is now done automatically by the corresponding Autoconf macro.
71489
71490 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71491
71492         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71493         time_r.h.
71494
71495 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71496
71497         Merge regex changes from libc, removing some of our
71498         POSIX-conformance changes that were rejected and redoing them in a
71499         less-intrusive way.
71500
71501         * lib/regcomp.c (re_compile_internal, init_dfa):
71502         Length arg is now size_t, not Idx.  All uses changed.
71503         (peek_token): Forward decl now says internal_function.
71504         (__re_error_msgid, __re_error_msgid_idx):
71505         Now static rather than extern with attribute_hidden.
71506         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71507         For some reason libc prefers K&R style defns for external functions.
71508         (regerror) [!defined _LIBC]: Likewise.
71509         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71510         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71511         (build_range_exp, build_collating_symbol):
71512         Use K&R-style defn.
71513         (re_compile_fastmap): Use '\0' to memset, not 0.
71514         (utf8_sb_map): Make the calculations more obvious.
71515         (init_dfa, parse_bracket_exp, build_charclass_op):
71516         Call calloc and cast result, as glibc does.
71517         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71518         (build_range_exp, build_collating_symbol):
71519         Now internal functions.
71520
71521         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71522
71523         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71524         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
71525         Don't depend on VMS; depend on __VMS instead, for POSIX
71526         namespace cleanness.
71527         (regoff_t): Define to ssize_t, not long int.
71528
71529         Remove the REG_ macros named below.  Instead, make the old names
71530         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
71531         __USE_GNU_REGEX.
71532         (REG_BACKSLASH_ESCAPE_IN_LISTS):
71533         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
71534         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
71535         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
71536         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
71537         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
71538         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
71539         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
71540         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
71541         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
71542         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
71543         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
71544         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
71545         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
71546         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
71547         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
71548         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
71549         (REG_NREGS):
71550         Remove.  All uses replaced by the old RE_* names.
71551         (RE_BACKSLASH_ESCAPE_IN_LISTS):
71552         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
71553         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
71554         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
71555         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
71556         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
71557         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
71558         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
71559         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
71560         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
71561         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
71562         Don't bother having these macros be independent of each others'
71563         values, since they no longer exist in the POSIX name space.
71564
71565         Rename the following member names back to their old names,
71566         unless !__USE_GNU_REGEX.  All uses changed back.
71567         (buffer): Renamed from re_buffer.
71568         (allocated): Renamed from re_allocated.
71569         (used): Renamed from re_used.
71570         (syntax): Renamed from re_syntax.
71571         (fastmap): Renamed from re_fastmap.
71572         (translate): Renamed from re_translate.
71573         (can_be_null): Renamed from re_can_be_null.
71574         (regs_allocated): Renamed from re_regs_allocated.
71575         (fastmap_accurate): Renamed from re_fastmap_accurate.
71576         (no_sub): Renamed from re_no_sub.
71577         (not_bol): Renamed from re_not_bol.
71578         (not_eol): Renamed from re_not_eol.
71579         (newline_anchor): Renamed from re_newline_anchor.
71580         (num_regs): Renamed from rm_num_regs.
71581         (start): Renamed from rm_start.
71582         (end): Renamed from rm_end.
71583
71584         (free_state): Move up a bit.
71585
71586         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
71587         #define to be empty.
71588         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
71589         when that is what is intended.
71590         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
71591         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
71592         (MAX): New macro.
71593         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
71594         All uses changed back to re_malloc, etc.  It's now the caller's
71595         responsibility to check for overflow; all callers changed.
71596         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
71597         (re_x2nrealloc): Remove.
71598         (free_state): Remove decl.
71599
71600         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
71601         (re_set_registers, re_exec):
71602         Use K&R-style defn.
71603
71604         2006-01-31  Roland McGrath  <roland@redhat.com>
71605
71606         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
71607         Reported by Mike Frysinger <vapier@gentoo.org>.
71608
71609         2006-01-15  Andreas Jaeger  <aj@suse.de>
71610
71611         [BZ #1950]
71612         * lib/regex_internal.c (re_string_reconstruct): Adjust for
71613         build_wcs_upper_buffer change.
71614         (build_wcs_upper_buffer): Change return type.
71615
71616         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
71617
71618         * lib/regex_internal.h: Include <stdint.h> if available.
71619
71620         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
71621
71622         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
71623
71624         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71625
71626         * lib/regcomp.c: Adjust for changed secondary hash function.
71627
71628         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
71629
71630         * lib/regex.h: Pretty printing.
71631         Clean up namespace a bit.
71632
71633         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
71634
71635         * lib/regexec.c (update_cur_sifted_state, check_arrival,
71636         check_arrival_add_next_nodes): Avoid using uninitialized variable.
71637
71638         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71639                     Ulrich Drepper  <drepper@redhat.com>
71640
71641         [BZ #1302]
71642         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
71643         changed.
71644         (bitset_word_t): Renamed from bitset_word.  All uses changed.
71645
71646         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
71647
71648         [BZ #281]
71649         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
71650         * lib/regcomp.c: Remove unnecessary uses of
71651         unsigned RE_TRANSLATE_TYPE.
71652         * lib/regex_internal.h: Likewise.
71653         * lib/regex_internal.c: Likewise.
71654         * lib/regexec.c: Likewise.
71655         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
71656
71657         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
71658
71659         * lib/regexec.c (find_recover_state): Remove unnecessary
71660         initialization.
71661         (transit_state_bkref): Make DFA a const pointer.
71662         (get_subexp): Likewise.
71663         (check_arrival): Likewise.
71664         (update_cur_sifted_state): Likewise.
71665         (re_search_internal): Likewise.
71666         (prune_impossible_nodes): Likewise.
71667         (acquire_init_state_context): Likewise.
71668         (proceed_next_node): Likewise.
71669         (set_regs): Likewise.
71670         (free_fail_stack_return): Likewise.
71671         (check_arrival_expand_ecl): Mark DFA parameter as const.
71672         (check_arrival_expand_ecl_sub): Likewise.
71673         (check_subexp_limits): Likewise.
71674         (sub_epsilon_src_nodes):  Likewise.
71675         (add_epsilon_src_nodes):  Likewise.
71676         (merge_state_array): Likewise.
71677         (update_regs): Likewise.
71678         (build_trtable): Likewise.
71679         (sift_states_backward): Mark MCTX parameter as const.
71680         (build_sifted_states): Likewise.
71681         (update_cur_sifted_state): Likewise.
71682         (sift_states_mkref): Likewise.
71683         (check_arrival_expand_ecl): Mark eclosure as const.
71684         (check_dst_limits_calc_pos_1): Likewise.
71685         * lib/regex_internal.h (re_match_context_t): Make dfa a const
71686         pointer.
71687
71688         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
71689
71690         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
71691         (transit_state_sb): Likewise.
71692         (transit_state_mb): Likewise.
71693         (sift_states_iter_mb): Likewise.
71694         (check_arrival_add_next_nodes): Likewise.
71695         (check_node_accept_bytes): Change first parameter to pointer-to-const.
71696         [_LIBC] (re_search_2_stub): Use mempcpy.
71697
71698         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
71699         mbrtowc for very simple UTF-8 case.
71700
71701         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
71702         a pointer-to-const.
71703         (re_acquire_state_context): Likewise.
71704         * lib/regex_internal.h: Adjust prototypes.
71705
71706         * lib/regex.c: Prevent using C++ compilers.
71707
71708         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
71709         (re_acquire_state_context): Likewise.
71710
71711 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71712
71713         * modules/regex (Depends-on): Add ssize_t.
71714
71715 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71716
71717         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
71718         translation table.
71719
71720 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71721
71722         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
71723
71724 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
71725             Bruno Haible  <bruno@clisp.org>
71726
71727         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
71728         <sys/types.h> and <inttypes.h>.
71729
71730 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71731
71732         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
71733         `__error_t_defined', so argp.h will not typedef the former.
71734
71735 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
71736
71737         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
71738         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
71739         glibc names.  Even if glibc is changed to conform to POSIX, the
71740         traditional names will be available anyway, since regex depends on
71741         the extensions module.  Also, fix a longstanding typo in the
71742         implementation of Spencer ERE test #75 from grep 2.3.  Problems
71743         reported by Emanuele Giaquinta.  Also, change sense of cached
71744         variable, so that the message makes sense.
71745
71746 2006-03-24  Simon Josefsson  <jas@extundo.com>
71747
71748         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
71749         including some doc fixes.
71750         (base64_encode_alloc): Fix +1 bug on allocation failures.
71751
71752 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71753
71754         * lib/base64.c (base64_encode): Do not read past end of array with
71755         unsanitized input on systems with CHAR_BIT > 8.
71756
71757 2006-03-24  Eric Blake  <ebb9@byu.net>
71758
71759         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
71760
71761 2006-03-22  Karl Berry  <karl@gnu.org>
71762
71763         * config/srclist.txt (*setenv.[ch]): get from coreutils.
71764         * config/srclistvars.sh (COREUTILS): new var.
71765
71766 2006-03-17  Jim Meyering  <jim@meyering.net>
71767
71768         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
71769         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
71770
71771 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71772
71773         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
71774         no longer needs it.  Instead, check that regoff_t is as least
71775         as wide as ptrdiff_t.
71776
71777         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
71778         so that our regex.h stays compatible with the installed regex.
71779         This is helpful for installers who configure --without-included-regex.
71780         Problem reported by Emanuele Giaquinta.
71781
71782 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71783
71784         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
71785         Typedef to long int, not to off_, as POSIX will likely change
71786         in that direction.
71787
71788 2006-03-15  Eric Blake  <ebb9@byu.net>
71789
71790         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
71791
71792 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71793
71794         * lib/argp-help.c (validate_uparams): Fix typo
71795         * lib/argp-parse.c (argp_default_options): Consistently begin help
71796         messages with a lowercase letter.
71797
71798 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
71799
71800         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
71801         overrun buffers and shouldn't be used (much as gets shouldn't be
71802         used).
71803         * lib/time_r.c (asctime_r, ctime_r): Likewise.
71804
71805 2006-03-08  Simon Josefsson  <jas@extundo.com>
71806
71807         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
71808         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71809
71810 2006-03-08  Simon Josefsson  <jas@extundo.com>
71811
71812         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
71813         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71814
71815 2006-03-08  Simon Josefsson  <jas@extundo.com>
71816
71817         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
71818         signal that configure disabled the device.
71819
71820 2006-03-08  Simon Josefsson  <jas@extundo.com>
71821
71822         * build-aux/maint.mk: Fix refresh-po, to handle no translated
71823         languages.
71824
71825 2006-03-07  Simon Josefsson  <jas@extundo.com>
71826
71827         * modules/getopt (Depends-on): Add unistd.
71828
71829         * modules/unistd: New file.
71830
71831 2006-03-07  Simon Josefsson  <jas@extundo.com>
71832
71833         * modules/gc-random: New file.
71834
71835 2006-03-07  Simon Josefsson  <jas@extundo.com>
71836
71837         * m4/unistd_h.m4: New file.
71838
71839 2006-03-07  Simon Josefsson  <jas@extundo.com>
71840
71841         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
71842         test to be side-effect free by storing the result in the cache
71843         variable gl_cv_lib_readline, and moving the assignment of
71844         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
71845         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71846
71847 2006-03-07  Simon Josefsson  <jas@extundo.com>
71848
71849         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
71850         error on missing devices (the functions will return an error).
71851
71852         * m4/gc.m4: Move random stuff to gc-random.m4
71853
71854 2006-03-07  Simon Josefsson  <jas@extundo.com>
71855
71856         * lib/unistd_.h: New file.
71857
71858 2006-03-07  Simon Josefsson  <jas@extundo.com>
71859
71860         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
71861
71862 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71863
71864         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
71865         Problem reported by Juan Manuel Guerrero.
71866
71867 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71868
71869         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
71870         the unistd module.
71871         * lib/getlogin_r.c: Likewise.
71872         * lib/getlogin_r.h: Likewise.
71873         * lib/glob.c: Likewise.
71874         * lib/pagealign_alloc.c: Likewise.
71875         * lib/unistd_.h: Remove; no longer needed.
71876
71877 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71878
71879         * MODULES.html.sh (Support for systems lacking POSIX:2001):
71880         Add unistd.
71881         * modules/c-stack (Depends-on): Add unistd.
71882         * modules/getlogin_r: Likewise.
71883         * modules/glob: Likewise.
71884         * modules/pagealign_alloc: Likewise.
71885         * modules/unistd (Files): Remove lib/unistd_.h.
71886         (EXTRA_DIST): Remove.
71887         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
71888         need unistd_.h.
71889         (MOSTLYCLEANFILES): Remove unistd.h-t.
71890
71891 2006-03-03  Simon Josefsson  <jas@extundo.com>
71892
71893         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
71894
71895 2006-03-03  Simon Josefsson  <jas@extundo.com>
71896
71897         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
71898         libidn and bison.
71899
71900 2006-03-03  Simon Josefsson  <jas@extundo.com>
71901
71902         * build-aux/maint.mk: Add indent target.
71903
71904 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
71905
71906         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
71907         our replacement poll.h in any case, to avoid a differing
71908         declaration from a system header.  Seen on AIX.
71909
71910 2006-03-01  Simon Josefsson  <jas@extundo.com>
71911
71912         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
71913         <kasal@ucw.cz>.
71914
71915 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71916
71917         * modules/gettime (Depends-on): Add extensions module.
71918         * modules/nanosleep (Depends-on): Likewise.
71919         * modules/settime (Depends-on): Likewise.
71920
71921 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71922
71923         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
71924         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
71925         pedantically.
71926         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71927         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
71928
71929         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
71930         not "==".  Reported by Ralf Wildenhues.
71931
71932 2006-03-01  Karl Berry  <karl@gnu.org>
71933
71934         * doc/Copyright/request-*: new files, synced from gnuorg.
71935
71936 2006-03-01  Karl Berry  <karl@gnu.org>
71937
71938         * config/srclist.txt (Copyright/*): new entries.
71939
71940 2006-02-28  Simon Josefsson  <jas@extundo.com>
71941
71942         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
71943
71944 2006-02-27  Simon Josefsson  <jas@extundo.com>
71945
71946         * lib/base64.h: Indent #define's.  From Jim Meyering
71947         <jim@meyering.net>.
71948
71949 2006-02-27  Jim Meyering  <jim@meyering.net>
71950
71951         Revert the change of 2006-02-24, so these files can continue
71952         to be sync'd from gettext.
71953         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
71954         of `config.h'.
71955
71956 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
71957
71958         * modules/intprops: New file.
71959         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
71960         Add intprops.
71961         * modules/getloadavg (Files): Remove lib/intprops.h.
71962         (Depends-on): Add intprops.
71963         * modules/human: Likewise.
71964         * modules/inttostr: Likewise.
71965         * modules/openat: Likewise.
71966         * modules/sig2str: Likewise.
71967         * modules/userspec: Likewise.
71968         * modules/utimecmp: Likewise.
71969         * modules/xnanosleep: Likewise.
71970         * modules/xstrtol: Likewise.
71971
71972 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
71973
71974         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
71975         * modules/lock-tests (TESTS): Use $(EXEEXT).
71976         * modules/tls-tests: Likewise.
71977         * modules/argp-tests: Likewise.
71978         (check_PROGRAMS): New var, replacing...
71979         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
71980
71981 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71982
71983         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
71984         `config.h'.
71985
71986 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
71987
71988         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
71989
71990 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71991
71992         Sync from coreutils.
71993         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
71994         gl_CHDIR_SAFER.
71995
71996 2006-02-22  Jim Meyering  <jim@meyering.net>
71997
71998         Sync from coreutils.
71999         * m4/chdir-safer.m4: New file.
72000
72001 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72002
72003         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
72004         AT_FDCWD exceeds INT_MAX.
72005         * lib/openat.h (AT_FDCWD): Likewise.
72006
72007 2006-02-17  Eric Blake  <address@hidden>
72008
72009         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
72010
72011 2006-02-16  Simon Josefsson  <jas@extundo.com>
72012
72013         * modules/getaddrinfo (Depends-on): Add sys_socket.
72014
72015 2006-02-15  Simon Josefsson  <jas@extundo.com>
72016
72017         * build-aux/maint.mk: Add dsyntax-check rule.
72018
72019 2006-02-15  Eric Blake  <ebb9@byu.net>
72020
72021         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
72022         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
72023         'present but cannot compile' warnings on cygwin.
72024         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
72025         use ws2tcpip.h if sys/socket.h works.
72026         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
72027         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
72028
72029 2006-02-14  Simon Josefsson  <jas@extundo.com>
72030
72031         * modules/maintainer-makefile (Files): Rename.
72032
72033         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
72034         and (the local) Makefile.cfg to maint-cfg.mk.
72035
72036         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
72037         to the latter.
72038
72039         * modules/maintainer-makefile: New module.
72040
72041         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
72042         severaly stripped to make it possible to build it up from scratch
72043         with reliable tests.
72044
72045         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
72046         fixes to permit overriding the default actions when configure and
72047         makefile are not available.
72048
72049 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72050
72051         Sync from coreutils.
72052         * modules/lstat (Depends-on): Don't depend on xalloc.
72053         (License): Change from GPL to LGPL, since this is now simply a
72054         replacement for a libc function.
72055
72056 2006-02-14  Jim Meyering  <jim@meyering.net>
72057
72058         Sync from coreutils.
72059
72060         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
72061         failure on deficient systems, and simplify gnulib lgpl dependencies.
72062         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
72063         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
72064
72065         * lib/xalloc-die.c: Remove unused definition of N_.
72066
72067 2006-02-14  Jim Meyering  <jim@meyering.net>
72068
72069         Sync from coreutils.
72070         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
72071         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
72072         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
72073         double-quote uses of that variable, to accommodate the rare case in
72074         which getmntent is available in none of the libraries checked.  This
72075         happens at least on FreeBSD 5.0.
72076
72077 2006-02-13  Simon Josefsson  <jas@extundo.com>
72078
72079         * gnulib-tool (Usage): Fix --import, from
72080         karl@freefriends.org (Karl Berry).
72081
72082 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72083
72084         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
72085
72086 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
72087
72088         * lib/argp-namefrob.h: Restore changes accidentally lost during the
72089         "autoupdate" on 2005-12-12.
72090
72091 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72092
72093         * modules/closeout (Depends-on): Remove atexit.
72094
72095 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72096
72097         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
72098         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
72099
72100 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72101
72102         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
72103         __EXTENSIONS__ if this causes compilation to fail.  Problem
72104         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
72105         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
72106
72107 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
72108
72109         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
72110         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
72111         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
72112         All uses changed.
72113
72114 2006-01-26  Simon Josefsson  <jas@extundo.com>
72115
72116         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
72117         prototype is visible on mingw32.
72118
72119         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
72120         for mingw32.
72121
72122         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
72123         mingw32).
72124
72125 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72126
72127         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
72128         attempt to open for write; this always fails, at least on POSIX
72129         hosts.  This reinstates the 2006-01-09 change, which was
72130         inadvertently removed.
72131
72132 2006-01-26  Bruno Haible  <bruno@clisp.org>
72133
72134         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
72135         Reported by Paul Eggert.
72136
72137 2006-01-26  Bruno Haible  <bruno@clisp.org>
72138             Paul Eggert  <eggert@cs.ucla.edu>
72139
72140         * lib/stdbool_.h (_Bool)
72141         [(! (defined __cplusplus || defined __BEOS__)
72142           && !defined __GNUC__
72143           && !(defined __HP_cc || defined __xlc__
72144                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
72145                || defined __sgi))]:
72146         #define to signed char in these cases too; this simplifies
72147         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
72148         etc., separately) and makes it more conservative.
72149
72150 2006-01-25  Simon Josefsson  <jas@extundo.com>
72151
72152         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
72153         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
72154         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
72155
72156 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72157
72158         * lib/argp-namefrob.h: Bugfix. Remove stray #
72159
72160 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
72161
72162         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
72163         so that we test the test.
72164         Check for yet another HP-UX cc bug involving *bool |= bool.
72165
72166 2006-01-25  Karl Berry  <karl@gnu.org>
72167
72168         * config/srclist.txt (vasnprintf.c): sync lost.
72169
72170 2006-01-25  Jim Meyering  <jim@meyering.net>
72171
72172         Sync from the stable (b5) branch of coreutils:
72173
72174         * lib/fts.c (fts_children): Don't let close() clobber errno from
72175         failed fchdir().
72176
72177         * lib/fts.c (fts_stat): When following a symlink-to-directory,
72178         don't necessarily interpret stat-fails+lstat-succeeds as indicating
72179         a dangling symlink.  That can also happen at least for ELOOP.
72180         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
72181         FYI, this bug predates the inclusion of fts.c in coreutils.
72182
72183         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
72184         in their own block, so pre-c99 compilers don't object.
72185
72186         Avoid the double-free (first in fts_read, second in fts_close) that
72187         would occur when an `active' directory is made inaccessible (e.g.,
72188         via chmod a-x) during a traversal.
72189         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72190         before returning.  Reproduce this failure by
72191         mkdir -p a/b; cd a; chmod a-x . b
72192         Reported by Stavros Passas.
72193
72194 2006-01-25  Jim Meyering  <jim@meyering.net>
72195
72196         * lib/fileblocks.c: Remove more useless parentheses.
72197         * lib/readutmp.h: Likewise.
72198
72199 2006-01-25  Bruno Haible  <bruno@clisp.org>
72200
72201         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
72202         warnings.
72203         Reported by Paul Eggert.
72204
72205 2006-01-25  Bruno Haible  <bruno@clisp.org>
72206
72207         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
72208         rid of a trap command. For Solaris sh.
72209         Reported by Mark D. Baushke <mdb@gnu.org>.
72210
72211 2006-01-24  Simon Josefsson  <jas@extundo.com>
72212
72213         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
72214         Bruno.
72215
72216 2006-01-24  Karl Berry  <karl@gnu.org>
72217
72218         * config/srclist.txt (argp-namefrob.h): sync lost.
72219
72220 2006-01-24  Jim Meyering  <jim@meyering.net>
72221
72222         * modules/openat (Files): Add lib/intprops.h.
72223         From Mark D. Baushke.
72224
72225 2006-01-24  Jim Meyering  <jim@meyering.net>
72226
72227         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
72228         Reported by Mark D. Baushke.
72229
72230 2006-01-24  Jim Meyering  <jim@meyering.net>
72231
72232         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
72233
72234 2006-01-24  Bruno Haible  <bruno@clisp.org>
72235
72236         * modules/strnlen (Maintainer): Change from glibc to all.
72237
72238 2006-01-24  Bruno Haible  <bruno@clisp.org>
72239
72240         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
72241         Patch by Paul Eggert.
72242
72243 2006-01-24  Bruno Haible  <bruno@clisp.org>
72244
72245         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
72246         already has it.
72247         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
72248         2005-11-26.
72249
72250         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
72251         'signed char' to avoid problems with the built-in _Bool type.
72252         Reported by Paul Eggert on 2005-11-26.
72253
72254 2006-01-24  Bruno Haible  <bruno@clisp.org>
72255
72256         * gnulib-tool (func_import): Avoid constructing complicated sed
72257         expressions inside backquote.
72258         Report and solution by Mark D. Baushke <mdb@gnu.org>.
72259
72260 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
72261
72262         These changes imported from libc.
72263         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
72264         test and two separate function calls.
72265         * lib/strndup.c (__strndup): Add libc_hidden_def.
72266
72267 2006-01-23  Simon Josefsson  <jas@extundo.com>
72268
72269         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
72270         Remove the test_*_SOURCES variable: automake infers it by default.
72271         * modules/tls-tests: Likewise.
72272
72273 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72274
72275         Work around porting bugs reported by Dieter in
72276         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
72277         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
72278         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
72279         Include "getopt.h" first, to check interface.
72280         (getenv): Declare only if defined HAVE_DECL_GETENV &&
72281         !HAVE_DECL_GETENV.
72282         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
72283         (__strndup): Revert to K&R-style function dfns, the glibc style.
72284         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
72285         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
72286         Include strnlen.h first, to get prototype properly.
72287         (strnlen): Renamed from __strnlen.
72288         Remove weak alias.
72289
72290 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72291
72292         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
72293
72294 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72295
72296         * config/srclist.txt: Adjust to reflect glibc reorganization.
72297         This affects only comments.
72298
72299 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72300
72301          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
72302          Reported by Bruce Korb <bkorb@gnu.org>.
72303
72304 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72305
72306         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
72307         to pacify gcc -Wswitch-default.
72308
72309 2006-01-22  Bruno Haible  <bruno@clisp.org>
72310
72311         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
72312         temporary buffer for sprintf, take into account the precision also
72313         for 'd', 'i', 'u', 'o', 'x', 'X'.
72314
72315 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72316
72317         * modules/argp-tests: New module
72318         * tests/test-argp.c: New file
72319         * tests/test-argp-2.sh: New file
72320
72321 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72322
72323         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
72324         (__argp_base_name): Removed
72325         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
72326         typo.
72327         (__argp_base_name): Provide macro definition or extern declaration
72328         depending on the configuration
72329
72330 2006-01-20  Simon Josefsson  <jas@extundo.com>
72331
72332         * modules/inet_ntop (Depends-on): Depend on sys_socket.
72333
72334 2006-01-20  Simon Josefsson  <jas@extundo.com>
72335
72336         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
72337
72338 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72339
72340         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
72341         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
72342         Suggested by Bruno Haible.
72343
72344 2006-01-20  Karl Berry  <karl@gnu.org>
72345
72346         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
72347         until changes propagate, I guess.
72348
72349 2006-01-19  Simon Josefsson  <jas@extundo.com>
72350
72351         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
72352
72353 2006-01-19  Simon Josefsson  <jas@extundo.com>
72354
72355         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
72356
72357 2006-01-19  Simon Josefsson  <jas@extundo.com>
72358
72359         * gnulib-tool: Set check_PROGRAMS.
72360
72361         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72362         modules/des-tests, modules/gc-arcfour-tests,
72363         modules/gc-arctwo-tests, modules/gc-des-tests,
72364         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72365         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72366         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72367         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72368         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72369         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
72370         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
72371         test_*_SOURCES.
72372
72373 2006-01-18  Simon Josefsson  <jas@extundo.com>
72374
72375         * modules/socklen (Depends-on): Depend on sys_socket.
72376
72377 2006-01-18  Simon Josefsson  <jas@extundo.com>
72378
72379         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72380         modules/des-tests, modules/gc-arcfour-tests,
72381         modules/gc-arctwo-tests, modules/gc-des-tests,
72382         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72383         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72384         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72385         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72386         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72387         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
72388         $(EXEEXT) to automake TESTS variable, for mingw32.
72389
72390 2006-01-17  Simon Josefsson  <jas@extundo.com>
72391
72392         * modules/socklen (Include): Need sys/socket.h.
72393
72394 2006-01-17  Bruno Haible  <bruno@clisp.org>
72395
72396         * modules/ssize_t (Include): Add <sys/types.h>.
72397
72398 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
72399
72400         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
72401         it's not portable and it doesn't work with cross-compiles.
72402         Problem reported by Bruno Haible.  Fix missing-$ typo in
72403         'test "gl_cv_ignore_unused_libraries" ...' that prevented
72404         -zignore from being used with Sun's C compiler.
72405
72406 2006-01-12  Simon Josefsson  <jas@extundo.com>
72407
72408         * lib/base64.c: Fix warning, reported by Bruno Haible
72409         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
72410
72411 2006-01-12  Bruno Haible  <bruno@clisp.org>
72412
72413         * modules/ldd: New file.
72414         * build-aux/ldd.sh.in: New file.
72415         * MODULES.html.sh (Support for building libraries and executables): Add
72416         ldd.
72417
72418 2006-01-12  Bruno Haible  <bruno@clisp.org>
72419
72420         * m4/ldd.m4: New file.
72421
72422 2006-01-12  Bruno Haible  <bruno@clisp.org>
72423
72424         * gnulib-tool (func_import, func_create_testdir): Don't go into an
72425         endless loop while replacing $auxdir with build-aux.
72426
72427 2006-01-11  Simon Josefsson  <jas@extundo.com>
72428
72429         * lib/stdint_.h (SIZE_MAX): Add missing (.
72430
72431 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
72432
72433         Sync from coreutils.
72434         * lib/md5.c: Fix commentary typos.
72435         (alignof, UNALIGNED_P): No need for a GCC-specific version.
72436         * lib/md5.h (__attribute__): Remove; unused.
72437         * lib/sha1.c: Fix commentary to match md5 better.
72438         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
72439         so that we don't need to worry about alignment.  All uses changed.
72440         This merges the 2005-10-28 md5 change into sha1.
72441
72442 2006-01-11  Jim Meyering  <jim@meyering.net>
72443
72444         Sync from coreutils.
72445         * lib/md5.c (OP): Fix spacing.
72446
72447 2006-01-11  Bruno Haible  <bruno@clisp.org>
72448
72449         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72450         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
72451         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
72452
72453 2006-01-11  Bruno Haible  <bruno@clisp.org>
72454
72455         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72456         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
72457         the "early" section as well.
72458
72459 2006-01-11  Bruno Haible  <bruno@clisp.org>
72460
72461         Avoid "ar: no archive members specified" error on MacOS X.
72462         * gnulib-tool (func_modules_add_dummy): New function.
72463         (func_import, func_create_testdir): Invoke it.
72464
72465 2006-01-11  Bruno Haible  <bruno@clisp.org>
72466
72467         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72468         with $auxdir in AC_CONFIG_FILES statements.
72469
72470 2006-01-11  Bruno Haible  <bruno@clisp.org>
72471
72472         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72473         Initialize also noinst_HEADERS to empty.
72474
72475 2006-01-11  Bruno Haible  <bruno@clisp.org>
72476
72477         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72478         variables.
72479         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72480         autoreconf.
72481
72482 2006-01-11  Bruno Haible  <bruno@clisp.org>
72483
72484         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72485         overridable by the user.
72486         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72487
72488 2006-01-10  Simon Josefsson  <jas@extundo.com>
72489
72490         * modules/sys_socket: New file.
72491
72492 2006-01-10  Simon Josefsson  <jas@extundo.com>
72493
72494         * m4/sys_socket_h.m4: New file.
72495
72496 2006-01-10  Simon Josefsson  <jas@extundo.com>
72497
72498         * lib/socket_.h: New file.
72499
72500 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72501
72502         * modules/readutmp (Maintainer): Add myself.
72503
72504 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72505
72506         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72507         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72508         People who are still concerned with buggy memcmp implementations
72509         can invoke gl_FUNC_MEMCMP themselves.
72510
72511 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72512
72513         * lib/regex_internal.h (BITSET_WORD_BITS):
72514         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72515         preprocessor mishandles large unsigned values as if they were signed.
72516         Problem reported by Claudio Fontana in
72517         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72518
72519 2006-01-10  Jim Meyering  <jim@meyering.net>
72520
72521         Avoid the double-free (first in fts_read, second in fts_close) that
72522         would occur when an `active' directory is made inaccessible (e.g.,
72523         via chmod a-x) during a traversal.
72524         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72525         before returning.  Reproduce this failure by
72526         mkdir -p a/b; cd a; chmod a-x . b
72527         Reported by Stavros Passas.
72528
72529         Sync from coreutils.
72530         * lib/sha1.c: Tweak grammar in a comment.
72531
72532 2006-01-10  Jim Meyering  <jim@meyering.net>
72533
72534         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
72535         Patch by Joerg Sonnenberger.
72536
72537 2006-01-10  Bruno Haible  <bruno@clisp.org>
72538
72539         * modules/readutmp: Depend on module free.
72540         * modules/strtok_r: Depend on module restrict.
72541
72542 2006-01-10  Bruno Haible  <bruno@clisp.org>
72543
72544         * modules/gettext (configure.ac): Add an invocation of
72545         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
72546
72547 2006-01-10  Bruno Haible  <bruno@clisp.org>
72548
72549         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
72550         Reported by Werner Lemberg <wl@gnu.org>.
72551
72552 2006-01-10  Bruno Haible  <bruno@clisp.org>
72553
72554         * lib/localcharset.c: Update from GNU gettext.
72555
72556 2006-01-10  Bruno Haible  <bruno@clisp.org>
72557
72558         * lib/argp.h (__const): Remove macro. Use const instead.
72559         * lib/argp-fmtstream.h (__const): Likewise.
72560         * lib/glob_.h (__const): Remove macro.
72561         * lib/glob-libc.h: Use const instead of __const.
72562
72563 2006-01-10  Bruno Haible  <bruno@clisp.org>
72564
72565         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
72566         variable.
72567         Needed to avoid an automake error regarding the 'gettext' module.
72568
72569 2006-01-09  Simon Josefsson  <jas@extundo.com>
72570
72571         * modules/inet_ntop (Depends-on): Add restrict.
72572
72573 2006-01-09  Simon Josefsson  <jas@extundo.com>
72574
72575         * modules/gc-rijndael-tests (License): Put under LGPL.
72576
72577         * modules/gc-des-tests (License): Likewise.
72578
72579         * modules/gc-arcfour-tests (License): Likewise.
72580
72581         * modules/gc-arctwo-tests (License): Likewise.
72582
72583         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
72584
72585         * modules/gc-hmac-sha1-tests (Files): Likewise.
72586
72587         * modules/gc-hmac-md5-tests (License): Likewise.
72588
72589         * modules/gc-sha1-tests (License): Likewise.
72590
72591         * modules/gc-md5-tests (License): Likewise.
72592
72593         * modules/gc-md4-tests (License): Likewise.
72594
72595         * modules/gc-md2-tests (License): Likewise.
72596
72597         * modules/gc-tests (License): Likewise.
72598
72599         * modules/des-tests (License): Likewise.
72600
72601         * modules/md4-tests (License): Likewise.
72602
72603         * modules/md2-tests (License): Likewise.
72604
72605 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72606
72607         Sync from coreutils:
72608
72609         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
72610         * modules/lib-ignore: New file.
72611         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
72612         chdir-safer.m4, lchmod.m4.
72613         * modules/openat: Add mkdirat.c, openat-priv.h.
72614
72615 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72616
72617         Sync from coreutils.
72618         * m4/lib-ignore.m4: New file.
72619         * m4/lchmod.m4: New file.
72620
72621 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72622
72623         Sync from coreutils.
72624         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
72625         for write access: POSIX says that must fail.
72626         * lib/fts.c (diropen): Likewise.
72627         * lib/save-cwd.c (save_cwd): Likewise.
72628         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
72629         well, for minor improvements on hosts that lack O_DIRECTORY.
72630         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
72631         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
72632         Fall back on chown if open failed with EACCES.
72633
72634         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
72635         Report an error at compile-time if only a 1-second nominal clock
72636         resolution is found.
72637
72638         * lib/lchmod.h: New file.
72639         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
72640         (make_dir_parents): Use lchown rather than chown, and
72641         lchmod rather than chmod.
72642
72643         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
72644         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
72645         "proc" reported by n0dalus.
72646
72647         * lib/mountlist.c: Include <limits.h>.
72648         (dev_from_mount_options)
72649         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
72650         New function.  It no longer assumes "dev=" has the System V meaning
72651         on Linux (since it doesn't).  It also parses "dev=" more carefully.
72652         (read_file_system_list)
72653         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
72654         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
72655         dev= in that case.
72656
72657         * lib/posixtm.h (PDS_PRE_2000): New macro.
72658         * lib/posixtm.c (year): Arg is now syntax_bits rather than
72659         allow_century.  All usages changed.  Reject dates outside the range
72660         1969-1999 if PDS_PRE_2000 is used.
72661
72662 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72663
72664         Sync from coreutils.
72665         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
72666         (Time of day items): Mention the possibility of leap seconds.
72667         Problem reported by Dr. David Alan Gilbert.
72668
72669 2006-01-09  Jim Meyering  <jim@meyering.net>
72670
72671         Sync from coreutils.
72672
72673         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
72674
72675         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
72676
72677         * lib/modechange.c (mode_compile): Reject an invalid mode string
72678         that starts with an octal digit.  From Andreas Gruenbacher.
72679
72680         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
72681         and dup to open_safer and dup_safer, respectively.
72682         (openat_permissive): Fix typo in comment.
72683
72684         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
72685         "gettext.h"; either no longer needed or are guaranteed by openat.h.
72686         (_): Remove; no longer needed.
72687         (openat): Renamed from rpl_openat; no need for rpl_openat
72688         since openat.h renames openat for us.
72689         Replace most of the body with a call to openat_permissive,
72690         to avoid duplicate code.
72691         Port to (probably hypothetical) environments were mode_t is
72692         wider than int.
72693         (openat_permissive): Require mode arg, so that we can check
72694         types better.  Put it just after flags.  Change cwd failure
72695         indicator from pointer-to-bool to pointer-to-errno-value.
72696         All callers changed.
72697         Invoke openat_save_fail and/or openat_restore_fail if
72698         cwd_errno is null, so that openat can call us.
72699         (openat_permissive, fdopendir, fstatat, unlinkat):
72700         Simplify errno handling to avoid some duplicate code,
72701         as it's OK to set errno on success.
72702         * lib/openat.h: Revamp code so that function macros depend on
72703         __OPENAT_PREFIX only, not also on AT_FDCWD.
72704         (openat_ro): Remove.  Caller changed to use openat_permissive.
72705         (openat_permissive): Now a macro, if not a function.
72706         (openat_restore_fail, openat_save_fail): Now always functions,
72707         since mkdirat needs them even if __OPENAT_PREFIX is defined.
72708
72709         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
72710         and openat.c.
72711         * lib/mkdirat.c: Include openat-priv.h.
72712         Remove definitions of macros defined therein.
72713         * lib/openat.c: Likewise.
72714
72715         * lib/mkdirat.c (mkdirat): New file and function.
72716         * lib/openat.h (mkdirat): Declare.
72717
72718         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
72719
72720         * lib/openat.h (openat_permissive): Declare.
72721         (openat_ro): Define.
72722
72723         * lib/openat.c (EXPECTED_ERRNO): New macro.
72724         (openat_permissive): New function -- used in remove.c rewrite.
72725         (all functions): Set errno just before returning, only if there
72726         was an actual failure.
72727         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
72728
72729         Emulate openat-family functions using Linux's procfs, if possible.
72730         Idea and some code based on Ulrich Drepper's glibc changes.
72731
72732         * lib/openat.c: (BUILD_PROC_NAME): New macro.
72733         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
72734         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
72735         before falling back on save_cwd and restore_cwd.
72736         (fdopendir, fstatat, unlinkat): Likewise.
72737
72738         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
72739         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
72740
72741         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
72742         as second argument to va_arg.  Otherwise, some versions of gcc
72743         warn that `if this code is reached, the program will abort'.
72744
72745 2006-01-09  Jim Meyering  <jim@meyering.net>
72746
72747         Sync from coreutils.
72748         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
72749         Require openat-priv.h.
72750
72751 2006-01-09  Bruno Haible  <bruno@clisp.org>
72752
72753         * modules/strnlen (Include): Use strnlen.h.
72754
72755 2006-01-09  Bruno Haible  <bruno@clisp.org>
72756
72757         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
72758
72759 2006-01-09  Bruno Haible  <bruno@clisp.org>
72760
72761         * lib/sysexit_.h (EX_OK): New macro.
72762         Suggested by Martin Lambers <marlam@marlam.de>.
72763
72764 2006-01-09  Bruno Haible  <bruno@clisp.org>
72765
72766         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
72767         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
72768
72769 2006-01-09  Bruno Haible  <bruno@clisp.org>
72770
72771         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
72772         numbers.
72773
72774 2006-01-09  Bruno Haible  <bruno@clisp.org>
72775
72776         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
72777         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
72778         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
72779         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
72780
72781 2006-01-09  Bruno Haible  <bruno@clisp.org>
72782
72783         * build-aux/javacomp.sh.in: New file, moved from lib/.
72784         * modules/javacomp-script (Files): Update.
72785         (configure.ac): Add AC_CONFIG_FILES invocation.
72786         (EXTRA_DIST): Remove variable.
72787
72788         * build-aux/javaexec.sh.in: New file, moved from lib/.
72789         * modules/javaexec (Files): Update.
72790         (configure.ac): Add AC_CONFIG_FILES invocation.
72791         (EXTRA_DIST): Remove javaexec.sh.in.
72792
72793         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
72794         * modules/csharpcomp-script (Files): Update.
72795         (configure.ac): Add AC_CONFIG_FILES invocation.
72796         (EXTRA_DIST): Remove variable.
72797
72798         * build-aux/csharpexec.sh.in: New file, moved from lib/.
72799         * modules/csharpexec (Files): Update.
72800         (configure.ac): Add AC_CONFIG_FILES invocation.
72801         (EXTRA_DIST): Remove csharpexec.sh.in.
72802
72803 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72804
72805         Sync from coreutils.
72806
72807         Add POSIX ACL support
72808         * lib/acl.h (copy_acl, set_acl): Add declarations.
72809         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
72810         systems other than Linux.
72811         (chmod_or_fchmod): New function: use fchmod when possible,
72812         and chmod otherwise.
72813         (file_has_acl): Add a POSIX ACL implementation, with a
72814         Linux-specific subcase.
72815         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
72816         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
72817         acls are unsupported.
72818         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
72819         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
72820         are unsupported.
72821
72822 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72823
72824         Sync from coreutils.
72825         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
72826
72827 2006-01-07  Bruno Haible  <bruno@clisp.org>
72828
72829         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
72830         gl_EARLY.
72831
72832 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72833
72834         * lib/strftime.c (tzname): Don't declare if it is already #defined.
72835         Problem reported for Mingw by Mark Junker.
72836
72837 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72838
72839         * README: Gnulib normally doesn't generate a tarball.
72840
72841 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
72842
72843         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
72844         long int, not int, for nanosecond counts, so that people who are
72845         used to POSIX struct timespec won't be surprised.  Reported by Jim
72846         Meyering.
72847
72848 2005-12-28  Bruno Haible  <bruno@clisp.org>
72849
72850         * build-aux/config.rpath: Update from GNU gettext.
72851
72852 2005-12-16  Jim Meyering  <jim@meyering.net>
72853
72854         * modules/fprintftime: New module.
72855         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
72856
72857 2005-12-16  Jim Meyering  <jim@meyering.net>
72858
72859         * m4/fprintftime.m4: New file.
72860
72861 2005-12-16  Jim Meyering  <jim@meyering.net>
72862
72863         * lib/fprintftime.c, lib/fprintftime.h: New files.
72864
72865 2005-12-15  Simon Josefsson  <jas@extundo.com>
72866
72867         * modules/socklen (configure.ac): Fix M4 macro name, to align with
72868         new m4/socklen.m4.
72869
72870 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72871
72872         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
72873         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
72874
72875 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72876
72877         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
72878         * lib/argp-help.c (fill_in_uparams): Check if the constructed
72879         struct uparams is valid. Fall back to the default values if it is
72880         not.
72881
72882 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72883
72884         * modules/argp (Files): Add argp-pin.c
72885         (Depends-on): dirname
72886         (lib_SOURCES): Add argp-pin.c
72887
72888 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72889
72890         * m4/argp.m4:  Check if program_invocation_name and
72891         program_invocation_short_name are declared and define appropriate
72892         macros if they are not.
72893
72894 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72895
72896         * lib/argp-help.c (__argp_base_name): New function
72897         (__argp_short_program_name): Rewrite using __argp_base_name
72898         * lib/argp-namefrob.h: Define program_invocation_name and
72899         program_invocation_short_name if requested
72900         (__argp_base_name): Add prototype
72901         * lib/argp-parse.c (argp_def): Use gettext wrappers
72902         (argp_default_parser): Use __argp_base_name
72903         * lib/argp-pin.c: New file. Defines program_invocation_name and
72904         program_invocation_short_name on systems that lack them.
72905
72906 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72907
72908         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
72909         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72910         porting problem reported by Georg Schwarz in
72911         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72912
72913 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72914
72915         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
72916         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72917         porting problem reported by Georg Schwarz in
72918         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72919
72920 2005-12-05  Bruno Haible  <bruno@clisp.org>
72921
72922         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
72923         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
72924         Reported by Mark Junker <mjscod@gmx.de>.
72925
72926 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
72927
72928         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
72929         Use implementation from Albert Chin, with some
72930         comments/corrections by Stepan Kasal and myself.
72931
72932 2005-12-02  Bruno Haible  <bruno@clisp.org>
72933
72934         * gnulib-tool (func_import): Accept GPLed build tool modules when
72935         --lgpl is given.
72936         * modules/csharpcomp-script: New file.
72937         * modules/csharpcomp: Depend on it.
72938         * modules/javacomp-script: New file.
72939         * modules/javacomp: Depend on it.
72940         Suggested by Simon Josefsson.
72941
72942 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
72943
72944         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
72945         statement, to work around an HP-UX 10.20 compiler bug reported by
72946         Peter O'Gorman.
72947
72948 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72949
72950         * modules/savedir (Depends-on): Add openat.
72951
72952 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72953
72954         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
72955         (uintmax_t) [defined uintmax_t]: Do not declare.
72956         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
72957         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
72958         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
72959         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
72960         sake of portability to weird hosts that C allows (though we don't
72961         know of any practical examples).
72962
72963         * lib/savedir.h (fdsavedir): New decl.
72964         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
72965         contains most of the former guts of savedir.
72966         (savedir): Use savedirstream.
72967         Include "openat.h".
72968
72969 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
72970
72971         * modules/obstack (Files): Add m4/ulonglong.m4.
72972         Problem reported by Davide Angelocola.
72973
72974 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
72975
72976         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
72977         coreutils no longer futzes with rounding modes.
72978
72979 2005-11-14  Jim Meyering  <jim@meyering.net>
72980
72981         * lib/mkstemp-safer.c: Include <config.h>, required for possible
72982         replacement of mkstemp.
72983
72984 2005-11-10  Simon Josefsson  <jas@extundo.com>
72985
72986         * lib/readline.c: Remove EOL.
72987
72988 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72989
72990         * modules/gethrxtime (Depends-on): Add gettime.
72991
72992 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72993
72994         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
72995         or gettimeofday; no longer needed.
72996
72997 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72998
72999         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
73000         time business.
73001         (gethrxtime) [! (HAVE_NANOUPTIME
73002         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
73003         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
73004         our own approximation.
73005
73006 2005-11-08  Eric Blake  <ebb9@byu.net>
73007
73008         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73009
73010 2005-11-08  Eric Blake  <ebb9@byu.net>
73011
73012         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73013
73014 2005-11-04  Bruno Haible  <bruno@clisp.org>
73015
73016         * gnulib-tool: Implement --update mode.
73017
73018 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73019
73020         Fix porting problem reported by Theodoros V. Kalamatianos.
73021         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
73022         Don't assume that futimes failing means we must fail.
73023
73024 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73025
73026         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
73027         variables to suggest the intended function of the PATH_MAX check.
73028
73029 2005-10-30  Kean Johnston  <jkj@sco.com>
73030
73031         Trivial changes to support SCO systems.
73032         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
73033         as PATH_MAX.
73034         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
73035         where __ptr is null when no I/O is pending.
73036
73037 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
73038
73039         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
73040         leave errno alone.  Problem reported by Dmitry V. Levin.
73041
73042 2005-10-28  Simon Josefsson  <jas@extundo.com>
73043
73044         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
73045         Test more.
73046
73047         * tests/test-gc-md2.c, tests/test-md2.c: New files.
73048
73049         * modules/md2, modules/md2-tests: New files.
73050
73051 2005-10-28  Simon Josefsson  <jas@extundo.com>
73052
73053         * m4/inet_ntop.m4: More tests.
73054
73055         * m4/gc-md2.m4, md2.m4: New file.
73056
73057 2005-10-28  Simon Josefsson  <jas@extundo.com>
73058
73059         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
73060         "restrict" keywords, as per POSIX.  Protect the function
73061         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
73062         Don't use K&R prototypes.  Check the sprintf return values.
73063         Re-define EAFNOSUPPORT if not present.  Indent.
73064
73065         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
73066         suggested by Bruno Haible <bruno@clisp.org>.
73067
73068         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
73069
73070         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
73071
73072         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
73073         libgcrypt).
73074
73075         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
73076
73077         * lib/md2.h, lib/md2.c: New files.
73078
73079 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
73080
73081         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
73082         errno alone.  Problem reported by Frederic Jolliton.
73083
73084 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73085
73086         * modules/verify (License): Change from GPL to LGPL.  This is a
73087         tiny module and there are apparently near-equivalents that are
73088         under the BSD license.
73089
73090 2005-10-24  Simon Josefsson  <jas@extundo.com>
73091
73092         * modules/sha1: Relicense to LGPL.
73093
73094 2005-10-24  Simon Josefsson  <jas@extundo.com>
73095
73096         * lib/md4.h: Shrink buffer size, now that we changed the type.
73097
73098 2005-10-23  Simon Josefsson  <jas@extundo.com>
73099
73100         * gnulib-tool (func_import): Fix --tests-base.
73101
73102 2005-10-22  Simon Josefsson  <jas@extundo.com>
73103
73104         * modules/arcfour (Depends-on): Need stdint.
73105
73106 2005-10-22  Simon Josefsson  <jas@extundo.com>
73107
73108         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
73109         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
73110
73111 2005-10-22  Simon Josefsson  <jas@extundo.com>
73112
73113         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
73114         suggested by Bruno Haible <bruno@clisp.org>.
73115
73116 2005-10-22  Simon Josefsson  <jas@extundo.com>
73117
73118         * lib/crc.h: Include stddef.h, for size_t.
73119
73120 2005-10-22  Simon Josefsson  <jas@extundo.com>
73121
73122         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
73123         arcfour_context struct (simplify test vector testing in GNU
73124         Shishi).
73125
73126 2005-10-21  Simon Josefsson  <jas@extundo.com>
73127
73128         * modules/des, modules/des-tests: New files.
73129
73130         * modules/gc-des, modules/gc-des-tests: New files.
73131
73132         * tests/test-des.c, tests/test-gc-des.c: New file.
73133
73134 2005-10-21  Simon Josefsson  <jas@extundo.com>
73135
73136         * modules/arctwo, modules/arctwo-tests: New files.
73137
73138         * tests/test-arctwo.c: New file.
73139
73140         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
73141
73142         * tests/test-gc-arctwo.c: New file.
73143
73144 2005-10-21  Simon Josefsson  <jas@extundo.com>
73145
73146         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
73147         Bruno Haible <bruno@clisp.org>.
73148
73149         * m4/gc-des.m4: New file.
73150
73151 2005-10-21  Simon Josefsson  <jas@extundo.com>
73152
73153         * m4/arctwo.m4: New file.
73154
73155         * m4/gc-arctwo.m4: New file.
73156
73157 2005-10-21  Simon Josefsson  <jas@extundo.com>
73158
73159         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
73160         block.
73161
73162 2005-10-21  Simon Josefsson  <jas@extundo.com>
73163
73164         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
73165         <bruno@clisp.org>.
73166
73167         * lib/hmac-sha1.c (hmac_sha1): Likewise.
73168
73169         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
73170         Bruno Haible <bruno@clisp.org>.
73171
73172         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
73173         <bruno@clisp.org>.
73174
73175 2005-10-21  Simon Josefsson  <jas@extundo.com>
73176
73177         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
73178
73179 2005-10-21  Simon Josefsson  <jas@extundo.com>
73180
73181         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
73182
73183 2005-10-21  Simon Josefsson  <jas@extundo.com>
73184
73185         * lib/des.h, lib/des.c: New files.
73186
73187         * lib/gc-gnulib.c: Support DES.c
73188
73189 2005-10-21  Simon Josefsson  <jas@extundo.com>
73190
73191         * lib/arctwo.h, lib/arctwo.c: New files.
73192
73193         * lib/gc-gnulib.c: Support ARCTWO.
73194
73195 2005-10-21  Simon Josefsson  <jas@extundo.com>
73196
73197         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
73198         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73199
73200 2005-10-21  Simon Josefsson  <jas@extundo.com>
73201
73202         * gnulib-tool (func_import, func_create_testdir): Define automake
73203         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
73204         Makefile.am snippet),
73205         suggested by Bruno Haible <bruno@clisp.org>.
73206
73207         * modules/gc (Makefile.am): Use it.
73208
73209 2005-10-21  Bruno Haible  <bruno@clisp.org>
73210
73211         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
73212         patch.
73213
73214 2005-10-19  Simon Josefsson  <jas@extundo.com>
73215
73216         * tests/test-gc-rijndael.c: New file.
73217
73218         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
73219
73220 2005-10-19  Simon Josefsson  <jas@extundo.com>
73221
73222         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
73223         interface too.
73224
73225 2005-10-19  Simon Josefsson  <jas@extundo.com>
73226
73227         * tests/test-gc-arcfour.c: New file.
73228
73229         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
73230
73231 2005-10-19  Simon Josefsson  <jas@extundo.com>
73232
73233         * modules/gc-md4, modules/gc-md4-tests: New file.
73234
73235         * tests/test-gc-md4.c: New file.
73236
73237 2005-10-19  Simon Josefsson  <jas@extundo.com>
73238
73239         * m4/gc-md4.m4: New file.
73240
73241 2005-10-19  Simon Josefsson  <jas@extundo.com>
73242
73243         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
73244         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
73245         <kasal@ucw.cz>.
73246
73247 2005-10-19  Simon Josefsson  <jas@extundo.com>
73248
73249         * m4/gc-arcfour.m4: New file.
73250
73251         * m4/gc-rijndael.m4: New file.
73252
73253 2005-10-19  Simon Josefsson  <jas@extundo.com>
73254
73255         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
73256
73257 2005-10-19  Simon Josefsson  <jas@extundo.com>
73258
73259         * lib/gc-gnulib.c: Support ARCFOUR.
73260
73261 2005-10-19  Simon Josefsson  <jas@extundo.com>
73262
73263         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
73264         support.
73265
73266         * lib/gc.h: Add ECB enum type.
73267
73268         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
73269
73270 2005-10-18  Simon Josefsson  <jas@extundo.com>
73271
73272         * tests/test-md5.c: New file.
73273
73274         * modules/md5-tests: New file.
73275
73276 2005-10-18  Simon Josefsson  <jas@extundo.com>
73277
73278         * tests/test-md4.c: New file.
73279
73280         * modules/md4, modules/md4-tests: New files.
73281
73282 2005-10-18  Simon Josefsson  <jas@extundo.com>
73283
73284         * m4/md4.m4: New file.
73285
73286 2005-10-18  Simon Josefsson  <jas@extundo.com>
73287
73288         * lib/md4.h, lib/md4.c: New files, based on md5.?.
73289
73290 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
73291
73292         * gnulib-tool (func_create_testdir): Omit the second check whether
73293         BUILT_SOURCES in nonempty.
73294
73295 2005-10-17  Simon Josefsson  <jas@extundo.com>
73296
73297         * tests/test-rijndael.c: New file.
73298
73299 2005-10-17  Simon Josefsson  <jas@extundo.com>
73300
73301         * modules/sha1: Depend on stdint instead of md5.
73302
73303         * modules/md5: Depend on stdint, remove uint32_t.
73304
73305 2005-10-17  Simon Josefsson  <jas@extundo.com>
73306
73307         * modules/gc-sha1-tests: New file.
73308
73309         * tests/test-gc-sha1.c: New file.
73310
73311 2005-10-17  Simon Josefsson  <jas@extundo.com>
73312
73313         * m4/md5.m4: Remove call to uint32_t.m4.
73314
73315 2005-10-17  Simon Josefsson  <jas@extundo.com>
73316
73317         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
73318
73319         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
73320         md5.h.
73321
73322         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
73323
73324         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
73325
73326 2005-10-17  Simon Josefsson  <jas@extundo.com>
73327
73328         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
73329
73330 2005-10-17  Simon Josefsson  <jas@extundo.com>
73331
73332         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
73333
73334 2005-10-17  Simon Josefsson  <jas@extundo.com>
73335
73336         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
73337
73338         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
73339
73340 2005-10-17  Bruno Haible  <bruno@clisp.org>
73341
73342         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
73343         that it can also be used in a test.
73344
73345 2005-10-16  Bruno Haible  <bruno@clisp.org>
73346
73347         * gnulib-tool (func_emit_tests_Makefile_am): Also define
73348         TESTS_ENVIRONMENT, so that individual tests can augment it.
73349
73350         * gnulib-tool (func_create_testdir): Use an intermediate target for
73351         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
73352         macros, like $(ALLOCA_H), which cannot be passed through the command
73353         line.
73354
73355 2005-10-15  Simon Josefsson  <jas@extundo.com>
73356
73357         * modules/rijndael-tests: New file.
73358
73359         * modules/rijndael: New file.
73360
73361 2005-10-15  Simon Josefsson  <jas@extundo.com>
73362
73363         * m4/rijndael.m4: New file.
73364
73365 2005-10-15  Simon Josefsson  <jas@extundo.com>
73366
73367         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
73368
73369         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
73370
73371 2005-10-14  Simon Josefsson  <jas@extundo.com>
73372
73373         * tests/test-arcfour.c: New file.
73374
73375         * modules/arcfour, modules/arcfour-tests: New files.
73376
73377 2005-10-14  Simon Josefsson  <jas@extundo.com>
73378
73379         * m4/arcfour.m4: New file.
73380
73381 2005-10-14  Simon Josefsson  <jas@extundo.com>
73382
73383         * lib/arcfour.h, lib/arcfour.c: New files.
73384
73385 2005-10-14  Roland McGrath  <roland@redhat.com>
73386
73387         Import from libc.  [BZ #1331]
73388         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
73389         macro argument.
73390         Reported by Matej Vela <vela@debian.org>.
73391
73392 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73393
73394         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
73395         include <wchar.h>; no longer needed.
73396
73397 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73398
73399         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
73400
73401 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
73402         and  Ulrich Drepper  <drepper@redhat.com>
73403
73404         Import from libc.
73405         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
73406         instead of inline stream orientation test and two separate
73407         function calls.  Pay no attention to USE_IN_LIBIO.
73408
73409 2005-10-13  Simon Josefsson  <jas@extundo.com>
73410
73411         * modules/gc-hmac-md5-tests: New file.
73412
73413         * tests/test-gc-hmac-sha1.c: New file.
73414
73415         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
73416
73417         * modules/gc-hmac-md5-tests: New file.
73418
73419         * tests/test-gc-md5.c: New file.
73420
73421         * modules/gc-md5-tests: New file.
73422
73423 2005-10-13  Simon Josefsson  <jas@extundo.com>
73424
73425         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
73426         Move memory allocation outside of loop.
73427
73428 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
73429
73430         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
73431         intermediate directory is in a read-only file system.  Problem
73432         reported by Eric Blake.
73433
73434 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
73435
73436         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
73437
73438 2005-10-12  Simon Josefsson  <jas@extundo.com>
73439
73440         * tests/test-hmac-sha1.c: New file.
73441
73442         * modules/hmac-sha1-tests: New file.
73443
73444         * modules/hmac-sha1: New file.
73445
73446 2005-10-12  Simon Josefsson  <jas@extundo.com>
73447
73448         * modules/gc-sha1: New file.
73449
73450 2005-10-12  Simon Josefsson  <jas@extundo.com>
73451
73452         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
73453
73454         * tests/test-gc-pbkdf2-sha1.c: New file.
73455
73456 2005-10-12  Simon Josefsson  <jas@extundo.com>
73457
73458         * modules/gc-md5, modules/gc-hmac-md5: New files.
73459
73460         * modules/gc (Files): Remove md5, memxor and hmac files.
73461
73462 2005-10-12  Simon Josefsson  <jas@extundo.com>
73463
73464         * m4/gc-pbkdf2-sha1.m4: New file.
73465
73466         * m4/gc-hmac-sha1.m4: New file.
73467
73468         * m4/gc-sha1: New file.
73469
73470         * m4/hmac-sha1.m4: New file.
73471
73472 2005-10-12  Simon Josefsson  <jas@extundo.com>
73473
73474         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73475
73476         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73477
73478 2005-10-12  Simon Josefsson  <jas@extundo.com>
73479
73480         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73481         suggested by Bruno Haible <bruno@clisp.org>.
73482
73483 2005-10-12  Simon Josefsson  <jas@extundo.com>
73484
73485         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73486
73487 2005-10-12  Simon Josefsson  <jas@extundo.com>
73488
73489         * lib/gc-pbkdf2-sha1.c: New file.
73490
73491         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73492
73493 2005-10-12  Simon Josefsson  <jas@extundo.com>
73494
73495         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73496
73497         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73498
73499 2005-10-12  Simon Josefsson  <jas@extundo.com>
73500
73501         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73502         GC_USE_HMAC_MD5, respectively.
73503
73504         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73505         (gc_md5): Fix typo.
73506
73507         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73508
73509         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73510
73511         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73512
73513 2005-10-12  Bruno Haible  <bruno@clisp.org>
73514
73515         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73516         Reported by Stepan Kasal <kasal@ucw.cz>.
73517
73518 2005-10-11  Simon Josefsson  <jas@extundo.com>
73519
73520         * tests/test-crc.c: New file.
73521
73522         * modules/crc, modules/crc-tests: New files.
73523
73524 2005-10-11  Simon Josefsson  <jas@extundo.com>
73525
73526         * m4/crc.m4: New file.
73527
73528 2005-10-11  Simon Josefsson  <jas@extundo.com>
73529
73530         * lib/gc.h: Add gc_hash and gc_hash_buffer.
73531
73532         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
73533
73534         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
73535
73536 2005-10-11  Simon Josefsson  <jas@extundo.com>
73537
73538         * lib/crc.h, lib/crc.c: New files.
73539
73540         * lib/gc.h (gc_hash_buffer): Add doc.
73541
73542 2005-10-11  Bruno Haible  <bruno@clisp.org>
73543
73544         * modules/c-strcasestr: New file.
73545         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
73546
73547 2005-10-11  Bruno Haible  <bruno@clisp.org>
73548
73549         * modules/c-strcase: New file.
73550         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
73551
73552 2005-10-11  Bruno Haible  <bruno@clisp.org>
73553
73554         * lib/strcasecmp.c: Include limits.h.
73555         (strcasecmp): Avoid integer overflow on exotic platforms.
73556         * lib/strncasecmp.c: Include limits.h.
73557         (strncasecmp): Avoid integer overflow on exotic platforms.
73558         Reported by Paul Eggert.
73559
73560 2005-10-11  Bruno Haible  <bruno@clisp.org>
73561
73562         * lib/c-strcasestr.h: New file, from GNU gettext.
73563         * lib/c-strcasestr.c: New file, from GNU gettext.
73564
73565 2005-10-11  Bruno Haible  <bruno@clisp.org>
73566
73567         * lib/c-strcase.h: New file, from GNU gettext.
73568         * lib/c-strcasecmp.c: New file, from GNU gettext.
73569         * lib/c-strncasecmp.c: New file, from GNU gettext.
73570
73571 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73572
73573         * modules/mempcpy (License): GPL -> LGPL.
73574         * modules/strchrnul (License): Likewise.
73575         * modules/sysexits (License): Likewise.
73576
73577 2005-10-08  Simon Josefsson  <jas@extundo.com>
73578
73579         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
73580
73581 2005-10-07  Simon Josefsson  <jas@extundo.com>
73582
73583         * m4/memxor.m4: Remove gl_C_RESTRICT call.
73584
73585 2005-10-06  Simon Josefsson  <jas@extundo.com>
73586
73587         * tests/test-hmac-md5.c: New file.
73588
73589         * modules/hmac-md5-tests: New file.
73590
73591         * modules/hmac-md5: New file.
73592
73593 2005-10-06  Simon Josefsson  <jas@extundo.com>
73594
73595         * m4/hmac-md5.m4: New file.
73596
73597         * m4/memxor.m4: Require gl_C_RESTRICT.
73598
73599 2005-10-06  Simon Josefsson  <jas@extundo.com>
73600
73601         * lib/memxor.c (memxor): Avoid casts and warnings.
73602
73603 2005-10-06  Simon Josefsson  <jas@extundo.com>
73604
73605         * lib/hmac-md5.c: New file.
73606
73607         * lib/hmac.h: New file.
73608
73609 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73610
73611         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
73612         promotes to int, not unsigned int, to catch the AIX 5.3
73613         compiler bug.
73614
73615 2005-10-05  Simon Josefsson  <jas@extundo.com>
73616
73617         * modules/memxor: New file.
73618
73619         * modules/iconv (Files): Move config.rpath to havelib, it is used
73620         there.
73621
73622         * modules/havelib (Files): Add config.rpath.
73623
73624 2005-10-05  Simon Josefsson  <jas@extundo.com>
73625
73626         * m4/memxor.m4: New file.
73627
73628 2005-10-05  Simon Josefsson  <jas@extundo.com>
73629
73630         * lib/memxor.c (memxor): Fix compiler error.
73631
73632         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
73633         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
73634
73635         * lib/memxor.h, lib/memxor.c: New files.
73636
73637         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
73638         we assume all systems have it, suggested by Jim Meyering
73639         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
73640         any systems lack sys/socket.h; mingw32 is known to lack it, but we
73641         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
73642         same reasons.
73643
73644 2005-10-05  Simon Josefsson  <jas@extundo.com>
73645
73646         * config/srclist.txt: Add glibc bug 1423 for md5.h.
73647
73648 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73649
73650         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
73651         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
73652         needed, since the source code now assumes these .h files.
73653
73654 2005-10-05  Derek Price  <derek@ximbiot.com>
73655
73656         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
73657
73658 2005-10-05  Bruno Haible  <bruno@clisp.org>
73659
73660         * modules/stdint (License): Change to LGPL.
73661
73662 2005-10-04  Simon Josefsson  <jas@extundo.com>
73663
73664         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
73665         D. Baushke" <mdb@gnu.org>.
73666
73667 2005-10-04  Bruno Haible  <bruno@clisp.org>
73668
73669         * lib/verify.h (verify_true): Provide alternative definition for C++.
73670
73671 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
73672
73673         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
73674         (SSIZE_MAX): New macro, if not already defined.
73675         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
73676         than 2 GiB.
73677
73678 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73679
73680         Sync from coreutils.
73681         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
73682         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
73683         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
73684         ULLONG_MAX doesn't work with 2.7.2.1.
73685
73686 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73687
73688         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
73689         From Ben Pfaff.
73690
73691         * modules/exclude (Depends-on): Depend on verify.
73692         * modules/strtoimax (Depends-on): Likewise.
73693         * modules/utimecmp (Depends-on): Likewise.
73694
73695 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73696
73697         * lib/exclude.c: Include verify.h.
73698         (verify): Remove.  All callers changed to use verify.h's version.
73699         * lib/strtoimax.c: Likewise.
73700         * lib/utimecmp.c: Likewis.e
73701
73702         Sync from coreutils.
73703         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
73704         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
73705         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
73706         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
73707         bother returning ENOSYS if settimeofday or stime fails; just let
73708         them return whatever errno they want to return.
73709         * lib/utimens.c: Include unistd.h, for dup2.
73710         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
73711         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
73712
73713 2005-10-02  Jim Meyering  <jim@meyering.net>
73714
73715         Sync from coreutils.
73716         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
73717         from glibc-2.2.5 that fails for read-only files.
73718
73719 2005-10-02  Jim Meyering  <jim@meyering.net>
73720
73721         Sync from coreutils.
73722         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
73723         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
73724         `#if HAVE_CONFIG_H'.
73725         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
73726         Remove AT_FDCWD test.
73727         Do not consume the fd unless successful.
73728         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
73729         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
73730         block, so that we don't even try to compile it if settimeofday is
73731         available.  This works around a compilation failure on OSF1 V5.1,
73732         due to stime requiring a `long int*' while tv_sec is `int'.
73733
73734 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
73735
73736         Sync from coreutils.
73737         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
73738         against `yes', rather than just testing for nonempty.
73739
73740 2005-10-01  Simon Josefsson  <jas@extundo.com>
73741
73742         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
73743         and Darwin.
73744
73745         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
73746         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
73747         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
73748         freeaddrinfo and gai_strerror are declared by the POSIX headers.
73749         Check if struct addrinfo is declared.
73750
73751 2005-10-01  Simon Josefsson  <jas@extundo.com>
73752
73753         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
73754         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
73755         AI_* and EAI_* definitions.  Protect function declarations.
73756
73757 2005-10-01  Jim Meyering  <jim@meyering.net>
73758
73759         Sync from coreutils.
73760
73761         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
73762         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
73763         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
73764         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73765         in the inet and nsl libraries.  Required on Solaris 5.7.
73766
73767 2005-10-01  Jim Meyering  <jim@meyering.net>
73768
73769         Sync from coreutils.
73770         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73771         in the inet and nsl libraries.  Required on Solaris 5.7.
73772
73773 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
73774
73775         * lib/getdelim.c (getdelim): Remove unused variables.
73776
73777 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73778
73779         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
73780         so that the code works even with ancient cpp.  Portability problem
73781         with GCC 2.7.2.1 reported by Thomas M.Ott.
73782
73783 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73784
73785         * modules/regex (Depends-on): Add strcase.
73786
73787         * modules/gethostname (Licence): Change from GPL to LGPL, since
73788         gethostname.c is a trivial implementation of a standard library
73789         function.
73790         * modules/poll (License): Change from GPL to LGPL, since it's
73791         derived from LGPL code.
73792
73793 2005-09-27  Jim Meyering  <jim@meyering.net>
73794
73795         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
73796         HAVE_CONFIG_H.
73797
73798         * lib/intprops.h (signed_type_or_expr__): Define.
73799         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
73800         for unsigned types.
73801
73802 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73803
73804         * lib/verify.h (verify_expr): Remove, replacing with:
73805         (verify_true): New macro that returns true instead of void.
73806         (verify_type__): Remove.
73807         (verify): Use verify_true rather than verify_type__.
73808
73809 2005-09-26  Bruno Haible  <bruno@clisp.org>
73810
73811         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
73812         is necessary.
73813         (lib_SOURCES): Remove mbchar.c.
73814         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
73815         (Files): Add m4/mbrtowc.m4.
73816         * modules/mbiter: Likewise.
73817         * modules/mbuiter: Likewise.
73818
73819 2005-09-26  Bruno Haible  <bruno@clisp.org>
73820
73821         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
73822         compile mbchar.c if they are not both present.
73823         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
73824         * m4/mbiter.m4 (gl_MBITER): Likewise.
73825         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
73826         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
73827         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
73828
73829 2005-09-25  Jim Meyering  <jim@meyering.net>
73830
73831         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
73832         also uses socklen_t.
73833
73834 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
73835
73836         * lib/utimens.c (ENOSYS): Define if not already defined.
73837         (futimens): Support having a null PATH if the file descriptor
73838         is nonnegative.
73839
73840         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
73841         Remove.
73842         (__attribute): Define to empty unless GCC 3.1 or later.
73843         This works around a core dump on OpenBSD 3.4, which has GCC
73844         2.95.3, which dumps core when given __attribute__(()).  It also
73845         simplifies other tests, since we really don't want to bother with
73846         worrying about which ancient version of GCC supported what.
73847         Original problem reported by Yoann Vandoorselaere, with part of
73848         the fix suggested by Derek Price.
73849
73850 2005-09-24  Jim Meyering  <jim@meyering.net>
73851
73852         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
73853         so we can once again use a positive bitfield width of 1 -- now we
73854         don't have to explain why we were using a bitfield width of 2.
73855
73856 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73857
73858         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
73859         and similarly for the other external symbols.  Problem reported
73860         by James Gallager.
73861
73862         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
73863         bug reported by Jim Meyering.
73864
73865         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
73866         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
73867         not needed, since socklen is a prerequisite module.
73868
73869 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73870
73871         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
73872         Problem reported by Eric Blake.
73873         (getaddrinfo): Initialize se so that it's not garbage.
73874         Redo internal storage allocation so that it doesn't make unportable
73875         assumptions about alignment.
73876         Fix a memory leak.
73877
73878         * lib/utimens.c (futimens): Use futimesat if available.
73879         Prefer it to futimes since it doesn't have the futimes bug.
73880
73881         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
73882         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
73883         Instead, declare a function that returns a pointer to an array,
73884         and use verify_type__ to declare the size of the array.
73885         Problem and germ of a solution reported by Bruno Haible.
73886         (verify_type__): Use 2, not 1, for bitfield size, to avoid
73887         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
73888
73889 2005-09-23  Jim Meyering  <jim@meyering.net>
73890
73891         Sync from coreutils.
73892         Correct build failure (socklen_t not defined) on at least
73893         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
73894         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
73895
73896 2005-09-23  Jim Meyering  <jim@meyering.net>
73897
73898         * modules/getaddrinfo (Depends-on): Add socklen.
73899
73900 2005-09-23  Bruno Haible  <bruno@clisp.org>
73901
73902         * tests/test-verify.c: New file.
73903
73904 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73905
73906         Sync from coreutils.
73907
73908         * modules/argmatch (Depends-on): Add verify.
73909         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
73910         unistd-safer.
73911         * modules/save-cwd (Depends-on): Likewise.
73912
73913         * modules/openat (Files): Add lib/openat-die.c.
73914         (Depends-on): Remove error, exitfail.
73915         Add dirname.
73916
73917         * modules/verify: New file.
73918         * MODULES.html.sh (Diagnostics <assert.h>): New section,
73919         with "verify" module.
73920
73921 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73922
73923         Sync from coreutils.
73924
73925         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
73926         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
73927         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
73928         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
73929         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
73930         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
73931         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
73932         Don't bother checking for string.h, stdlib.h, unistd.h.
73933         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
73934         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
73935         module's job.
73936         * m4/jm-macros.m4 (gl_MACROS): Likewise.
73937         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
73938
73939         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
73940         (gl_GETDATE): Use it.
73941
73942         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
73943
73944 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73945
73946         Sync from coreutils.
73947
73948         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
73949         stat-time.h.
73950         * lib/argmatch.h: Include verify.h
73951         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
73952         (ARGMATCH_ASSERT): Remove; unused.
73953         * lib/canonicalize.c: Assume STDC_HEADERS.
73954         * lib/exclude.c: Include "strcase.h".
73955         * lib/regex_internal.h [!defined _LIBC]: Likewise.
73956         * lib/getusershell.c: Include stdio--.h rather than stdio.h
73957         and stdio-safer.h.
73958         (getusershell): Call fopen, not fopen_safer.
73959         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
73960         Do not include unistd-safer.h.
73961         (save_cwd): Don't call fd_safer; no longer needed
73962         now that we include fcntl--.h.
73963
73964         * lib/getdate.y (relative_time): New type.
73965         (RELATIVE_TIME_0): New constant.
73966         (parser_control): Use relative_time instead of doing it ourselves.
73967         (%union): Add new relative_time rel member.
73968         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
73969         Now typeless.
73970         (relunit, relunit_snumber): Now of type rel.
73971         (zone, rel, relunit, get_date): Adjust to above changes.
73972
73973         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
73974         Do not include unistd-safer.h.
73975         (getloadavg): Don't call fd_safer; no longer needed
73976         now that we include fcntl--.h.
73977
73978         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
73979         (make_dir_parents): Treat ENOSYS like EEXIST.
73980
73981         Improve quality of diagnostics on restore_cwd failure.
73982         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
73983         (make_dir_parents): Last arg is now int * (for errno), not bool *.
73984         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
73985         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
73986         each time through the loop.  Do not diagnose restore_cwd failure;
73987         that is the caller's job (and perhaps the caller does not care).
73988
73989         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
73990         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
73991         If the file already exists but is not a directory, don't bother
73992         to try to make its parents.
73993         Close potential file descriptor leak if we can't chdir("/") (!).
73994         Don't always return true if chdir($PWD) fails; return true only
73995         if the requested action was done successfully (except for the
73996         chdir($PWD)).
73997         Don't log final directory unless we actually made it.
73998         Refactor to avoid duplicate code to fix up permissions.
73999         Don't attempt to fix up parent permissions if chdir($PWD) fails.
74000
74001         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
74002         to make it a bit faster and (I hope) clearer.
74003         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
74004         Fix bug in formats like %2N.
74005
74006         * lib/verify.h: New file.
74007
74008 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74009
74010         Sync from coreutils.
74011         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
74012
74013 2005-09-22  Jim Meyering  <jim@meyering.net>
74014
74015         Sync from coreutils.
74016
74017         * m4/lstat.m4 (gl_FUNC_LSTAT):
74018         Use AC_LIBSOURCES to require lstat.c and lstat.h.
74019         Remove obsolete comment.
74020         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
74021         * m4/xstrtod.m4: Likewise.
74022
74023         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
74024
74025 2005-09-22  Jim Meyering  <jim@meyering.net>
74026
74027         Sync from coreutils.
74028
74029         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
74030
74031         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
74032         the .tm_year member, since otherwise gcc-4.0 would now warn about
74033         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
74034
74035         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
74036         order to avoid an unsuppressible warning from gcc on 64-bit systems.
74037
74038         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
74039         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
74040         when run in a time zone for which daylight savings time is in effect
74041         for the starting date.
74042
74043         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
74044         stop us from restricting permissions of just-created absolute-named
74045         directories.
74046         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
74047         to restore initial working directory.
74048         * lib/mkdir-p.c (make_dir_parents): New parameter:
74049         different_working_dir, to tell caller if/when we change the working
74050         directory and are unable to return to the initial one.
74051         * lib/mkdir-p.h (make_dir_parents): Update prototype.
74052         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
74053         `return false'.  This fixes a bug introduced on 2004-07-30.
74054
74055         * lib/openat.c (fdopendir): Be sure to close the supplied
74056         file descriptor before returning.  This makes our replacement
74057         implementation a little closer to Solaris's, where fdopendir
74058         ties the file descriptor to the returned DIR* pointer.
74059         * lib/openat.c (unlinkat): New function.
74060         * lib/openat.h (unlinkat): Add prototype.
74061         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
74062         (openat_restore_fail): Rename from openat_restore_die.
74063         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
74064
74065         Provide an alternative to exiting immediately upon save_cwd or
74066         restore_cwd failure.  Now, an application can arrange e.g.,
74067         to perform a longjump in that case.
74068         * lib/openat.c: Include dirname.h.
74069         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
74070         (rpl_openat, fdopendir, fstatat): Call openat_save_die
74071         and openat_restore_die rather than calling error directly.
74072         Don't include "error.h" or "exitfail.h"; they're no longer needed.
74073
74074         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
74075         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
74076         define.
74077
74078         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
74079         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
74080                             int utc, int nanoseconds);
74081         Background:
74082         date should not have to allocate a megabyte of virtual memory to
74083         handle a format argument like +%1048575T.  When implemented with
74084         strftime, it must allocate such a buffer, use strftime to fill it
74085         in, print it, then free it.
74086         With fprintftime, it simply prints everything and exits.
74087         With no need for memory allocation, that's one fewer way to fail.
74088         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
74089         optional field width, not before, so we accept %9:z, not %:9z.
74090         (my_strftime): Be sure to use L_('x') for literals.
74091
74092         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
74093         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
74094         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
74095         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
74096         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
74097         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
74098         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
74099         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
74100         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
74101         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
74102         * lib/xgethostname.c, lib/xreadlink.c:
74103         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
74104
74105         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
74106         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
74107         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
74108         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74109         and don't include <sys/file.h>).
74110
74111 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
74112
74113         Sync from coreutils.
74114
74115         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
74116         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
74117         [!LDAV_DONE]: Avoid unused variable warning.
74118
74119 2005-09-21  Bruno Haible  <bruno@clisp.org>
74120
74121         * lib/unicodeio.h (unicode_to_mb): New declaration.
74122
74123 2005-09-20  Derek Price  <derek@ximbiot.com>
74124
74125         * lib/getaddrinfo.c: Don't include <netdb.h> included from
74126         getaddrinfo.h.
74127
74128 2005-09-20  Bruno Haible  <bruno@clisp.org>
74129
74130         * gnulib-tool: Remove trailing slashes from the values specified for
74131         --source-base, --m4-base, --tests-base, --aux-dir.
74132         Suggested by Simon Josefsson <jas@extundo.com>.
74133
74134 2005-09-20  Bruno Haible  <bruno@clisp.org>
74135
74136         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
74137         func_modules_to_filelist, func_import, func_create_testdir): Make all
74138         sorting results locale-independent, so that gnulib-cache.m4 doesn't
74139         change when gnulib-tool is invoked in a different locale.
74140
74141 2005-09-19  Simon Josefsson  <jas@extundo.com>
74142
74143         * m4/socklen.m4: Fix typo.
74144
74145 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74146
74147         Use a consistent style for including <config.h>.
74148         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
74149         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
74150         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
74151         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
74152         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
74153         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
74154         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
74155         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
74156         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
74157         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
74158         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
74159         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
74160         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
74161         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
74162         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
74163         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
74164         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
74165         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
74166         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
74167         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
74168         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
74169         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
74170         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
74171         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
74172         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
74173         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
74174         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
74175         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
74176         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
74177         lib/xstrtoumax.c, lib/yesno.c:
74178         Standardize inclusion of config.h.
74179         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
74180         lib/inttostr.h:  Removed inclusion of config.h from header files.
74181         * lib/inttostr.c:  Adjusted in-tree users.
74182         * lib/timespec.h: Remove superfluous warning to include config.h.
74183         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
74184         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
74185         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
74186         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
74187         config.h with HAVE_CONFIG_H.
74188
74189 2005-09-19  Jim Meyering  <jim@meyering.net>
74190
74191         * modules/pathmax (License): Change to LGPL.
74192
74193 2005-09-19  Derek Price  <derek@ximbiot.com>
74194
74195         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
74196
74197 2005-09-19  Bruno Haible  <bruno@clisp.org>
74198
74199         * gnulib-tool (import): Provide default for --tests-base.
74200
74201 2005-09-19  Bruno Haible  <bruno@clisp.org>
74202
74203         * doc/quote.texi: New file, extracted from gnulib.texi.
74204         * doc/ctime.texi: New file, extracted from gnulib.texi.
74205         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
74206         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
74207         * doc/gnulib.texi: Include them.
74208
74209 2005-09-18  Bruno Haible  <bruno@clisp.org>
74210
74211         Portability fix.
74212         * gnulib-tool (func_readlink): New function.
74213         (func_ln_if_changed): Use it.
74214
74215 2005-09-18  Bruno Haible  <bruno@clisp.org>
74216
74217         * gnulib-tool: Support --with-tests also with --import.
74218         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
74219         (func_import): Use variables $testsbase and $inctests. Emit a
74220         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
74221         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
74222         SUBDIRS += $testsdir.
74223         (func_create_testdir): Update.
74224
74225 2005-09-18  Bruno Haible  <bruno@clisp.org>
74226
74227         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
74228         instead of $dry_run.
74229         (func_cp_if_changed, func_mv_if_changed): Remove functions.
74230         (func_ln_if_changed): Don't handle dry-run here.
74231         (func_import): In dry-run mode, detect more precisely which actions
74232         would be performed, and don't use "...ing" verbs.
74233
74234 2005-09-18  Bruno Haible  <bruno@clisp.org>
74235
74236         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
74237         (func_import): Use join on two temporary files instead of three nested
74238         loops, in order to determine which files are new or old.
74239
74240 2005-09-18  Bruno Haible  <bruno@clisp.org>
74241
74242         * gnulib-tool (func_import): Comment out code that spits out the
74243         new files with --dry-run.
74244
74245 2005-09-18  Bruno Haible  <bruno@clisp.org>
74246
74247         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
74248
74249 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74250
74251         * lib/stat-time.h: New file.
74252         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
74253         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
74254         in a different way.
74255         (timespec_cmp): New function.
74256         * lib/utimecmp.c: Include stat-time.h.
74257         (SYSCALL_RESOLUTION): Depend on whether various struct stat
74258         members exist, not on the obsolescent ST_MTIM_NSEC.
74259         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
74260
74261 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74262
74263         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
74264
74265 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74266
74267         * MODULES.html.sh (File system functions): Add stat-time.
74268         * modules/stat-time: New file.
74269         * modules/timespec (Files): Remove m4/st_mtim.m4; this
74270         is now done in a different way, by the stat-time module.
74271         * modules/utimecmp (Depends-on): Add stat-time.
74272
74273 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74274
74275         * m4/st_mtim.m4: Remove.  Superseded by...
74276         * m4/stat-time.m4: New file.
74277         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
74278         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
74279
74280 2005-09-15  Derek Price  <derek@ximbiot.com>
74281
74282         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
74283
74284 2005-09-15  Derek Price  <derek@ximbiot.com>
74285
74286         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
74287         * lib/regex_internal.c: Ditto, using this...
74288         (__GNUC_PREREQ): ...new macro.
74289         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
74290         using...
74291         (__GNUC_PREREQ): ...this new macro.
74292
74293         * lib/strstr.h: Include string.h. Define strstr as a macro here.
74294
74295 2005-09-15  Derek Price  <derek@ximbiot.com>
74296             Paul Eggert  <eggert@cs.ucla.edu>
74297
74298         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
74299         changes, consolidating in...
74300         * lib/regex_internal.h: ...this file.
74301
74302 2005-09-13  Jim Meyering  <jim@meyering.net>
74303
74304         * lib/canon-host.c: Filter through gnu indent and reword comments
74305         slightly.
74306         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
74307
74308 2005-09-13  Derek Price  <derek@ximbiot.com>
74309
74310         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
74311         failure.
74312         Reported by Jim Meyering  <jim@meyering.net>.
74313
74314 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74315
74316         * lib/base64.c: Typo.
74317         (base64_encode): Put b64str in initialized data section.
74318
74319 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
74320
74321         Merge glibc and coreutils changes into gnulib, plus a few
74322         extra fixes.
74323         * lib/md5.c: Use #error rather than a string.
74324         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
74325         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
74326         (__attribute__): Define to empty for non recent-GCC.
74327         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
74328         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
74329         Renamed from their non-__ counterparts, with new macros replacing
74330         them if not _LIBC.  Add __THROW attribute.
74331         (rol): Remove.
74332         (struct md5_ctx): Align buffer if using GCC.
74333         * lib/sha1.h (struct sha1_ctx): Likewise.
74334         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
74335         The old name was backwards.
74336         (NOTSWAP): Remove; not used.
74337         (rol): New macro, moved here from md5.h.
74338         (sha1_process_block): Remove a FIXME that doesn't make sense.
74339
74340 2005-09-12  Derek Price  <derek@ximbiot.com>
74341
74342         Return usable errors from canon-host.
74343         * lib/canon-host.h: New file.
74344         * lib/canon-host.c (canon_host): Wrap...
74345         (canon_host_r): ...this new function, which now relies exclusively on
74346         getaddrinfo.
74347         (ch_strerror): New function.
74348         (last_cherror): New global.
74349         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
74350         interface.
74351         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
74352         void *.
74353         (freeaddrinfo): Free ai->ai_canonname when set.
74354
74355 2005-09-12  Derek Price  <derek@ximbiot.com>
74356
74357         Make canon-host require getaddrinfo.
74358         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
74359         AC_LIBSOURCE canon-host.h.  Call...
74360         (gl_PREREQ_CANON_HOST): ...this new function, which requires
74361         gl_GETADDRINFO.
74362         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
74363
74364 2005-09-12  Derek Price  <derek@ximbiot.com>
74365
74366         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
74367         LGPL.
74368         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
74369
74370 2005-09-12  Derek Price  <derek@ximbiot.com>
74371
74372         * lib/gai_strerror.c: Include config.h when available.  Include
74373         getaddrinfo.h before other headers to test interface.
74374         Reported by Larry Jones <lawrence.jones@ugs.com>.
74375
74376 2005-09-12  Derek Price  <derek@ximbiot.com>
74377             Paul Eggert  <eggert@cs.ucla.edu>
74378
74379         * modules/glob (Files): Add glob-libc.h.
74380
74381 2005-09-12  Derek Price  <derek@ximbiot.com>
74382             Paul Eggert  <eggert@cs.ucla.edu>
74383
74384         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
74385         glob_.h, glob-libc.h.
74386         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
74387
74388 2005-09-12  Derek Price  <derek@ximbiot.com>
74389             Paul Eggert  <eggert@cs.ucla.edu>
74390
74391         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
74392         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
74393         protecting things that should be done only in gnulib contexts.
74394         * lib/glob_.h: New file, containing only the glob things needed for
74395         gnulib.
74396         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
74397         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
74398         (glob, globfree, glob_pattern_p): Now defined simply in terms of
74399         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
74400         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
74401         and to respect the namespace rules better.
74402
74403 2005-09-08  Simon Josefsson  <jas@extundo.com>
74404
74405         * modules/socklen: New file.
74406
74407 2005-09-08  Simon Josefsson  <jas@extundo.com>
74408
74409         * m4/socklen.m4: New file.
74410
74411 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74412
74413         * modules/utimens (Files): Add m4/utimbuf.m4, since
74414         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
74415         Reported by Sergey Poznyakoff.
74416
74417 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74418
74419         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
74420         definitions, since that's the preferred style in glibc.
74421         Fix a minor spacing issue, and update copyright notice to match
74422         glibc's.
74423
74424 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74425
74426         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
74427
74428 2005-09-06  Simon Josefsson  <jas@extundo.com>
74429
74430         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
74431         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
74432
74433 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74434
74435         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
74436         warning.
74437
74438 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74439
74440         * config/srclist.txt: Add glibc bug 1302.
74441
74442 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
74443
74444         Change bitset word type from unsigned int to unsigned long int,
74445         as this has better performance on typical 64-bit hosts.
74446         Port bitset code to hosts with unusual word sizes.
74447         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
74448         (build_collating_symbol):
74449         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
74450         argument is a bitset.  This is merely a style issue, but it makes
74451         it clearer that an entire array is expected.
74452         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
74453         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
74454         Port to the case where bitset_word is not the same as unsigned int.
74455         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74456         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
74457         Likewise.
74458         * lib/regexec.c (check_dst_limits_calc_pos_1,
74459         check_subexp_matching_top):
74460         (build_trtable, group_nodes_into_DFAstates):
74461         Likewise.
74462         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74463         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74464         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74465         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74466         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74467         * lib/regcomp.c (optimize_subexps, lower_subexp):
74468         Work even if bitset_word has holes in its bitwise representation.
74469         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74470         * lib/regexec.c (check_dst_limits_calc_pos_1,
74471         check_subexp_matching_top):
74472         Likewise.
74473         * lib/regex_internal.c (re_string_reconstruct):
74474         Don't assume UCHAR_MAX == 255.
74475         * lib/regex_internal.h (bitset_set_all): Likewise.
74476         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74477         All uses changed.
74478         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74479         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74480         All uses changed.
74481         (BITSET_WORD_MAX): New macro.
74482         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74483         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74484         (bitset_empty, bitset_copy):
74485         Prefer sizeof (bitset) to multiplying it out ourselves.
74486         (bitset_not_merge): Remove; unused.
74487         (bitset_contain): Return bool, not unsigned int with one bit on.
74488         All callers changed.
74489         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74490         alignment than re_node_set; do this by defining a new internal
74491         type struct dests_alloc and using it to allocate memory.
74492
74493 2005-09-05  Bruno Haible  <bruno@clisp.org>
74494
74495         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74496         links.
74497
74498 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74499
74500         * modules/size_max (Makefile.am): Add size_max.h
74501
74502 2005-09-04  Derek Price  <derek@ximbiot.com>
74503
74504         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74505
74506 2005-09-03  Simon Josefsson  <jas@extundo.com>
74507
74508         * gnulib-tool: Fix typo.
74509
74510 2005-09-03  Simon Josefsson  <jas@extundo.com>
74511
74512         * config/srclist.txt: Add glibc bug 1293.
74513
74514 2005-09-03  Derek Price  <derek@ximbiot.com>
74515
74516         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74517         From Larry Jones <lawrence.jones@ugs.com>.
74518
74519 2005-09-02  Simon Josefsson  <jas@extundo.com>
74520
74521         * modules/socklen: New file.
74522
74523 2005-09-02  Simon Josefsson  <jas@extundo.com>
74524
74525         * modules/havelib: New module.
74526
74527         * modules/gettext, modules/iconv, modules/lock, modules/readline:
74528         Use havelib.
74529
74530 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74531
74532         Check for arithmetic overflow when calculating sizes, to prevent
74533         some buffer-overflow issues.  These patches are conservative, in the
74534         sense that when I couldn't determine whether an overflow was possible,
74535         I inserted a run-time check.
74536         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
74537         macros.
74538         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
74539         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
74540         (re_xnrealloc, re_x2nrealloc): New inline functions.
74541         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
74542         parse_bracket_exp):
74543         (build_equiv_class, build_charclass): Check for arithmetic overflow
74544         in size expression calculations.
74545         * lib/regex_internal.c (re_string_realloc_buffers):
74546         (build_wcs_upper_buffer, re_node_set_add_intersect):
74547         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
74548         (re_dfa_add_node, register_state): Likewise.
74549         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
74550         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
74551         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
74552         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
74553
74554 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74555
74556         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74557         m4/ulonglong.m4.  Problem reported by Martin Lambers.
74558
74559 2005-09-02  Bruno Haible  <bruno@clisp.org>
74560
74561         Support for lib vs. lib64 distinction on biarch platforms.
74562         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
74563         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
74564         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
74565
74566 2005-09-02  Bruno Haible  <bruno@clisp.org>
74567
74568         * gnulib-tool (import): In the other first-use case, provide defaults
74569         as well.
74570
74571 2005-09-02  Bruno Haible  <bruno@clisp.org>
74572
74573         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
74574         patches not yet found in the latest gettext release.
74575
74576 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74577
74578         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
74579         to avoid a collision with bits/local_lim.h in glibc.
74580         All uses changed.  Problem reported by Dmitry V. Levin in
74581         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
74582
74583         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
74584         bugs in int versus size_t comparisons.
74585         (re_string_context_at): Fix bug where the code assumed that
74586         Idx is signed.
74587
74588         Use bool where appropriate.
74589         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
74590         All callers changed.
74591         (calc_eclosure_iter): Likewise, for ROOT arg.
74592         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
74593         (build_charclass_op): Likewise, for NON_MATCH arg.
74594         * lib/regex_internal.c (re_string_allocate, re_string_construct):
74595         (re_string_construct_common): Likewise, for ICASE arg.
74596         * lib/regexec.c (re_search_2_stub, re_search_stub):
74597         Likewise, for RET_LEN arg.
74598         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
74599         (set_regs): Likewise, for FL_BACKTRACK arg.
74600         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
74601         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
74602         (calc_eclosure_iter, parse_bracket_exp):
74603         Use bool for internal variables that are booleans.
74604         * lib/regexec.c (re_search_internal, check_matching,
74605         proceed_next_node):
74606         (set_regs, build_sifted_states, sift_states_bkref):
74607         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
74608         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74609         (find_collation_sequence_value):
74610         Likewise.
74611         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
74612         (re_node_set_compare):
74613         Return bool, not int. All callers changed.
74614         * lib/regexec.c (check_halt_node_context, check_dst_limits):
74615         (build_trtable, check_node_accept): Likewise.
74616         * lib/regex_internal.h: Include stdbool.h.
74617
74618         Fix bugs uncovered when converting to bool.
74619         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
74620         failure instead of charging ahead blindly.
74621         * lib/regex_internal.c (register_state): Likewise.
74622         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
74623         for freeing internal storage.
74624         (group_nodes_into_DFA_states): Use unsigned int, not int, for
74625         bitset pieces used as boolean, to avoid undefined behavior
74626         on hosts that do int overflow checking.
74627
74628 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74629
74630         * config/srclist.txt: Add glibc bugs 1285-1287.
74631
74632 2005-09-01  Jim Meyering  <jim@meyering.net>
74633
74634         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
74635         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
74636         Require gl_STAT_MACROS, too.
74637
74638 2005-09-01  Bruno Haible  <bruno@clisp.org>
74639
74640         * gnulib-tool (import): In the first-use case, provide defaults.
74641
74642 2005-09-01  Bruno Haible  <bruno@clisp.org>
74643
74644         * gnulib-tool (func_import): Remove the .tmp files.
74645
74646 2005-09-01  Bruno Haible  <bruno@clisp.org>
74647
74648         * gnulib-tool (func_import): Fix handling of symbolic links.
74649
74650 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74651
74652         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
74653         old glibc regex code mishandles strings longer than 2**31 bytes.
74654         This patch fixes this when the regex code is used in gnulib
74655         (i.e., outside glibc).
74656
74657         This patch should not affect the use of the regex code inside
74658         glibc.  No doubt this problem also needs to be handled for glibc
74659         as well, but the result will be an incompatible change to the
74660         glibc ABI, and the old ABI will have to be supported too.  That
74661         can be the the subject for another patch.
74662
74663         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
74664         governing whether the rest of this patch is active.  By default,
74665         the macro is disabled and the patch has no effect.
74666         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
74667         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
74668         (struct re_pattern_buffer, re_search, re_search_2, re_match):
74669         (re_match_2, re_set_registers): Use the new types.
74670         * lib/regex_internal.h (Idx, re_hashval_t): New types.
74671         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
74672         New macros.
74673         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
74674         (re_string_context_at, bin_tree_t, re_dfastate_t):
74675         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
74676         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
74677         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
74678         (re_string_char_size_at, re_string_wchar_at):
74679         (re_string_elem_size_at):
74680         Use the new types and macros to port to 64-bit hosts.
74681         Use unsigned types for internal values, so that the code
74682         mostly works even for arrays larger than SSIZE_MAX.
74683         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
74684         (search_duplicated_node, calc_eclosure_iter, fetch_number):
74685         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
74686         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
74687         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
74688         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
74689         (calc_inveclosure, parse_dup_op, build_range_exp):
74690         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
74691         (fetch_number, create_token_tree, mark_opt_subexp):
74692         Likewise.
74693         * lib/regex_internal.c (re_string_construct_common,
74694         create_ci_newstate):
74695         (create_cd_newstate, re_string_allocate, re_string_construct):
74696         (re_string_realloc_buffers, build_wcs_upper_buffer):
74697         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74698         (re_string_reconstruct, re_string_peek_byte_case):
74699         (re_string_fetch_byte_case, re_string_context_at):
74700         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74701         (re_node_set_init_copy, re_node_set_add_intersect):
74702         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74703         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74704         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74705         (re_acquire_state, re_acquire_state_context, register_state):
74706         Likewise.
74707         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
74708         search_cur_bkref_entry):
74709         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
74710         (re_search_internal, re_search_2_stub, re_search_stub)
74711         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
74712         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
74713         (update_cur_sifted_state, check_dst_limits):
74714         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74715         (check_subexp_limits, sift_states_bkref, merge_state_array):
74716         (check_subexp_matching_top, get_subexp, get_subexp_sub):
74717         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
74718         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74719         (expand_bkref_cache, check_node_accept_bytes):
74720         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
74721         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
74722         (acquire_init_state_context, check_halt_node_context):
74723         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
74724         (sift_states_backward, clean_state_log_if_needed):
74725         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
74726         (find_recover_state, transit_state_sb, transit_state_mb):
74727         (transit_state_bkref, build_trtable, match_ctx_clean):
74728         Likewise.
74729         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
74730         to work around an assumption that REG_MISSING is negative.
74731
74732         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
74733         (seek_collating_symbol_entry) [defined _LIBC]:
74734         (lookup_collation_sequence_value) [defined _LIBC]:
74735         (build_range_exp, build_collating_symbol) [defined _LIBC]:
74736         Use prototypes rather than old-style function definitions.
74737         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
74738         (transit_state_sb) [0]:
74739         (find_collation_sequence_value) [defined _LIBC]: Likewise.
74740
74741         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
74742         rm_eo.
74743
74744         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
74745         (optimize_subexps, lower_subexp):
74746         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
74747         since the signed shift might overflow.  Use 1u<<31 instead.
74748         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74749         Likewise.
74750         * lib/regexec.c (check_dst_limits_calc_pos_1,
74751         check_subexp_matching_top): Likewise.
74752
74753         * lib/regcomp.c (optimize_subexps, lower_subexp):
74754         Use CHAR_BIT rather than 8, for clarity.
74755         * lib/regexec.c (check_dst_limits_calc_pos_1):
74756         (check_subexp_matching_top): Likewise.
74757         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
74758         have to worry about portability issues when shifting it left.
74759         Remove no-longer-needed test for table_size > 0.
74760         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
74761         in a word, as the resulting behavior is undefined.
74762         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
74763         in one case, a <= should have been an <, and in another case the
74764         whole test was missing.
74765         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
74766         the standard name CHAR_BIT.
74767         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
74768         this is not true on one's complement and signed-magnitude hosts.
74769
74770         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
74771         next_last_offset.
74772         (struct re_dfa_t): Remove unused member states_alloc.
74773         * lib/regcomp.c (init_dfa): Don't initialize unused members.
74774
74775 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74776
74777         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
74778         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
74779         and large-file glibc and in 32-bit large-file Solaris.
74780
74781 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74782
74783         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
74784         lengths fit in regoff_t; this isn't true if regoff_t is the same
74785         width as size_t.
74786         * lib/regex.c (re_search_internal): 5th arg is LAST_START
74787         (= START + RANGE) instead of RANGE.  This avoids overflow
74788         problems when regoff_t is the same width as size_t.
74789         All callers changed.
74790         (re_search_2_stub): Check for overflow when adding the
74791         sizes of the two strings.
74792         (re_search_stub): Check for overflow when adding START
74793         to RANGE; if it occurs, substitute the extreme value.
74794
74795 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74796
74797         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
74798
74799 2005-08-31  Jim Meyering  <jim@meyering.net>
74800
74801         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
74802         a pointer-to-const.
74803         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
74804         (register_state): Likewise.
74805         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
74806         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74807         (group_nodes_into_DFAstates): Likewise.
74808
74809 2005-08-31  Jim Meyering  <jim@meyering.net>
74810
74811         * check-module: Add a FIXME comment.
74812
74813 2005-08-31  Eric Blake  <ebb9@byu.net>
74814
74815         * modules/unistd-safer (Files): Add unistd--.h.
74816         * modules/stdio-safer (Files): Add stdio--.h.
74817
74818 2005-08-31  Derek Price  <derek@ximbiot.com>
74819
74820         * lib/getdelim.c (getdelim): Return EOF on EOF.
74821         Reported by Larry Jones <lawrence.jones@ugs.com>.
74822
74823 2005-08-31  Bruno Haible  <bruno@clisp.org>
74824
74825         Avoid unnecessary diffs in the generated lib/Makefile.am.
74826         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
74827         the generated files.
74828         (func_import): Don't set cmd.
74829
74830 2005-08-31  Bruno Haible  <bruno@clisp.org>
74831
74832         * lib/strstr.c: Include <stddef.h>, for NULL.
74833         * lib/strcasestr.c: Likewise.
74834         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74835
74836 2005-08-31  Bruno Haible  <bruno@clisp.org>
74837
74838         * gnulib-tool: New option --macro-prefix.
74839         (func_import): Use macro_prefix.
74840         (import): Handle option --macro-prefix.
74841
74842 2005-08-31  Bruno Haible  <bruno@clisp.org>
74843
74844         * gnulib-tool (import): Rename most ac_* variables to cached_*.
74845         Also use new variables cached_lgpl, cached_libtool.
74846
74847 2005-08-31  Bruno Haible  <bruno@clisp.org>
74848
74849         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
74850         always instantiating them.
74851
74852 2005-08-31  Bruno Haible  <bruno@clisp.org>
74853
74854         * gnulib-tool (func_import): Read the previous cached settings
74855         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
74856         earlier added by gnulib but are now dropped. Warn when a gnulib file
74857         overwrites a non-gnulib file.
74858
74859 2005-08-31  Bruno Haible  <bruno@clisp.org>
74860
74861         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
74862         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
74863         projects that don't keep autogenerated files in CVS. Put into
74864         actioncmd only the specified modules, not the transitive closure.
74865
74866 2005-08-31  Bruno Haible  <bruno@clisp.org>
74867
74868         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
74869         Create directories that shall be filled.
74870         (import): Don't look for gl_* macros in configure.ac. Recurse across
74871         all directories containing a gnulib-cache.m4 files, if meaningful.
74872
74873 2005-08-31  Bruno Haible  <bruno@clisp.org>
74874
74875         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
74876         (import): Set seen_libtool when we see gl_LIBTOOL.
74877
74878 2005-08-31  Bruno Haible  <bruno@clisp.org>
74879
74880         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
74881         declaration macro definitions from generated gnulib.m4.
74882
74883 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
74884
74885         * lib/iconvme.h: Add prototype for iconv_alloc.
74886
74887 2005-08-29  Simon Josefsson  <jas@extundo.com>
74888
74889         * lib/iconvme.c: Fix errno.
74890
74891 2005-08-29  Bruno Haible  <bruno@clisp.org>
74892
74893         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
74894         that it works when the directory contains spaces.
74895
74896 2005-08-29  Bruno Haible  <bruno@clisp.org>
74897
74898         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
74899
74900 2005-08-29  Bruno Haible  <bruno@clisp.org>
74901
74902         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
74903         Emit more advice.
74904
74905 2005-08-29  Bruno Haible  <bruno@clisp.org>
74906         and Stepan Kasal  <kasal@ucw.cz>
74907
74908         * check-module: If more parameters are given, check each of them
74909         separately; add more exceptions, as noted by Jim Meyering.
74910         (check_module): New procedure.
74911         (%exempt_header): Now contains all exceptions.
74912
74913 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
74914
74915         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
74916
74917 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74918
74919         * lib/iconvme.c: Split iconv_string into iconv_alloc.
74920
74921 2005-08-28  Bruno Haible  <bruno@clisp.org>
74922
74923         * m4/gnulib-tool.m4: New file.
74924
74925 2005-08-27  Jim Meyering  <jim@meyering.net>
74926
74927         * modules/unistd-safer (Files): Add pipe-safer.c.
74928         * modules/fcntl-safer (Files): Add creat-safer.c.
74929
74930 2005-08-27  Jim Meyering  <jim@meyering.net>
74931
74932         * m4/stdlib-safer.m4: New file.  From coreutils.
74933         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
74934         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
74935         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
74936         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
74937         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
74938
74939 2005-08-27  Jim Meyering  <jim@meyering.net>
74940
74941         * lib/fopen-safer.c: Merge minor changes from coreutils.
74942         * lib/dup-safer.c: Likewise.
74943         * lib/fd-safer.c: Likewise.
74944
74945         Merge from coreutils.
74946         * lib/stdio--.h: New file.
74947         * lib/stdlib--.h: New file.
74948         * lib/mkstemp-safer.c: New file.
74949
74950         GNU tar needs these.
74951         * lib/pipe-safer.c: New file.
74952         * lib/creat-safer.c: New file.
74953         * lib/fcntl--.h (creat): Define to creat_safer.
74954         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
74955         * lib/unistd--.h (pipe): Define to pipe_safer.
74956         * lib/unistd-safer.h: Declare pipe_safer.
74957
74958 2005-08-26  Simon Josefsson  <jas@extundo.com>
74959
74960         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
74961         Haible <bruno@clisp.org>.
74962
74963 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
74964
74965         * lib/regex_internal.h: Remove all references to
74966         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
74967         or better.
74968         (bitset_not, bitset_merge, bitset_not_merge):
74969         (bitset_mask, re_string_allocate, re_string_construct):
74970         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
74971         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
74972         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
74973         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
74974         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74975         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74976         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
74977         (re_acquire_state_context):
74978         Remove unnecessary forward decls.
74979         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
74980         Put __attribute at function definition,
74981         now that the function decl has been removed.
74982         * lib/regex_internal.c (re_string_peek_byte_case):
74983         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
74984         Likewise.
74985
74986 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
74987
74988         * m4/regex.m4: Add AC_PREREQ(2.50).
74989         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
74990
74991 2005-08-25  Simon Josefsson  <jas@extundo.com>
74992
74993         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
74994         __fsetlocking.
74995
74996 2005-08-25  Simon Josefsson  <jas@extundo.com>
74997
74998         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
74999         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
75000         GLIBC specific code.
75001
75002 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75003
75004         Make regex safe for g++.  This fixes one real bug (an "err"
75005         that should have been "*err").  g++ problem reported by
75006         Sam Steingold.
75007         * lib/regex_internal.h (re_calloc): New macro, consistent with
75008         re_malloc etc.  All callers of calloc changed to use re_calloc.
75009         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
75010         not int.  All callers changed.
75011         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
75012         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
75013         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
75014         (find_recover_state): Change "err" to "*err"; this fixes what
75015         appears to be a real bug.
75016         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
75017         versus int.
75018
75019 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75020
75021         * modules/regex (Depends-on): Add malloc, since the code
75022         assumes that !malloc(0) means failure.
75023
75024 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75025
75026         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
75027
75028         alloca modernization/simplification for regex.
75029         * lib/regex.c: Remove portability cruft for alloca.  This no longer
75030         needs to be at the start of the file, and can be moved into
75031         regex_internal.h and simplified.
75032         * lib/regex_internal.h: Include <alloca.h>.
75033         (__libc_use_alloca) [!defined _LIBC]: New macro.
75034         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
75035         now works outside glibc.
75036
75037 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75038
75039         * config/srclist.txt: Add glibc bugs 1241, 1245.
75040
75041 2005-08-25  Jim Meyering  <jim@meyering.net>
75042
75043         * lib/open-safer.c: Include <config.h>.
75044         Otherwise, we'd lose LARGEFILE support in any file using
75045         e.g. "fcntl--.h"
75046
75047 2005-08-25  Bruno Haible  <bruno@clisp.org>
75048
75049         * m4/minmax.m4: Require autoconf 2.52.
75050         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
75051         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
75052         alternatives of translit over the alphabet.
75053         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
75054
75055 2005-08-24  Simon Josefsson  <jas@extundo.com>
75056
75057         * tests/test-getpass.c: New file.
75058
75059 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75060
75061         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
75062         for GNU regex features.
75063
75064 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75065
75066         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
75067         * lib/regex.h (regerror): Likewise.
75068
75069         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
75070         requires this.  (The code never needed it.)
75071
75072         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
75073         All uses of recently-renamed identifiers changed to use the new,
75074         POSIX-compliant names.  The code will build and run just fine
75075         without these changes, but it's better to eat our own dog food
75076         and use the standard-conforming names.
75077
75078         * lib/regex.h: Fix a multitude of POSIX name space violations.
75079         These changes have an effect only for programs that define
75080         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
75081         do not change anything for programs compiled in the normal way.
75082         Also, there is no effect on the ABI.
75083
75084         (_REGEX_SOURCE): New macro.
75085         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
75086         defined and _GNU_SOURCE is not; this fixes a name space violation.
75087
75088         Rename the following macros to obey POSIX requirements.
75089         The old names are still visible as macros if _REGEX_SOURCE is defined.
75090         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
75091         RE_BACKSLASH_ESCAPE_IN_LISTS.
75092         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
75093         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
75094         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
75095         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
75096         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
75097         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
75098         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
75099         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
75100         (REG_INTERVALS): renamed from RE_INTERVALS.
75101         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
75102         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
75103         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
75104         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
75105         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
75106         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
75107         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
75108         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
75109         RE_UNMATCHED_RIGHT_PAREN_ORD.
75110         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
75111         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
75112         (REG_DEBUG): renamed from RE_DEBUG.
75113         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
75114         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
75115         unusual, since we can't clash with the POSIX REG_ICASE.
75116         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
75117         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
75118         (REG_NO_SUB): renamed from RE_NO_SUB.
75119         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
75120         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
75121         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
75122         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
75123         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
75124         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
75125         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
75126         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
75127         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
75128         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
75129         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
75130         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
75131         RE_SYNTAX_POSIX_MINIMAL_BASIC.
75132         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
75133         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
75134         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
75135         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
75136         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
75137         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
75138         (REG_FIXED): Renamed from REGS_FIXED.
75139         (REG_NREGS): Renamed from RE_NREGS.
75140
75141         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
75142         of other REG_* macros, since POSIX says the user is allowed to
75143         #undef these macros selectively.
75144
75145         (reg_errcode_t): Update comment stating what other tables need
75146         to be consistent.
75147
75148         Rename the following enum values to obey POSIX requirements.
75149         The old names are still visible as macros.
75150         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
75151         is not defined, since GNU is supposed to be a superset of POSIX as
75152         much as possible, and since we want reg_errcode_t to be a signed
75153         type for implementation consistency.
75154         (_REG_NOERROR): Renamed from REG_NOERROR.
75155         (_REG_NOMATCH): Renamed from REG_NOMATCH.
75156         (_REG_BADPAT): Renamed from REG_BADPAT.
75157         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
75158         (_REG_ECTYPE): Renamed from REG_ECTYPE.
75159         (_REG_EESCAPE): Renamed from REG_EESCAPE.
75160         (_REG_ESUBREG): Renamed from REG_ESUBREG.
75161         (_REG_EBRACK): Renamed from REG_EBRACK.
75162         (_REG_EPAREN): Renamed from REG_EPAREN.
75163         (_REG_EBRACE): Renamed from REG_EBRACE.
75164         (_REG_BADBR): Renamed from REG_BADBR.
75165         (_REG_ERANGE): Renamed from REG_ERANGE.
75166         (_REG_ESPACE): Renamed from REG_ESPACE.
75167         (_REG_BADRPT): Renamed from REG_BADRPT.
75168         (_REG_EEND): Renamed from REG_EEND.
75169         (_REG_ESIZE): Renamed from REG_ESIZE.
75170         (_REG_ERPAREN): Renamed from REG_ERPAREN.
75171         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
75172         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
75173         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
75174         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
75175
75176         (_REG_RE_NAME, _REG_RM_NAME): New macros.
75177         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
75178         changed.  But support the old name if the new one is not defined
75179         and if _REGEX_SOURCE.
75180
75181         Change the following member names in struct re_pattern_buffer.
75182         The old names are still supported if !_REGEX_SOURCE.
75183         The new names are always supported, regardless of _REGEX_SOURCE.
75184         (re_buffer): Renamed from buffer.
75185         (re_allocated): Renamed from allocated.
75186         (re_used): Renamed from used.
75187         (re_syntax): Renamed from syntax.
75188         (re_fastmap): Renamed from fastmap.
75189         (re_translate): Renamed from translate.
75190         (re_can_be_null): Renamed from can_be_null.
75191         (re_regs_allocated): Renamed from regs_allocated.
75192         (re_fastmap_accurate): Renamed from fastmap_accurate.
75193         (re_no_sub): Renamed from no_sub.
75194         (re_not_bol): Renamed from not_bol.
75195         (re_not_eol): Renamed from not_eol.
75196         (re_newline_anchor): Renamed from newline_anchor.
75197
75198         Change the following member names in struct re_registers.
75199         The old names are still supported if !_REGEX_SOURCE.
75200         The new names are always supported, regardless of _REGEX_SOURCE.
75201         (rm_num_regs): Renamed from num_regs.
75202         (rm_start): Renamed from start.
75203         (rm_end): Renamed from end.
75204
75205         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
75206         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
75207         Prepend __ to parameter names.
75208
75209         Undo yesterday's changes.
75210
75211 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75212
75213         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
75214         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
75215         lib/regex.c.
75216
75217 2005-08-24  Jim Meyering  <jim@meyering.net>
75218
75219         Sync from coreutils.
75220         * m4/fcntl-safer.m4: New file.
75221
75222         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
75223         and object files for this module.
75224
75225 2005-08-24  Jim Meyering  <jim@meyering.net>
75226
75227         Sync from coreutils.
75228         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
75229
75230 2005-08-24  Jim Meyering  <jim@meyering.net>
75231
75232         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
75233         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
75234
75235 2005-08-24  Jim Meyering  <jim@meyering.net>
75236
75237         * modules/fcntl-safer: New module.
75238         * modules/fts (Depends-on): Add fcntl-safer.
75239         * MODULES.html.sh (File descriptor based Input/Output):
75240         Add fcntl-safer.
75241
75242 2005-08-24  Bruno Haible  <bruno@clisp.org>
75243
75244         Support for unit test modules.
75245         * modules/README: Mention tests modules.
75246         * modules/TEMPLATE-TESTS: New file.
75247         * gnulib-tool: New options --extract-tests-module, --with-tests and
75248         --tests-base (unused for the moment).
75249         (testsbase, inctests): New variables.
75250         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
75251         (func_verify_module): Exclude TEMPLATE-TESTS.
75252         (func_verify_nontests_module, func_verify_tests_module): New functions.
75253         (func_get_dependencies): Add implicit dependency for tests modules.
75254         (func_get_tests_module): New function.
75255         (func_modules_transitive_closure): When --with-tests was specified,
75256         include the unit tests as well, unless explicitly avoided.
75257         (func_emit_lib_Makefile_am): Ignore the tests modules here.
75258         (func_emit_tests_Makefile_am): New function.
75259         (func_create_testdir): When --with-tests was specified, emit a
75260         tests/ directory.
75261         * MODULES.html.sh (Future developments): Update.
75262
75263 2005-08-24  Bruno Haible  <bruno@clisp.org>
75264
75265         * modules/tls-tests: New file.
75266         * tests/test-tls.c: New file, from GNU gettext.
75267
75268 2005-08-24  Bruno Haible  <bruno@clisp.org>
75269
75270         * modules/lock-tests: New file.
75271         * tests/test-lock.c: New file, from GNU gettext.
75272
75273 2005-08-24  Bruno Haible  <bruno@clisp.org>
75274
75275         * lib/lock.h: Add multiple inclusion guard.
75276         * lib/tls.h: Add multiple inclusion guard.
75277
75278 2005-08-24  Bruno Haible  <bruno@clisp.org>
75279
75280         * gnulib-tool: Add support for the --aux-dir option to
75281         --create-testdir, --create-megatestdir, --test, --megatest.
75282         (func_create_testdir, func_create_megatestdir): Optionally emit a
75283         AC_CONFIG_AUX_DIR directive.
75284         (create-testdir, create-megatestdir, test, megatest): Provide a
75285         default value for $auxdir.
75286
75287 2005-08-24  Bruno Haible  <bruno@clisp.org>
75288
75289         * gnulib-tool (import): Use compound statement instead of subshell
75290         where possible.
75291
75292 2005-08-24  Bruno Haible  <bruno@clisp.org>
75293
75294         * gnulib-tool (import): Change --aux-dir default to "build-aux".
75295
75296 2005-08-24  Bruno Haible  <bruno@clisp.org>
75297
75298         * gnulib-tool (func_version): Update.
75299
75300 2005-08-24  Bruno Haible  <bruno@clisp.org>
75301
75302         * gnulib-tool (func_import, func_create_testdir,
75303         func_create_megatestdir): Quote all autoconf macro arguments.
75304
75305 2005-08-24  Bruno Haible  <bruno@clisp.org>
75306
75307         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
75308         option --force, because --force causes the aclocal.m4 of each
75309         subdirectory to be newer than the corresponding config.h.in.
75310
75311 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75312
75313         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
75314         All contents moved to gl_REGEX.
75315         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
75316         assume that it does.
75317
75318 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75319
75320         * lib/regex.h (REG_NOSYS)
75321         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
75322         Define, since POSIX requires it as of 2001.
75323         (_REG_ENOSYS)
75324         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
75325         New private symbol, used to keep the enum signed in all cases.
75326         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
75327         Youngman in
75328         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
75329
75330         * lib/regex_internal.c (re_string_skip_chars, register_state):
75331         (calc_state_hash):
75332         Remove forward decls; no longer needed now that we use prototypes.
75333         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
75334         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
75335         (clean_state_log_if_needed): Likewise.
75336
75337 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75338
75339         * config/srclist.txt: Add glibc bugs 1231-1233.
75340
75341 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75342
75343         Fix problems reported by Sam Steingold in
75344         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
75345         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
75346         assumed that reg_errcode_t is a signed type, which is not
75347         necessarily true if _XOPEN_SOURCE is not defined.
75348         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
75349         since some compilers warn about it otherwise.
75350
75351 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75352
75353         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
75354         (init_word_char, create_initial_state, duplicate_node_closure):
75355         (fetch_token, peek_token_bracket, build_range_exp):
75356         (build_collating_symbol): Remove forward decls; no longer needed
75357         now that we use prototypes.
75358
75359         * lib/regcomp.c:
75360         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
75361         (re_compile_fastmap_iter, regcomp, regerror, regfree):
75362         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
75363         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
75364         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
75365         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
75366         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
75367         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
75368         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
75369         (build_range_exp, build_collating_symbol, parse_bracket_exp):
75370         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
75371         (build_charclass, build_charclass_op, fetch_number, create_tree):
75372         (create_token_tree, mark_opt_subexp, duplicate_tree):
75373         Use prototypes rather than old-style definitions.
75374
75375         * lib/regex_internal.c:
75376         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
75377         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
75378         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75379         (re_string_reconstruct, re_string_peek_byte_case):
75380         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
75381         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75382         (re_node_set_init_copy, re_node_set_add_intersect):
75383         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75384         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75385         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75386         (re_acquire_state, re_acquire_state_context, register_state):
75387         (create_ci_newstate, create_cd_newstate, free_state):
75388         Likewise.
75389         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
75390         re_search_2):
75391         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
75392         (re_search_internal, prune_impossible_nodes):
75393         (acquire_init_state_context, check_matching, static):
75394         (check_halt_node_context, check_halt_state_context, proceed_next_node):
75395         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
75396         (update_regs, sift_states_backward, build_sifted_states):
75397         (clean_state_log_if_needed, merge_state_array):
75398         (update_cur_sifted_state, add_epsilon_src_nodes):
75399         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
75400         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
75401         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
75402         (find_recover_state, check_subexp_matching_top, transit_state_mb):
75403         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
75404         (check_arrival, check_arrival_add_next_nodes):
75405         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75406         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75407         (check_node_accept_bytes, check_node_accept, extend_buffers):
75408         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
75409         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
75410         (sift_ctx_init):
75411         Likewise.
75412
75413         * lib/regex_internal.h:
75414         (re_string_allocate, re_string_construct, re_string_reconstruct):
75415         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
75416         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
75417         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
75418         (re_string_context_at, re_string_peek_byte_case):
75419         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
75420         is defined, since we now use prototypes always.
75421
75422         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
75423         C89 or better.  All uses removed.
75424
75425 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75426
75427         * config/srclist.txt: Add glibc bugs 1220-1227.
75428
75429 2005-08-20  Jim Meyering  <jim@meyering.net>
75430
75431         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
75432         of unused local, dfa.
75433
75434 2005-08-20  Bruno Haible  <bruno@clisp.org>
75435
75436         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
75437
75438 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75439
75440         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
75441         (re_node_set_insert_last, re_dfa_add_node):
75442         Rename local variables to avoid GCC shadowing warnings.
75443
75444 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75445
75446         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
75447         [defined lint]: Suppress bogus uninitialized-variable warnings.
75448
75449         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
75450         and let the caller return REG_ESPACE if out of space.  This
75451         removes an uninitialied-variable warning with GCC 4.0.1, and also
75452         avoids taking the address of a local variable.  All callers
75453         changed.
75454
75455 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75456
75457         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
75458         $LIBCSRC/posix/regexec.c.
75459         Add glibc bug 1217 for regcomp.c.
75460
75461 2005-08-19  Jim Meyering  <jim@meyering.net>
75462
75463         * lib/regexec.c (proceed_next_node): Redo local variables to
75464         avoid GCC shadowing warnings.
75465
75466 2005-08-18  Bruno Haible  <bruno@clisp.org>
75467
75468         * lib/strstr.c (strstr): Fix return value in multibyte case.
75469         * lib/strcasestr.c (strcasestr): Likewise.
75470
75471 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75472
75473         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75474
75475 2005-08-17  Jim Meyering  <jim@meyering.net>
75476
75477         Make the %s format (seconds since the epoch) work for a negative
75478         number and when used with a zero-padded field width, e.g. %015s.
75479
75480         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75481         label so that it precedes the code to set `digits'.  Otherwise,
75482         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75483         print `00-22'.  Now, it prints `-0022', as it should.
75484
75485 2005-08-17  Bruno Haible  <bruno@clisp.org>
75486
75487         * modules/strstr (Files): Add m4/mbrtowc.m4.
75488         (Depends-on): Add mbuiter.
75489
75490 2005-08-17  Bruno Haible  <bruno@clisp.org>
75491
75492         * modules/strcasestr: New file.
75493         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75494         strcasestr.
75495
75496 2005-08-17  Bruno Haible  <bruno@clisp.org>
75497
75498         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75499
75500 2005-08-17  Bruno Haible  <bruno@clisp.org>
75501
75502         * modules/mbuiter: New file.
75503         * MODULES.html.sh (Extended multibyte and wide character utilities):
75504         Add mbuiter.
75505
75506 2005-08-17  Bruno Haible  <bruno@clisp.org>
75507
75508         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75509         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75510
75511 2005-08-17  Bruno Haible  <bruno@clisp.org>
75512
75513         * m4/strcasestr.m4: New file.
75514
75515 2005-08-17  Bruno Haible  <bruno@clisp.org>
75516
75517         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75518         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75519
75520 2005-08-17  Bruno Haible  <bruno@clisp.org>
75521
75522         * lib/strcasestr.h: New file.
75523         * lib/strcasestr.c: New file.
75524
75525 2005-08-17  Bruno Haible  <bruno@clisp.org>
75526
75527         * lib/strcasecmp.c: Use mbuiter.h.
75528
75529 2005-08-17  Bruno Haible  <bruno@clisp.org>
75530
75531         * lib/mbuiter.h: New file.
75532
75533 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75534
75535         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
75536         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
75537         and gl_GETOPT are both invoked via different paths (as happens
75538         with GNU tar CVS because it uses both argp and getopt), the former
75539         wins.
75540
75541 2005-08-16  Bruno Haible  <bruno@clisp.org>
75542
75543         * modules/tls: New file.
75544         * MODULES.html.sh (Multithreading): Add tls.
75545
75546 2005-08-16  Bruno Haible  <bruno@clisp.org>
75547
75548         * modules/strnlen1: New file.
75549         * MODULES.html.sh (String handling): Add strnlen1.
75550
75551 2005-08-16  Bruno Haible  <bruno@clisp.org>
75552
75553         * modules/strcase (Files): Add m4/mbrtowc.m4.
75554         (Depends-on): Add strnlen1, mbchar.
75555
75556 2005-08-16  Bruno Haible  <bruno@clisp.org>
75557
75558         * modules/mbiter: New file.
75559         * MODULES.html.sh (Extended multibyte and wide character utilities):
75560         Add mbiter.
75561
75562 2005-08-16  Bruno Haible  <bruno@clisp.org>
75563
75564         * modules/mbfile: New file.
75565         * MODULES.html.sh (Extended multibyte and wide character utilities):
75566         Add mbfile.
75567
75568 2005-08-16  Bruno Haible  <bruno@clisp.org>
75569
75570         * modules/mbchar: New file.
75571         * MODULES.html.sh (Extended multibyte and wide character utilities):
75572         New section.
75573
75574 2005-08-16  Bruno Haible  <bruno@clisp.org>
75575
75576         * m4/tls.m4: New file, from GNU gettext.
75577
75578 2005-08-16  Bruno Haible  <bruno@clisp.org>
75579
75580         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
75581         always.
75582         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
75583
75584 2005-08-16  Bruno Haible  <bruno@clisp.org>
75585
75586         * m4/mbiter.m4: New file.
75587
75588 2005-08-16  Bruno Haible  <bruno@clisp.org>
75589
75590         * m4/mbfile.m4: New file.
75591
75592 2005-08-16  Bruno Haible  <bruno@clisp.org>
75593
75594         * m4/mbchar.m4: New file.
75595
75596 2005-08-16  Bruno Haible  <bruno@clisp.org>
75597
75598         * lib/tls.h: New file, from GNU gettext.
75599         * lib/tls.c: New file, from GNU gettext.
75600
75601 2005-08-16  Bruno Haible  <bruno@clisp.org>
75602
75603         * lib/strnlen1.h: New file.
75604         * lib/strnlen1.c: New file.
75605
75606 2005-08-16  Bruno Haible  <bruno@clisp.org>
75607
75608         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
75609         (mbi_init): Update.
75610         (mbi_avail, mbi_advance): Let the iteration end before the terminating
75611         NUL byte, not after it.
75612
75613 2005-08-16  Bruno Haible  <bruno@clisp.org>
75614
75615         * lib/strcase.h (strcasecmp): Add note in comments.
75616         * lib/strncasecmp.c: Use code from strcasecmp.c.
75617         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
75618         (strcasecmp): Work correctly in multibyte locales.
75619
75620 2005-08-16  Bruno Haible  <bruno@clisp.org>
75621
75622         * lib/mbiter.h: New file.
75623
75624 2005-08-16  Bruno Haible  <bruno@clisp.org>
75625
75626         * lib/mbfile.h: New file.
75627
75628 2005-08-16  Bruno Haible  <bruno@clisp.org>
75629
75630         * lib/mbchar.h: New file.
75631         * lib/mbchar.c: New file.
75632
75633 2005-08-16  Bruno Haible  <bruno@clisp.org>
75634
75635         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
75636         the valid ones. Makes the comparison operations transitive:
75637         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
75638         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
75639
75640 2005-08-15  Simon Josefsson  <jas@extundo.com>
75641
75642         * modules/ssize_t (License): Change to 'unlimited'.
75643
75644         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
75645
75646 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75647
75648         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
75649         Add comments for each pending glibc patch.
75650
75651 2005-08-15  Bruno Haible  <bruno@clisp.org>
75652
75653         * lib/regex.h (__restrict_arr): Don't define to __restrict if
75654         __cplusplus is defined.
75655
75656 2005-08-14  Jim Meyering  <jim@meyering.net>
75657
75658         Sync from coreutils.
75659
75660         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
75661         Use the hash-table-based cycle-detection code not just when
75662         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
75663         Reported by James Youngman in
75664         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
75665         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
75666         FTS_TIGHT_CYCLE_CHECK.
75667         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
75668         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
75669         once again.
75670         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
75671         * lib/fts.c (fd_safer): Remove decl.
75672         Include fcntl--.h rather than unistd-safer.h
75673         (fts_safe_changedir): Don't call fd_safer; no longer needed
75674         now that we include fcntl--.h.
75675
75676 2005-08-12  Simon Josefsson  <jas@extundo.com>
75677
75678         * modules/getndelim2: Use ssize_t module.
75679         * modules/getnline: Likewise.
75680         * modules/safe-read: Likewise.
75681         * modules/xreadlink: Likewise.
75682
75683         * modules/ssize_t: New file.
75684
75685 2005-08-12  Simon Josefsson  <jas@extundo.com>
75686
75687         * m4/readline.m4: Look for termcap, curses or ncurses if required.
75688
75689 2005-08-12  Simon Josefsson  <jas@extundo.com>
75690
75691         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75692         ssize_t.
75693
75694 2005-08-12  Simon Josefsson  <jas@extundo.com>
75695
75696         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
75697         readline, getdelim and check_version.
75698         (Support for systems lacking ISO C 99: Sizes of integer types):
75699         Add size_max.
75700
75701 2005-08-12  Bruno Haible  <bruno@clisp.org>
75702
75703         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
75704
75705 2005-08-11  Simon Josefsson  <jas@extundo.com>
75706
75707         * modules/readline: New file.
75708
75709         * modules/strnlen (Files): Add strnlen.h.
75710
75711 2005-08-11  Simon Josefsson  <jas@extundo.com>
75712
75713         * m4/readline.m4: New file.
75714
75715 2005-08-11  Simon Josefsson  <jas@extundo.com>
75716
75717         * lib/readline.h, readline.c: New file.
75718
75719 2005-08-11  Simon Josefsson  <jas@extundo.com>
75720
75721         * doc/gnulib.texi (Initial import, Finishing touches): Mention
75722         gl_AVOID.
75723
75724 2005-08-11  Bruno Haible  <bruno@clisp.org>
75725
75726         * lib/strnlen.h (strnlen): Change parameter name to match comment.
75727
75728 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
75729
75730         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
75731
75732 2005-08-10  Simon Josefsson  <jas@extundo.com>
75733
75734         * tests/test-iconvme.c: New file.
75735
75736 2005-08-10  Simon Josefsson  <jas@extundo.com>
75737
75738         * m4/strnlen.m4: New file.
75739
75740         * m4/strndup.m4: Don't check for strnlen declaration, done in
75741         strnlen.m4.
75742
75743 2005-08-10  Simon Josefsson  <jas@extundo.com>
75744
75745         * lib/strndup.c: Use strnlen.h.
75746
75747         * lib/strnlen.h: New file.
75748
75749 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75750
75751         * README: Typos.
75752
75753 2005-08-02  Simon Josefsson  <jas@extundo.com>
75754
75755         * modules/readline: New file.
75756
75757 2005-08-02  Simon Josefsson  <jas@extundo.com>
75758
75759         * modules/getdelim: New file.
75760
75761         * modules/getline: Rewrite, don't use getndelim2.
75762
75763 2005-08-02  Simon Josefsson  <jas@extundo.com>
75764
75765         * m4/getline.m4: Separate out getdelim stuff into separate module.
75766
75767         * m4/getdelim.m4: New file.
75768
75769 2005-08-02  Simon Josefsson  <jas@extundo.com>
75770
75771         * lib/getline.h, getline.c: Rewrite.
75772
75773         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
75774
75775 2005-07-31  Bruno Haible  <bruno@clisp.org>
75776
75777         * lib/lock.h (gl_lock_initializer): New macro.
75778         (gl_lock_define_initialized): Use it.
75779         (gl_rwlock_initializer): New macro.
75780         (gl_rwlock_define_initialized): Use it.
75781         (gl_recursive_lock_initializer): New macro.
75782         (gl_recursive_lock_define_initialized): Use it.
75783
75784 2005-07-30  Karl Berry  <karl@gnu.org>
75785
75786         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
75787         Report from Ben Pfaff, regarding getopt.
75788
75789 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
75790
75791         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
75792         normal way.
75793         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
75794         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
75795         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
75796         (gl_GETOPT): Use the new macros.  Most of the implementation
75797         is moved to the new macros.  This is for programs like Emacs
75798         that don't want all the functionality of gl_GETOPT.
75799
75800 2005-07-26  Bruno Haible  <bruno@clisp.org>
75801
75802         * m4/lock.m4: Update from GNU gettext.
75803
75804 2005-07-26  Bruno Haible  <bruno@clisp.org>
75805
75806         * lib/lock.h: Update from GNU gettext.
75807         * lib/lock.c: Update from GNU gettext.
75808
75809 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
75810
75811         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
75812         obsolescent AC_TRY_RUN.  Include the default includes files, for
75813         'exit'.
75814
75815 2005-07-24  Bruno Haible  <bruno@clisp.org>
75816
75817         * modules/visibility: New file.
75818         * MODULES.html.sh (Misc): Add visibility.
75819
75820 2005-07-24  Bruno Haible  <bruno@clisp.org>
75821
75822         * m4/visibility.m4: New file.
75823
75824 2005-07-24  Bruno Haible  <bruno@clisp.org>
75825
75826         * doc/visibility.texi: New file.
75827
75828 2005-07-22  Bruno Haible  <bruno@clisp.org>
75829
75830         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
75831         $(ALLOCA_H), redundant through BUILT_SOURCES.
75832         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
75833         redundant through BUILT_SOURCES.
75834         * modules/byteswap (Makefile.am): Remove explicit dependency on
75835         $(BYTESWAP_H), redundant through BUILT_SOURCES.
75836         * modules/fnmatch (Makefile.am): Remove explicit dependency on
75837         $(FNMATCH_H), redundant through BUILT_SOURCES.
75838         * modules/getopt (Makefile.am): Remove explicit dependency on
75839         $(GETOPT_H), redundant through BUILT_SOURCES.
75840         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
75841         redundant through BUILT_SOURCES.
75842         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
75843         redundant through BUILT_SOURCES.
75844         * modules/stdbool (Makefile.am): Remove explicit dependency on
75845         $(STDBOOL_H), redundant through BUILT_SOURCES.
75846         * modules/stdint (Makefile.am): Remove explicit dependency on
75847         $(STDINT_H), redundant through BUILT_SOURCES.
75848         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
75849         Remove explicit dependency on $(SYSEXITS_H).
75850         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
75851
75852 2005-07-18  Simon Josefsson  <jas@extundo.com>
75853
75854         * lib/check-version.c (check_version): Accept identical versions too.
75855
75856 2005-07-18  Bruno Haible  <bruno@clisp.org>
75857
75858         * modules/lock: New file.
75859         * MODULES.html.sh (Multithreading): New section.
75860
75861 2005-07-18  Bruno Haible  <bruno@clisp.org>
75862
75863         * m4/lock.m4: New file, from GNU gettext.
75864
75865 2005-07-18  Bruno Haible  <bruno@clisp.org>
75866
75867         * lib/lock.h: New file, from GNU gettext.
75868         * lib/lock.c: New file, from GNU gettext.
75869
75870 2005-07-18  Bruno Haible  <bruno@clisp.org>
75871
75872         * lib/lock.h (gl_once_t): New type.
75873         (gl_once_define, gl_once): New macros.
75874         * lib/lock.c (fresh_once): New variable.
75875         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
75876         functions.
75877
75878 2005-07-16  Simon Josefsson  <jas@extundo.com>
75879
75880         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
75881         workaround, suggested by Bruno.
75882
75883 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75884
75885         * modules/xalloc (Depends-on): Add xalloc-die.
75886         * modules/xvasprintf (Depends-on): Add xalloc-die.
75887
75888 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75889
75890         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
75891         with a minor change.
75892
75893 2005-07-15  Bruno Haible  <bruno@clisp.org>
75894
75895         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
75896         When using lib/poll.c, define poll as rpl_poll.
75897
75898 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
75899
75900         * modules/argp (Depends-on): Remove unlocked-io.
75901
75902 2005-07-14  Derek Price  <derek@ximbiot.com>
75903
75904         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
75905         for glob symlink bug.
75906
75907 2005-07-14  Bruno Haible  <bruno@clisp.org>
75908
75909         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
75910         Instead, test for *_unlocked function declarations directly.
75911
75912 2005-07-11  Simon Josefsson  <jas@extundo.com>
75913
75914         * modules/size_max: New file.
75915
75916         * modules/xsize: Depend on size_max module for size_max.m4.
75917
75918 2005-07-11  Simon Josefsson  <jas@extundo.com>
75919
75920         * lib/size_max.h: New file.
75921
75922 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
75923
75924         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
75925         copyright symbol and the year.
75926         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
75927         (version_etc_va): Use parameterized copyright notice.
75928         Reword to conform to the current GNU coding standards.
75929
75930 2005-07-11  Karl Berry  <karl@gnu.org>
75931
75932         * doc/gnulib.texi (Quoting): new node.
75933         (Initial import): more info, from Patrice.
75934
75935 2005-07-11  Bruno Haible  <bruno@clisp.org>
75936
75937         * gnulib-tool (func_usage): Document option --avoid.
75938         (Command line options): Handle --avoid.
75939         (func_acceptable): New function.
75940         (func_modules_transitive_closure): Use it.
75941
75942 2005-07-11  Bruno Haible  <bruno@clisp.org>
75943
75944         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
75945         Reported by Jim Meyering.
75946
75947 2005-07-10  Bruno Haible  <bruno@clisp.org>
75948
75949         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
75950         Needed when size_t is smaller than 'unsigned int'.
75951         Reported by Paul Eggert.
75952
75953 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75954
75955         * modules/argp (Depends-on): Add unlocked-io
75956
75957 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75958
75959         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
75960         block of defines.
75961
75962 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75963
75964         * config/srclist.txt: Comment out regcomp.c, since we have a porting
75965         fix now.
75966
75967 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
75968         and Paul Eggert  <eggert@cs.ucla.edu>
75969
75970         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
75971         in wint_t, not wchar_t.  Remove now-unnecessary cast.
75972
75973 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75974
75975         * modules/regex (Files): Add lib/regex_internal.c,
75976         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
75977         (Depends-on): Add extensions.
75978         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
75979
75980 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75981
75982         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
75983         pathconf.
75984         * m4/same.m4 (gl_SAME): Likewise.
75985         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
75986
75987         * m4/regex.m4: Adjust to new libc regex implementation.
75988         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
75989         all the .c and .h parts of (the new) regex.
75990         Quote the m4 stuff better.
75991         Check for RE_ICASE bug of old gnulib.
75992         Check for REG_STARTEND of recent libc.
75993         Rename local variables from jm_* to gl_*.
75994         Quote operand of "test -f".
75995         Say "recent enough" version of libc, not "version 2".
75996         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
75997         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
75998         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
75999         Remove check for btowc, isascii.
76000         Require AM_LANGINFO_CODESET.
76001
76002 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76003
76004         * lib/regex.c, regex.h: Sync from libc.
76005         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
76006         * lib/regexec.c:
76007         New files, synced from libc, except that regex_internal.h
76008         currently has a small porting fix.
76009
76010 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76011
76012         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
76013         regex_internal.c, regexec.c.
76014         Add regex_internal.h too, but as a comment, since the libc version
76015         is currently broken in gnulib mode.
76016
76017 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76018
76019         Support programs like Emacs that use gnulib but not gettext.
76020         * MODULES.html.sh (Internationalization functions): Add gettext-h.
76021         * modules/gettext-h: New file.
76022         * modules/gettext (Files): Remove lib/gettext.h.
76023         (Depends-on): Add gettext-h.
76024         (Makefile.am): Remove lib_SOURCES.
76025         * modules/argmatch, modules/c-stack, modules/closeout:
76026         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
76027         * modules/execute, modules/file-type, modules/getaddrinfo:
76028         * modules/getopt, modules/human, modules/javacomp:
76029         * modules/javaexec, modules/mkdir-p, modules/obstack:
76030         * modules/openat, modules/pagealign_alloc, modules/pipe:
76031         * modules/quotearg, modules/regex, modules/rpmatch:
76032         * modules/unicodeio, modules/userspec, modules/version-etc:
76033         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
76034         * modules/xsetenv:
76035         Depend on gettext-h, not gettext.
76036
76037 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76038
76039         * gnulib-tool (func_import): Add support for 'public domain' license.
76040         * modules/alloca, modules/atexit, modules/memmove:
76041         Now public domain, not GPL.
76042         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
76043         * modules/realloc, modules/strerror, modules/strtod:
76044         Now LGPL, not GPL.
76045
76046 2005-07-05  Bruno Haible  <bruno@clisp.org>
76047
76048         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
76049         autoconf CVS. Needed for mingw.
76050
76051 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76052
76053         Remove the dependency of the strftime module on the tzset module.
76054         * modules/strftime (Depends-on): Remove dependency on tzset.
76055
76056 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76057
76058         Remove the dependency of the strftime module on the tzset module.
76059         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
76060         gl_FUNC_TZSET_CLOBBER.
76061
76062 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76063
76064         Remove the dependency of the strftime module on the tzset module.
76065         * lib/strftime.c (my_strftime)
76066         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
76067         Copy the input structure, to work around some of the bug with
76068         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
76069         Solaris releases, you should also use the tzset module, but we won't
76070         require it as a dependency any more since we don't want LGPLed code
76071         to depend on GPLed code.
76072
76073 2005-07-02  Jim Meyering  <jim@meyering.net>
76074
76075         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
76076         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
76077         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
76078         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
76079
76080 2005-07-02  Jim Meyering  <jim@meyering.net>
76081
76082         * lib/backupfile.c (backup_args): Change a `0' to NULL.
76083
76084 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76085
76086         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
76087         declares only 'struct timespec;' (!).
76088
76089 2005-07-01  Jim Meyering  <jim@meyering.net>
76090
76091         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
76092         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
76093         * lib/save-cwd.c, tempname.c:
76094         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76095         and don't include <sys/file.h>).
76096
76097 2005-06-29  Jim Meyering  <jim@meyering.net>
76098
76099         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
76100         type name.  Use the variable name instead.
76101         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
76102         Likewise.
76103
76104 2005-06-28  Simon Josefsson  <jas@extundo.com>
76105
76106         * modules/check-version (Files): Add check-version.m4.
76107
76108 2005-06-28  Simon Josefsson  <jas@extundo.com>
76109
76110         * m4/check-version.m4: New file, suggested by Jim Meyering
76111         <jim@meyering.net>.
76112
76113 2005-06-28  Simon Josefsson  <jas@extundo.com>
76114
76115         * lib/check-version.h, lib/check-version.c: New files.
76116
76117 2005-06-28  Simon Josefsson  <jas@extundo.com>
76118
76119         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
76120         collision with global variable.  Better indentation.  Don't
76121         increment buffer pointer beyond buffer end.  Based on comments
76122         from Paul Eggert <eggert@cs.ucla.edu>.
76123
76124         * lib/base64.h: Indent.
76125
76126 2005-06-28  Simon Josefsson  <jas@extundo.com>
76127
76128         * doc/gnulib.texi (Library version handling): New section.
76129
76130 2005-06-28  Jim Meyering  <jim@meyering.net>
76131
76132         * check-module (find_included_lib_files): Hard-code another
76133         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
76134         but modules/fts-lgpl (correctly) does not list those files.
76135
76136         * modules/canonicalize (Files): Add lib/pathmax.h.
76137
76138 2005-06-25  Simon Josefsson  <jas@extundo.com>
76139
76140         * modules/check-version: New file.
76141
76142 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
76143
76144         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
76145         initializer of struct addrinfo, as an indication that we don't
76146         care how many members the structure has.
76147
76148 2005-06-24  Derek Price  <derek@ximbiot.com>
76149         and Bruno Haible  <bruno@clisp.org>
76150
76151         Remove stat module & update lstat.
76152         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
76153         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76154         * m4/stat.m4: Remove this file.
76155
76156 2005-06-24  Derek Price  <derek@ximbiot.com>
76157         and Bruno Haible  <bruno@clisp.org>
76158
76159         Remove stat module & update lstat.
76160         * lib/stat.c: Remove this file...
76161         (slash_aware_lstat): ...moving this content and its support...
76162         * lib/lstat.c (rpl_lstat): ...into here.
76163         * lib/lstat.h: New file.
76164
76165 2005-06-24  Derek Price  <derek@ximbiot.com>
76166         and Bruno Haible  <bruno@clisp.org>
76167
76168         Remove stat module & update lstat.
76169         * config/srclist.txt (libc sources): Remove stat.
76170
76171 2005-06-24  Derek Price  <derek@ximbiot.com>
76172         and Bruno Haible  <bruno@clisp.org>
76173
76174         Remove stat module & update lstat.
76175         * MODULES.html.sh (stat): Remove.
76176         * MODULES.html: Regenerated.
76177         * modules/lstat (Description): Correct function name.
76178         (Files): Add "lstat.h".
76179         (Depends-on): Remove stat, add xalloc, stat-macros.
76180         * modules/stat: Remove this file.
76181         (Include): Add "lstat.h", remove <sys/stat.h>.
76182
76183 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
76184
76185         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
76186         (ranged_convert): Don't save conversion in a temporary struct.
76187         This causes a warning with GCC 4.0.0, and anyway in the typical
76188         case it's not worth the extra 100 bytes or so of code.
76189         (ranged_convert, __mktime_internal): When calling a function via a
76190         pointer P, use P () rather than (*P) (), as we now assume C89 or
76191         better.
76192
76193 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76194
76195         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
76196         "who -r" failed to give output.  Problem reported by Tim Waugh.
76197
76198         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
76199         (xcalloc): Use it to avoid needless tests.
76200         Problem reported by Jim Meyering.
76201
76202 2005-06-20  Derek Price  <derek@ximbiot.com>
76203
76204         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
76205         unnecessary for Autoconfs > 2.59c.
76206
76207 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76208
76209         * lib/argp.h (__option_is_short): Check upper limit of
76210         __key. Isprint() requires its argument to have the value
76211         of an unsigned char or EOF.
76212
76213 2005-06-16  Jim Meyering  <jim@meyering.net>
76214
76215         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
76216         when either N or S is zero.
76217
76218 2005-06-16  Derek Price  <derek@ximbiot.com>
76219
76220         * m4/bison.m4: Declare YACC & YFLAGS precious.
76221
76222 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
76223
76224         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
76225         multibyte string or pattern, fall back on unibyte matching.
76226         Problem reported by James Youngman.
76227
76228 2005-06-08  Bruno Haible  <bruno@clisp.org>
76229
76230         * modules/csharpcomp: New file.
76231         * MODULES.html.sh (C#): Add csharpcomp.
76232
76233 2005-06-08  Bruno Haible  <bruno@clisp.org>
76234
76235         * m4/csharpcomp.m4: New file, from GNU gettext.
76236
76237 2005-06-08  Bruno Haible  <bruno@clisp.org>
76238
76239         * lib/csharpcomp.h: New file, from GNU gettext.
76240         * lib/csharpcomp.c: New file, from GNU gettext.
76241         * lib/csharpcomp.sh.in: New file, from GNU gettext.
76242
76243 2005-06-08  Bruno Haible  <bruno@clisp.org>
76244
76245         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
76246         warning on mingw.
76247
76248 2005-06-07  Derek Price  <derek@ximbiot.com>
76249
76250         Sync from CVS.
76251         * lib/glob_.h: Indent nested #ifdef.
76252
76253 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76254
76255         Sync from coreutils.
76256         Use "file name" when talking about file names, instead of "filename"
76257         or "path", as per the GNU coding standards.
76258         * lib/mkdir-p.c: Renamed from makepath.c.
76259         (make_dir_parents): Renamed from make_path.  All callers changed.
76260         * lib/mkdir-p.h: Likewise.  All includers changed.
76261         * lib/filenamecat.c: Renamed from path-concat.c.
76262         (file_name_concat): Renamed from path_concat.  All callers changed.
76263         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
76264         * lib/filenamecat.h: Likewise.  All includers changed.
76265         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
76266         in comments or local variable names.
76267         * lib/basename.c: Likewise.
76268         * lib/canonicalize.c, canonicalize.h: Likewise.
76269         * lib/dirname.c, dirname.h: Likewise.
76270         * lib/euidaccess.c: Likewise.
76271         * lib/exclude.c: Likewise
76272         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
76273         * lib/fsusage.c, fsuage.h: Likewise.
76274         * lib/fts.c, fts_.h: Likewise.
76275         * lib/getcwd.c: Likewise.
76276         * lib/getloadavg.c: Likewise.
76277         * lib/mkstemp.c: Likewise.
76278         * lib/mountlist.c, mountlist.h: Likewise.
76279         * lib/openat.c, openat.h: Likewise.
76280         * lib/readlink-stub.c: Likewise.
76281         * lib/readutmp.c, readutmp.h: Likewise.
76282         * lib/rename.c: Likewise.
76283         * lib/rmdir.c: Likewise.
76284         * lib/same.c: Likewise.
76285         * lib/savedir.c: Likewise.
76286         * lib/stripslash.c: Likewise.
76287         * lib/tempname.c: Likewise.
76288         * lib/xreadlink.c: Likewise.
76289         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
76290         All uses changed.
76291         * lib/exclude.h: Likewise.
76292
76293         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
76294         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76295         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
76296         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76297         * lib/pathmax.h: Include <limits.h> unconditionally, since other
76298         files have been getting away with it for years (MORE/BSD 4.3
76299         is extinct now).
76300         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
76301         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76302
76303         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
76304         Define to 256, not 255, as per modern POSIX.
76305
76306 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76307
76308         Sync from coreutils.
76309         Use "file name" when talking about file names, instead of "filename"
76310         or "path", as per the GNU coding standards.
76311         * MODULES.html.sh: mkdir-p renamed from makepath.
76312         filenamecat renamed from path-concat.
76313         * modules/filenamecat: Renamed from modules/path-concat.
76314         (Files): filenamecat.h and filenamecat.c renamed from
76315         path-concat.h and path-concat.c.
76316         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
76317         (Include): filenamecat.h, not path-concat.h.
76318         * modules/mkdir-p: Renamed from modules/makepath.
76319         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
76320         makepath.c.
76321         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
76322         (Include): mkdir-p.h, not makepath.h.
76323
76324 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76325
76326         Sync from coreutils.
76327         * m4/mkdir-p.m4: Renamed from makepath.m4.
76328         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
76329         Rename files from makepath.c to mkdir-p.c, and from
76330         makepath.h to mkdir-p.h.
76331         * m4/filenamecat.m4: Renamed from path-concat.m4.
76332         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
76333         Rename files from path-concat.c to filenamecat.c,
76334         and from path-concat.h to filenamecat.h.
76335         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
76336         "file name" in local variables or comments.
76337         * m4/rename.m4: Likewise.
76338
76339 2005-06-01  Bruno Haible  <bruno@clisp.org>
76340
76341         * modules/csharpexec: New file.
76342         * MODULES.html.sh (C#): New section.
76343
76344 2005-06-01  Bruno Haible  <bruno@clisp.org>
76345
76346         * m4/csharp.m4: New file, from GNU gettext.
76347         * m4/csharpexec.m4: New file, from GNU gettext.
76348
76349 2005-06-01  Bruno Haible  <bruno@clisp.org>
76350
76351         * lib/csharpexec.h: New file, from GNU gettext.
76352         * lib/csharpexec.c: New file, from GNU gettext.
76353         * lib/csharpexec.sh.in: New file, from GNU gettext.
76354
76355 2005-05-31  Derek Price  <derek@ximbiot.com>
76356             Paul Eggert  <eggert@cs.ucla.edu>
76357
76358         Sync from cvs.
76359         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76360
76361 2005-05-31  Derek Price  <derek@ximbiot.com>
76362             Paul Eggert  <eggert@cs.ucla.edu>
76363
76364         Sync from cvs.
76365         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76366
76367 2005-05-29  Derek Price  <derek@ximbiot.com>
76368
76369         * config/srclist.txt (glob_.h, glob.c): Add these files.
76370
76371 2005-05-29  Derek Price  <derek@ximbiot.com>
76372
76373         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
76374         * modules/glob: New file.
76375         * modules/getlogin_r: Add link to POSIX spec in description.
76376
76377 2005-05-29  Derek Price  <derek@ximbiot.com>
76378             Paul Eggert  <eggert@cs.ucla.edu>
76379
76380         * m4/glob.m4: New file.
76381
76382 2005-05-29  Derek Price  <derek@ximbiot.com>
76383             Paul Eggert  <eggert@cs.ucla.edu>
76384
76385         * lib/glob_.h, lib/glob.c: New files.
76386
76387 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76388
76389         * modules/fts (Files): Remove m4/inttypes-pri.m4.
76390         * modules/fts-lgpl (Depends-on): Remove gettext.
76391
76392 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76393
76394         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
76395         and don't require gt_INTTYPES_PRI.
76396
76397 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76398
76399         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
76400
76401         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
76402         the configuration hassle isn't worth it.
76403         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
76404         (LONGEST_MODIFIER, PRIuMAX): Remove.
76405
76406 2005-05-27  Bruno Haible  <bruno@clisp.org>
76407
76408         * lib/getlogin_r.h: Remove second include of <stddef.h>.
76409
76410 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
76411
76412         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
76413         _POSIX_PTHREAD_SEMANTICS for Solaris.
76414
76415 2005-05-25  Derek Price  <derek@ximbiot.com>
76416
76417         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
76418
76419 2005-05-25  Derek Price  <derek@ximbiot.com>
76420             Paul Eggert  <eggert@cs.ucla.edu>
76421
76422         * modules/getlogin_r, m4/getlogin_r.m4: New files.
76423         * lib/getlogin_r.c, getlogin_r.h: New files.
76424
76425 2005-05-25  Bruno Haible  <bruno@clisp.org>
76426             Derek Price  <derek@ximbiot.com>
76427
76428         * lib/getlogin_r.h: Simplify API documentation.
76429
76430 2005-05-23  Derek Price  <derek@ximbiot.com>
76431
76432         * modules/minmax (Files): Add m4/minmax.m4.
76433         (configure.ac): Add gl_MINMAX.
76434
76435 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76436
76437         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
76438         so that unistd-safer.h (GPL'ed code) need not be included.
76439
76440 2005-05-22  Bruno Haible  <bruno@clisp.org>
76441
76442         * m4/minmax.m4: New file.
76443         Based on a patch by Derek Price <derek@ximbiot.com>.
76444
76445 2005-05-22  Bruno Haible  <bruno@clisp.org>
76446
76447         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
76448         (INT64_MIN): Fix definition.
76449         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
76450
76451         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
76452         NEED_SIGNED_INT_TYPES.
76453
76454         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
76455         HAVE_SYSTEM_INTTYPES.
76456
76457 2005-05-22  Bruno Haible  <bruno@clisp.org>
76458
76459         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
76460         Also include <sys/param.h> if it defines MIN, MAX.
76461         Based on a patch by Derek Price <derek@ximbiot.com>.
76462
76463 2005-05-21  Jim Meyering  <jim@meyering.net>
76464
76465         * modules/fts (Files): Add m4/inttypes-pri.m4.
76466         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76467
76468 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76469
76470         New fts module.
76471         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76472         (setup_dir, free_dir): New functions.
76473         (enter_dir, leave_dir): Define trivial
76474         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76475         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76476         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76477         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76478         Move to fts-cycle.c.
76479         (fts_open): Use setup_dir.
76480         (fts_close): Use free_dir.
76481         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76482         This adds a label and some gotos, but the alternatives were messier.
76483         Check for memory allocation failure when entering a dir.
76484         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76485         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76486         (FTS): New member fts_cycle, that is a union that contains the
76487         old active_dir_ht and cycle_state.  All uses changed to mention
76488         fts_cycle.ht and fts_cycle.state.
76489         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76490         fts.c, with the following changes:
76491         (setup_dir, free_dir): New functions.
76492         (enter_dir): Now returns bool.  Return true if successful, false
76493         if memory exhausted.  All callers changed.
76494         Do not bother partly cleaning up on
76495         memory allocation failure; that is free_dir's job.
76496         However, free ad if hash_insert fails, to avoid memory leak.
76497         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76498         fts->fts_options to see which union member to use.
76499
76500 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76501
76502         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76503         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76504
76505 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76506
76507         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76508
76509 2005-05-20  Jim Meyering  <jim@meyering.net>
76510
76511         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76512         Now a macro, to pacify GCC.
76513
76514 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76515
76516         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76517         of -1.
76518
76519 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76520
76521         * lib/chown.c (rpl_chown): Return -1 on failure.
76522
76523 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76524
76525         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
76526         Don't check for stddef.h.
76527         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
76528         don't use its results.
76529         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
76530         since we include them unconditionally.  Don't require
76531         AM_STDBOOL_H, since stdbool is a prerequisite.
76532         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
76533         since we assume C89 or better.
76534         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
76535         as we don't use their results.
76536         Don't check for fchdir, memmove, memset, strrchr, as we use
76537         them unconditionally.
76538         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
76539         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
76540
76541 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76542
76543         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
76544         Include <stddef.h> unconditionally, since we assume C89 now.
76545         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
76546         * lib/fts.c: Include fts_.h first, to check interface.
76547         Do not include intprops.h; no longer needed.
76548         Include cycle-check.h and hash.h, since fts_.h no longer does.
76549         Remove unnecessary casts of closedir to void.
76550         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
76551         decide whether to decrement nlinks.
76552         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
76553         (FTS): Use struct hash_table * instead of Hash_table, so that
76554         we no longer need to include hash.h here.
76555
76556 2005-05-18  Jim Meyering  <jim@meyering.net>
76557
76558         * modules/dirfd (License): Change to LGPL.  Most of the code
76559         is already in the public domain.
76560
76561 2005-05-18  Jim Meyering  <jim@meyering.net>
76562
76563         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
76564         Reported by Yoann Vandoorselaere.
76565
76566 2005-05-17  Jim Meyering  <jim@meyering.net>
76567
76568         * m4/fts.m4: New file, from coreutils.
76569
76570 2005-05-17  Jim Meyering  <jim@meyering.net>
76571
76572         * lib/fts.c, lib/fts_.h: New files, from coreutils.
76573
76574 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76575
76576         Sync from coreutils.
76577         * m4/unlinkdir.m4: New file.
76578
76579 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76580
76581         Sync from coreutils.
76582         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
76583         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
76584         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
76585         White space changes only.
76586         * lib/makepath.c (make_path): Port to hosts where leading "//" is
76587         special.
76588         * lib/yesno.c: Include getline.h, not ctype.h.
76589         (yesno): Don't remove leading white space; POSIX doesn't allow it.
76590         Use getline to remove arbitrary restriction on response length.
76591
76592 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76593
76594         * config/srclist-update: Spell out "Street" in FSF postal
76595         mail address; this is the style the FSF seems to prefer.
76596
76597         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
76598         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
76599         this updates FSF postal mail address.
76600
76601         Sync from coreutils.
76602         * modules/unlinkdir: New file.
76603         * modules/yesno (Depends-on): Add getline.
76604         * MODULES.html.sh (File system functions): Add unlinkdir.
76605
76606 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76607
76608         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
76609         lib/strsep.h:
76610         Change the initial comment to refer to GPL, not LGPL.
76611         gnulib-tool will change it to LGPL as needed.
76612
76613         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
76614         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
76615         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
76616         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
76617         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
76618         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
76619         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
76620         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
76621         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
76622         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
76623         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
76624         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
76625         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
76626         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
76627         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
76628         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
76629         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
76630         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
76631         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
76632         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
76633         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
76634         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
76635         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
76636         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
76637         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
76638         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
76639         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
76640         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
76641         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
76642         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
76643         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
76644         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
76645         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
76646         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
76647         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
76648         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
76649         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
76650         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
76651         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
76652         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
76653         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
76654         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
76655         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
76656         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
76657         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
76658         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
76659         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
76660         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
76661         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
76662         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
76663         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76664         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
76665         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
76666         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
76667         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
76668         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
76669         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
76670         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
76671         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
76672         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
76673         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
76674         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
76675         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
76676         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
76677         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
76678         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
76679         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
76680         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
76681         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
76682         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
76683         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
76684         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
76685         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
76686         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
76687         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
76688         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
76689         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
76690         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
76691         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
76692         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
76693         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
76694         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
76695         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
76696         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
76697         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
76698         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
76699         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
76700         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
76701         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
76702         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
76703         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
76704         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
76705         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
76706         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
76707         lib/yesno.c, lib/yesno.h:
76708         Update FSF postal mail address.
76709
76710 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76711
76712         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
76713         tests/test-memmem.c, tests/test-stpncpy.c:
76714         Update FSF postal mail address.
76715
76716 2005-05-13  Bruno Haible  <bruno@clisp.org>
76717
76718         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
76719         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
76720         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
76721         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
76722         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
76723         Add support for 64-bit integers in the MSVC compiler.
76724
76725 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76726
76727         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
76728
76729 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
76730
76731         * gnulib-tool (func_import): Sort and uniquify recommended includes.
76732
76733 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
76734
76735         * doc/getdate.texi (General date syntax): Don't say that date
76736         date --iso-8601=ns generates acceptable dates; it doesn't yet.
76737         Problem reported by Nic Ferrier.
76738
76739 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76740
76741         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
76742         specified in ai_socktype. Fix invalid ai_protocol
76743         check. ai_protocol is usually set to 0 or depending on
76744         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
76745         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
76746         ai_socktype / ai_protocol in the returned addrinfo structure.
76747
76748 2005-05-10  Simon Josefsson  <jas@extundo.com>
76749
76750         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
76751         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76752
76753 2005-05-10  Karl Berry  <karl@gnu.org>
76754
76755         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
76756         (from http://www.gnu.org/licenses).
76757         * doc/COPYING.LIB: also rename to COPYING.LESSER.
76758         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
76759         fdl.texi suffices.
76760
76761 2005-05-10  Karl Berry  <karl@gnu.org>
76762
76763         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
76764         (COPYING.DOC): remove.
76765
76766         * config/srclist-update: new FSF address.
76767
76768 2005-05-10  Derek Price  <derek@ximbiot.com>
76769
76770         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
76771         possible.
76772
76773 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76774             Bruno Haible  <bruno@clisp.org>
76775
76776         * modules/inet_ntop: New file.
76777         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76778         inet_ntop.
76779
76780 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76781             Bruno Haible  <bruno@clisp.org>
76782
76783         * m4/inet_ntop.m4: New file.
76784
76785 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76786             Bruno Haible  <bruno@clisp.org>
76787
76788         * lib/inet_ntop.h: New file.
76789         * lib/inet_ntop.c: New file, from glibc with modifications.
76790
76791 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
76792
76793         * modules/time_r (License): Change to LGPL.
76794         * modules/extensions (License): Change to LGPL.  Actually,
76795         the license is more permissive than that, but currently gnulib-tool
76796         doesn't know how to handle more-permissive licenses.
76797
76798         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
76799         Problem reported by Dave Love.
76800
76801 2005-05-08  Jim Meyering  <jim@meyering.net>
76802
76803         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
76804         blank.
76805
76806 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76807
76808         * modules/argmatch (Depends-on): Add stdbool.
76809         * modules/backupfile (Depends-on): Likewise.
76810         * modules/chdir-long (Depends-on): Likewise.
76811         * modules/closeout (Depends-on): Likewise.
76812         * modules/cycle-check (Depends-on): Likewise.
76813         * modules/dirname (Depends-on): Likewise.
76814         * modules/fnmatch (Depends-on): Likewise.
76815         * modules/fsusage (Depends-on): Likewise.
76816         * modules/fwriteerror (Depends-on): Likewise.
76817         * modules/getcwd (Depends-on): Likewise.
76818         * modules/getloadavg (Depends-on): Likewise.
76819         * modules/hard-locale (Depends-on): Likewise.
76820         * modules/makepath (Depends-on): Likewise.
76821         * modules/mountlist (Depends-on): Likewise.
76822         * modules/nanosleep (Depends-on): Likewise.
76823         * modules/posixtm (Depends-on): Likewise.
76824         * modules/quotearg (Depends-on): Likewise.
76825         * modules/readtokens (Depends-on): Likewise.
76826         * modules/readtokens0 (Depends-on): Likewise.
76827         * modules/readutmp (Depends-on): Likewise.
76828         * modules/save-cwd (Depends-on): Likewise.
76829         * modules/strftime (Depends-on): Likewise.
76830         * modules/userspec (Depends-on): Likewise.
76831         * modules/utimecmp (Depends-on): Likewise.
76832         * modules/xgetcwd (Depends-on): Likewise.
76833         * modules/xnanosleep (Depends-on): Likewise.
76834         * modules/xstrtod (Depends-on): Likewise.
76835         * modules/yesno (Depends-on): Likewise.
76836
76837 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
76838
76839         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
76840         needless checks.
76841
76842 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76843
76844         Merge from coreutils.  Among other things,
76845         add bulletproofing for cases where stdin, stdout, or stderr are closed.
76846         * lib/fd-safer.c: New file.
76847         * lib/fcntl-safer.h, open-safer.c: Remove.
76848         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
76849         * lib/dup-safer.c: Include unistd-safer.h first.
76850         Don't include errno.h.
76851         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
76852         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
76853         * lib/file-type.c: Rely on file-type.h change.
76854         * lib/getloadavg.c: Include unistd-safer.h.
76855         (getloadavg): Use safer open.
76856         * lib/getusershell.c: Include "stdio-safer.h".
76857         (getusershell): Use safer fopen.
76858         * lib/long-options.c (long_options): Use NULL rather than 0.
76859         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
76860         'free'.
76861         * lib/modechange.c: Likewise.
76862         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
76863         (MODE_DONE): New constant.
76864         (struct mode_change): Remove 'next' member.
76865         (make_node_op_equals): New function; like the old one of the
76866         same name, except it allocates an array.
76867         (mode_compile, mode_create_from_ref): Use it.
76868         (mode_compile): Allocate result as an array, not a linked list.
76869         Parse octal string ourself, so that we catch mistakes like "+0".
76870         (mode_adjust): Arg is an array, not a linked list.
76871         * lib/modechange.c: Include stat-macros.h, xalloc.h.
76872         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
76873         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
76874         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
76875         Remove.  This is now stat-macros.h's job.
76876         (talloc): Remove.  All callers replaced by xalloc, so that
76877         our invokers don't have to worry about reporting memory failures.
76878         (make_node_op_equals): Remove.
76879         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76880         New constants.
76881         (struct mode_change): Moved here from modechange.h.
76882         (mode_append_entry): Remove.
76883         (mode_compile): Remove MASKED_OPS arg, since it encouraged
76884         apps to have incorrect behavior.  Use simpler algorithm for head
76885         and tail.  Don't futz with umask; that's now the job of mode_adjust.
76886         Detect more invalid usages rather than having somewhat-random behavior.
76887         Don't insert an "a=" action, as that leads to incorrect behavior.
76888         (mode_compile, mode_create_from_ref): Return NULL on error instead
76889         of an enum, since now there's only one way to have an error.  All
76890         callers changed.
76891         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
76892         at the correct time.  Simplify calculation of "+u" and its ilk.
76893         Don't mishandle "+X".
76894         (mode_free): Remove "register" and localize decls.
76895         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76896         (struct mode_change): Move to modechange.c; callers don't
76897         need to see this stuff.
76898         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
76899         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
76900         (mode_change, mode_adjust): Reflect the new signatures noted above.
76901         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
76902         that might redefine system include files.
76903         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
76904         (my_usleep): Use NULL rather than (void *) 0.
76905         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
76906         Use siginterrupt to specify that system calls should be interrupted.
76907         (rpl_nanosleep): Move initialization of suspended closer to call of
76908         my_usleep.
76909         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
76910         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
76911         (desirable_utmp_entry): New function.
76912         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
76913         using x2nrealloc, to simplify logic.
76914         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
76915         size calculation.  Do not assume utmp file is a regular file.
76916         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
76917         (READ_UTMP_CHECK_PIDS): New constant.
76918         * lib/save-cwd.c: Include unistd-safer.h.
76919         (save_cwd): Use fd_safer.
76920         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
76921         [!_LIBC] Include "stat-macros.h" instead.
76922         * lib/unistd-safer.h (fd_safer): New decl.
76923
76924 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76925
76926         * modules/getloadavg (Depends-on): Add unistd-safer.
76927         * modules/getusershell (Depends-on): Add stdio-safer.
76928         * modules/lstat (Depends-on): Remove xalloc.
76929         * modules/mkstemp (Depends-on): Add stat-macros.
76930         * modules/modechange (Depends-on): Remove xstrtol.
76931         Add stat-macros, xalloc.
76932         * modules/save-cwd (Depends-on): Add unistd-safer.
76933         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
76934         * modules/unistd-safer (Files): Add lib/fd-safer.c
76935         (Makefile.am): Remove lib_SOURCES.
76936
76937         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
76938         Remove fcntl-safer; unistd-safer supersedes it.
76939
76940 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76941
76942         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
76943         AC_HEADER_STAT.
76944         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
76945         (gl_PREREQ_CHOWN): Remove.
76946         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
76947         it.  Don't require AC_HEADER_STAT.
76948         (gl_PREREQ_LSTAT): Remove.
76949         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
76950         Don't require AC_HEADER_STAT.
76951         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
76952         (gl_PREREQ_RMDIR): Remove.
76953         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
76954         mention stat-macros.h or AC_HEADER_STAT, since we'll make
76955         the stat-macros module a prerequisite.
76956         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
76957         * m4/filemode.m4 (gl_FILEMODE): Likewise.
76958         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
76959         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
76960         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
76961         variable names.
76962         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
76963         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
76964         variable prefixes.
76965         * m4/fcntl-safer.m4: Remove.
76966         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
76967         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
76968         Invoke gl_PREREQ_FD_SAFER.
76969         (gl_PREREQ_FD_SAFER): New macro.
76970         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
76971         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
76972         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
76973         Remove duplicate call to AC_LIBOBJ(readutmp).
76974         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
76975
76976         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
76977         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
76978
76979 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76980
76981         * MODULES.html.sh (Misc): Add byteswap.
76982
76983 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76984
76985         * modules/getcwd (Depends-on): Add extensions.
76986         * modules/openat (Depends-on): Likewise.
76987
76988 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76989
76990         * modules/byteswap: New file.
76991
76992 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76993
76994         * m4/byteswap.m4: New file.
76995
76996 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76997
76998         * lib/byteswap_.h: New file.
76999
77000 2005-04-25  Karl Berry  <karl@gnu.org>
77001
77002         * m4/gettext.m4: Update from GNU gettext 0.14.4.
77003
77004 2005-04-25  Albert Chin  <china@thewrittenword.com>
77005
77006         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
77007         Toolkit C bug.
77008
77009 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
77010
77011         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
77012         (func_ln_if_changed): Remove forcibly for no error message
77013         in case file does not exist.
77014
77015 2005-04-19  Simon Josefsson  <jas@extundo.com>
77016
77017         * gnulib-tool (Options): Make --symlink mean --symbolic.
77018
77019 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
77020
77021         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
77022
77023 2005-04-16  Simon Josefsson  <jas@extundo.com>
77024
77025         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
77026
77027 2005-04-15  Simon Josefsson  <jas@extundo.com>
77028
77029         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
77030
77031 2005-04-15  Simon Josefsson  <jas@extundo.com>
77032
77033         * gnulib-tool: Rename --symlink to --symbolic.
77034
77035 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
77036
77037         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
77038         symbolic links to files instead of copying/moving.  Add --aux-dir,
77039         specifying directory relative --dir where auxiliary build tools
77040         are placed.
77041
77042 2005-04-14  Bruno Haible  <bruno@clisp.org>
77043
77044         * modules/allocsa (License): Change to LGPL.
77045         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
77046
77047 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77048
77049         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
77050         that "UTC +1 second" continues to work.  Problem reported
77051         by Dmitry V. Levin.
77052         (relunit_snumber): New rule.
77053         (relunit): Use it.
77054
77055 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77056
77057         * lib/getdate.y (universal_time_zone_table): New constant.
77058         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
77059         universal_time_zone_table.
77060         (lookup_zone): Prefer universal_time_zone_table to
77061         local_time_zone_table, so that "GMT" time stamps are allowed in
77062         London during the summer.  Problem reported by Ian Abbott.
77063
77064 2005-04-12  Jim Meyering  <jim@meyering.net>
77065
77066         * lib/human.c (humblock): Set *options even when returning due to
77067         xstrtoumax conversion failure.  Thanks to a used-uninitialized
77068         warning from gcc-4.
77069
77070 2005-04-09  Jim Meyering  <jim@meyering.net>
77071
77072         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
77073         -Wuninitialized: initialize tm0.tm_year.
77074
77075 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
77076
77077         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
77078         count, since there's no maximum.  All uses changed.
77079         Add member dsts_seen.
77080         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
77081         not being INT_MAX.
77082         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
77083         Use pc_rels_seen to decide whther a date is absolute.
77084
77085         * lib/getdate.y (number): Don't overwrite year.
77086         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
77087         check.
77088
77089 2005-04-02  Simon Josefsson  <jas@extundo.com>
77090
77091         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
77092         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
77093
77094 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
77095
77096         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
77097         where no absolute path name can be longer than PATH_MAX.
77098
77099 2005-03-27  Jim Meyering  <jim@meyering.net>
77100
77101         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
77102
77103 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
77104
77105         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
77106         "one's complement" -> "ones' complement" in comment, as per Knuth.
77107         "value of type" -> "type or expression" in comment.
77108         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
77109
77110 2005-03-26  Jim Meyering  <jim@meyering.net>
77111
77112         Comment nits.
77113         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
77114         Correct typos: s/or/of/.
77115
77116 2005-03-26  Jim Meyering  <jim@meyering.net>
77117
77118         * modules/check-include-files: Move to ../ and rename to...
77119         * check-module: ...this.
77120
77121 2005-03-25  Jim Meyering  <jim@meyering.net>
77122
77123         * modules/xvasprintf (Files): Add xalloc.h.
77124
77125 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
77126
77127         * modules/gettext (Files): config/config.rpath ->
77128         build-aux/config.rpath
77129         * modules/iconv (Files): Likewise.
77130         Problem reported by Oskar Liljeblad.
77131
77132 2005-03-23  Jim Meyering  <jim@meyering.net>
77133
77134         * modules/check-include-files: New script to check for
77135         missing dependencies, multiple includes, etc.
77136
77137         * modules/c-strtold (Depends-on): Add xalloc.
77138         * modules/c-strtod (Depends-on): Add xalloc.
77139         * modules/hash (Depends-on): Add xalloc.
77140         (Files): Remove lib/xalloc.h.
77141
77142         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
77143         * modules/userspec (Files): Add lib/inttostr.h.
77144
77145 2005-03-23  Jim Meyering  <jim@meyering.net>
77146
77147         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
77148
77149 2005-03-22  Jim Meyering  <jim@meyering.net>
77150
77151         * modules/stat-macros: New module.
77152         * modules/canonicalize, modules/euidaccess, modules/file-type,
77153         * modules/filemode, modules/lchown, modules/makepath,
77154         * modules/rmdir, modules/stat: Depend on new stat-macros module
77155         rather than listing lib/stat-macros.h manually.
77156         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
77157
77158 2005-03-22  Jim Meyering  <jim@meyering.net>
77159
77160         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
77161
77162 2005-03-22  Bruno Haible  <bruno@clisp.org>
77163
77164         * config/srclist.txt: Replace target directory 'config' with
77165         'build-aux'.
77166         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
77167         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
77168         ../build-aux/.
77169
77170 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
77171
77172         * modules/chdir-long (Depends-on): Add mempcpy.
77173
77174         * modules/acl, modules/backupfile, modules/c-strtod,
77175         modules/c-strtold, modules/canon-host, modules/canonicalize,
77176         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
77177         modules/exclude, modules/exitfail, modules/file-type,
77178         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
77179         modules/getdate, modules/getline, modules/getpagesize,
77180         modules/getpass, modules/getugroups, modules/group-member,
77181         modules/hard-locale, modules/hash, modules/human, modules/idcache,
77182         modules/inttostr, modules/long-options, modules/makepath,
77183         modules/md5, modules/memcasecmp, modules/memcoll,
77184         modules/modechange, modules/mountlist, modules/path-concat,
77185         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
77186         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
77187         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
77188         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
77189         modules/strftime, modules/strndup, modules/strverscmp,
77190         modules/timespec, modules/unlocked-io, modules/userspec,
77191         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
77192         modules/yesno:
77193         Remove lib_SOURCES line from Makefile.am section, as this is now
77194         done automatically by the corresponding Autoconf macro.
77195
77196 2005-03-21  Jim Meyering  <jim@meyering.net>
77197
77198         Changes imported from coreutils.
77199
77200         * lib/cycle-check.c: Don't include xalloc.h.
77201
77202         * lib/path-concat.c: Don't include assert.h.
77203         (path_concat): Remove assertion that would have triggered
77204         for ABASE starting with more than one slash.
77205         Reported by Andreas Schwab.
77206
77207         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
77208         properly when ABASE is an absolute file name.
77209         Correct the description of this function.
77210         Include <assert.h>.
77211         Add an assertion and a test driver.
77212         This fixes a bug introduced on 2004-07-02.
77213         Andreas Schwab reported the resulting failure of cp --parents:
77214         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
77215
77216 2005-03-21  Jim Meyering  <jim@meyering.net>
77217
77218         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
77219         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
77220
77221 2005-03-21  Jim Meyering  <jim@meyering.net>
77222         and  Paul Eggert  <eggert@cs.ucla.edu>
77223
77224         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
77225         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
77226         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
77227         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
77228         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
77229         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
77230         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
77231         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
77232         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
77233         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
77234         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
77235         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
77236         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
77237         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
77238         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
77239         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
77240         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
77241         for these modules.
77242
77243 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
77244
77245         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
77246         (which shouldn't happen), generate nothing instead of returning 0
77247         immediately, so that nstrftime (NULL, ...) doesn't return 0.
77248
77249 2005-03-16  Bruno Haible  <bruno@clisp.org>
77250
77251         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
77252         HAVE_LONGLONG_64BIT.
77253
77254 2005-03-16  Bruno Haible  <bruno@clisp.org>
77255
77256         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
77257         HAVE_LONGLONG_64BIT.
77258
77259 2005-03-16  Bruno Haible  <bruno@clisp.org>
77260
77261         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
77262         HAVE_LONGLONG_64BIT.
77263
77264 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77265
77266         * lib/strftime.c (my_strftime): Prepend space to format so that we can
77267         reliably distinguish strftime failure from empty output on POSIX
77268         hosts.
77269
77270 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77271
77272         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
77273         (iconv_string): Don't guess a size-zero buffer, as that might cause
77274         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
77275         result would be 'too large', where 'too large' is (heuristically)
77276         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
77277         overflow concerns.  This will prevent some unwanted malloc failures
77278         when the inputs are very large.
77279
77280 2005-03-15  Karl Berry  <karl@gnu.org>
77281
77282         * config/srclist.txt (config.rpath): from gettext.
77283         * config/config.rpath: update.
77284
77285 2005-03-15  Bruno Haible  <bruno@clisp.org>
77286
77287         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
77288         to 'negate'.
77289
77290         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
77291         variable.
77292
77293         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
77294         results.
77295
77296 2005-03-14  Simon Josefsson  <jas@extundo.com>
77297
77298         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
77299         <fx@gnu.org>.
77300
77301 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
77302
77303         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
77304         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
77305         intprops.h.
77306         * lib/strtol.c: Likewise.
77307
77308 2005-03-14  Jim Meyering  <jim@meyering.net>
77309
77310         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
77311         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
77312         to be nonzero so that we (and caller) can detect the difference
77313         between a valid zero-length expansion and an error return, even
77314         when the underlying strftime fails before writing anything into
77315         that location.
77316
77317 2005-03-14  Bruno Haible  <bruno@clisp.org>
77318
77319         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
77320         Update from GNU gettext 0.14.3.
77321
77322 2005-03-10  Jim Meyering  <jim@meyering.net>
77323
77324         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
77325
77326 2005-03-10  Jim Meyering  <jim@meyering.net>
77327
77328         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
77329         so that this module works on systems without fchdir.
77330
77331 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
77332
77333         Factor int-properties macros into a single file, except for
77334         glibc-related files.
77335         * lib/intprops.h: New file.
77336         * lib/getloadavg.c: Include it instead of limits.h.
77337         (INT_STRLEN_BOUND): Remove.
77338         * lib/human.c: Include intprops.h.
77339         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
77340         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
77341         302/1000.
77342         * lib/inttostr.h: Include intprops.h instead of limits.h.
77343         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
77344         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
77345         for consistency with intprops.h.
77346         (time_t_is_integer, twos_complement_arithmetic): Use them.
77347         * lib/sig2str.h: Include <signal.h>, intprops.h.
77348         (INT_STRLEN_BOUND): Remove.
77349         * lib/strftime.c (TYPE_SIGNED): Remove.
77350         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
77351         * lib/strtol.c: Adjust comments to match intprops.h.
77352         * lib/userspec.c: Include intprops.h.
77353         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
77354         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
77355         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
77356         instead of rolling our own expressions.
77357         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
77358
77359         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
77360         instead of int.
77361         (my_strftime): Do not mishandle years close to INT_MAX, by doing
77362         the right thing even if adding 1900 would overflow.  Similarly
77363         for tm_mon + 1 and tm_yday + 1.
77364         Make %Y always equivalent to %C%y, and similarly for %G and %g.
77365         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
77366         (DO_SIGNED_NUMBER): New macro.
77367         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
77368
77369 2005-03-07  Bruno Haible  <bruno@clisp.org>
77370
77371         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
77372
77373 2005-03-07  Bruno Haible  <bruno@clisp.org>
77374
77375         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
77376
77377 2005-03-04  Derek R. Price  <derek@ximbiot.com>
77378
77379         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
77380         (func_import): Only replace files via --import when they have actually
77381         changed.
77382
77383 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77384
77385         * m4/mmap-anon.m4: New file.
77386         * m4/pagealign_alloc.m4: New file.
77387
77388 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77389             Bruno Haible  <bruno@clisp.org>
77390
77391         * modules/pagealign_alloc: New file.
77392         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
77393
77394 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77395             Bruno Haible  <bruno@clisp.org>
77396
77397         * lib/pagealign_alloc.h: New file.
77398         * lib/pagealign_alloc.c: New file.
77399
77400 2005-03-03  Bruno Haible  <bruno@clisp.org>
77401
77402         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
77403         Use an all-permissive copyright notice, recommended by RMS.
77404
77405 2005-03-02  Bruno Haible  <bruno@clisp.org>
77406
77407         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
77408         of AIX, the replacement has to be done only after <string.h> is
77409         included, therefore not in config.h. stpncpy.h does the replacement,
77410         and stpncpy.c uses it.
77411
77412 2005-03-02  Bruno Haible  <bruno@clisp.org>
77413
77414         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
77415         stpncpy.c uses it.
77416
77417 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77418
77419         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
77420         The workaround isn't strictly needed for POSIX conformance, and
77421         it's too much of a pain to configure and maintain.  We'll ask
77422         people to fix their kernels instead.
77423         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
77424         (NANOSLEEP_BUG_WORKAROUND): Remove.
77425         (xnanosleep): Remove the workaround.
77426
77427 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77428
77429         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
77430         Reported by Derek Price.
77431         (Include): Add "timespec.h".
77432
77433         * modules/xnanosleep (Depends-on): Remove gethrxtime.
77434
77435 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77436
77437         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
77438         to detect nanosleep bug.
77439
77440 2005-03-01  Bruno Haible  <bruno@clisp.org>
77441
77442         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
77443
77444 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77445
77446         * modules/gethrxtime: New file.
77447         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
77448         (Depends-on): Add gethrxtime.
77449         (configure.ac): Add gl_XNANOSLEEP.
77450         (Makefile.am): Remove lib_SOURCES line.
77451
77452 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77453
77454         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
77455         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
77456
77457 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77458
77459         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
77460         * lib/timespec.h (gettime): Return void, since it always
77461         succeeds now.  All uses changed.
77462         * lib/gettime.c (gettime): Likewise.
77463         [HAVE_NANOTIME]: Prefer nanotime.
77464         Assume gettimeofday succeeds, as POSIX requires.
77465         Assime time () succeeds, since other code already does.
77466         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77467         (timespec_subtract): Remove.
77468         (NANOSLEEP_BUG_WORKAROUND): New constant.
77469         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77470         things considerably.  Use it only on GNU/Linux hosts, since the
77471         workaround shouldn't be needed elsewhere.
77472
77473 2005-02-24  Bruno Haible  <bruno@clisp.org>
77474
77475         * modules/gettext (Files): Add m4/glibc2.m4.
77476
77477 2005-02-24  Bruno Haible  <bruno@clisp.org>
77478
77479         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77480         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77481         * m4/progtest.m4:
77482         Update from GNU gettext 0.14.2.
77483         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77484
77485 2005-02-24  Bruno Haible  <bruno@clisp.org>
77486
77487         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77488         * lib/config.charset: Update from GNU gettext 0.14.2.
77489
77490 2005-02-24  Bruno Haible  <bruno@clisp.org>
77491
77492         * lib/gettext.h: Update from GNU gettext 0.14.2.
77493
77494 2005-02-23  Simon Josefsson  <jas@extundo.com>
77495
77496         * m4/iconvme.m4: New file.
77497
77498 2005-02-23  Jim Meyering  <jim@meyering.net>
77499
77500         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77501         change.
77502         Thanks to Bruno Haible for catching it.
77503
77504 2005-02-22  Simon Josefsson  <jas@extundo.com>
77505
77506         * modules/iconvme: New file.
77507
77508         * MODULES.html.sh: Add iconvme.
77509
77510 2005-02-22  Simon Josefsson  <jas@extundo.com>
77511
77512         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77513
77514 2005-02-22  Simon Josefsson  <jas@extundo.com>
77515
77516         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77517
77518 2005-02-22  Jim Meyering  <jim@meyering.net>
77519
77520         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77521         s/ifndef/ifdef/.
77522
77523 2005-02-20  Neil Conway  <neilc@samurai.com>
77524
77525         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
77526         returned by OSX/Darwin if the specified buffer is not large
77527         enough for the hostname.
77528
77529 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77530
77531         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
77532         pass it to _help, otherwise the latter coredumps trying to
77533         dereference state.root_argp.
77534
77535 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77536
77537         * modules/chdir-long (Depends-on): Add memrchr.
77538         * modules/memrchr (Files): Add lib/memrchr.h.
77539         (Include): "memrchr.h".
77540
77541 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77542
77543         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
77544
77545 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77546
77547         * lib/memrchr.h: New file.
77548         * lib/chdir-long.c: Include it.
77549         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
77550         Don't bother including stddef.h.
77551
77552 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
77553
77554         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
77555         inclusion.
77556         Include <sys/types.h>, for dev_t.
77557         (ME_DUMMY, ME_REMOTE): Move from here....
77558         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
77559         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
77560         Dmitry V. Levin.
77561         Include mountlist.h first, to test the interface.
77562
77563 2005-01-29  Bruno Haible  <bruno@clisp.org>
77564
77565         * lib/progname.c (program_name): Initialize.
77566         Needed when linking statically on MacOS X.
77567
77568 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77569
77570         Sync from coreutils.
77571         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
77572         (Depends-on): Add c-strtod.
77573         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
77574
77575 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77576
77577         Sync from coreutils.
77578         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
77579
77580         Remove files that are specific to coreutils.
77581         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
77582
77583 2005-01-28  Bruno Haible  <bruno@clisp.org>
77584
77585         * modules/javacomp: New file.
77586         * MODULES.html.sh (Java): Add javacomp.
77587
77588 2005-01-28  Bruno Haible  <bruno@clisp.org>
77589
77590         * m4/javacomp.m4: New file, from GNU gettext.
77591
77592 2005-01-28  Bruno Haible  <bruno@clisp.org>
77593
77594         * lib/javacomp.sh.in: New file, from GNU gettext.
77595         * lib/javacomp.h: New file, from GNU gettext.
77596         * lib/javacomp.c: New file, from GNU gettext.
77597
77598 2005-01-26  Simon Josefsson  <jas@extundo.com>
77599
77600         * lib/gai_strerror.c: Use GPL in header.
77601
77602 2005-01-26  Bruno Haible  <bruno@clisp.org>
77603
77604         * modules/javaexec: New file.
77605         * MODULES.html.sh (Java): Add javaexec.
77606
77607 2005-01-26  Bruno Haible  <bruno@clisp.org>
77608
77609         * m4/javaexec.m4: New file, from GNU gettext.
77610
77611 2005-01-26  Bruno Haible  <bruno@clisp.org>
77612
77613         * lib/javaexec.sh.in: New file, from GNU gettext.
77614         * lib/javaexec.h: New file, from GNU gettext.
77615         * lib/javaexec.c: New file, from GNU gettext.
77616
77617 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77618
77619         * modules/lchown (Depends-on): Remove lchown.h
77620
77621 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77622
77623         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
77624         must be defined if the header file was not found, in order
77625         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
77626
77627 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77628
77629         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
77630         initializers for struct pentry_state.
77631         (__argp_error): Check return value of __asprintf
77632         (__argp_failure): Translate error message
77633
77634         * lib/argp-parse.c: Removed braces around the expansion of N_()
77635
77636 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77637
77638         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
77639         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
77640         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
77641         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
77642         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
77643         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
77644         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
77645         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
77646         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
77647         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
77648         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
77649         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
77650         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
77651         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
77652         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
77653         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
77654         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
77655         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
77656         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
77657         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
77658         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
77659         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
77660         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
77661         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
77662         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
77663         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
77664         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
77665         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
77666         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
77667         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
77668         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
77669         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
77670         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
77671         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
77672         xstrtol.m4, xstrtoumax.m4, yesno.m4:
77673         Use an all-permissive copyright notice, recommended by RMS.
77674
77675 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
77676
77677         * modules/chdir-long (Depends-on): Remove mempcpy.
77678
77679 2005-01-21  Jim Meyering  <jim@meyering.net>
77680
77681         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
77682         same value as for Solaris 9.
77683
77684         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
77685         component length.  This included changing the parameter to be
77686         of type `char *' rather than `char const *'.
77687         * lib/chdir-long.h (chdir_long): Update prototype.
77688
77689         * lib/openat.c (fdopendir, fstatat): New functions.
77690         * lib/openat.h: Include headers required for use of DIR and struct
77691         stat.
77692         [AT_SYMLINK_NOFOLLOW]: Define.
77693         (fdopendir, fstatat): Add prototypes.
77694
77695 2005-01-21  Bruno Haible  <bruno@clisp.org>
77696
77697         * modules/classpath: New file.
77698         * MODULES.html.sh (Java): Add classpath.
77699
77700 2005-01-21  Bruno Haible  <bruno@clisp.org>
77701
77702         * lib/classpath.h: New file, from GNU gettext.
77703         * lib/classpath.c: New file, from GNU gettext.
77704
77705 2005-01-20  Simon Josefsson  <jas@extundo.com>
77706
77707         * modules/version-etc-fsf: New file.
77708
77709 2005-01-20  Simon Josefsson  <jas@extundo.com>
77710
77711         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
77712         * lib/version-etc.c: Remove version_etc_copyright.
77713         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
77714         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
77715
77716 2005-01-20  Simon Josefsson  <jas@extundo.com>
77717
77718         * lib/base64.h (isbase64): Add.
77719
77720         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
77721         using a unsigned prototype, don't inline.
77722         (base64_decode): Use it.
77723
77724 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77725
77726         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
77727         it.
77728
77729 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77730
77731         * lib/save-cwd.c (save_cwd): Remove code to support the case
77732         where fchdir is missing or flaky.
77733
77734 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77735
77736         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
77737
77738 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
77739
77740         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
77741         AC_LIBSOURCES now does this.
77742         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
77743         with new ullong_max module.
77744
77745 2005-01-19  Bruno Haible  <bruno@clisp.org>
77746
77747         * modules/sh-quote: New file.
77748         * MODULES.html.sh (Executing programs): Add sh-quote.
77749
77750 2005-01-19  Bruno Haible  <bruno@clisp.org>
77751
77752         * lib/sh-quote.h: New file, from GNU gettext.
77753         * lib/sh-quote.c: New file, from GNU gettext.
77754
77755 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77756
77757         Merge from coreutils.
77758         * m4/ullong_max.m4: New file.
77759         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
77760         (gl_MACROS): Assume localeconv exists.
77761
77762 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77763
77764         Merge changes from coreutils, as described below in several
77765         changelogs dated today.
77766
77767         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
77768         (O_DIRECTORY): Remove; not needed here, since "." must be
77769         a directory.  All uses removed.
77770         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
77771         universal on Suns, and we also need to test for IRIX.
77772         Revamp code to use 'if' rather than '#if'.
77773         Avoid unnecessary comparison of cwd->desc to 0.
77774
77775         * lib/utimens.c (futimens): Robustify the previous patch, by checking
77776         for known valid error numbers rather than observed invalid ones.
77777
77778 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77779
77780         * modules/ullong_max: New file.
77781
77782         * modules/chdir-long, modules/openat: New files.
77783         * modules/save-cwd (Depends-on): Depend on chdir-long.
77784         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
77785
77786 2005-01-18  Jim Meyering  <jim@meyering.net>
77787
77788         Merge from coreutils.
77789         * m4/chdir-long.m4, m4/openat.m4: New files.
77790         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
77791         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
77792         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
77793         is sane and DOES follow symlinks.  Besides, testing 20 different
77794         systems found no broken chown implementations.
77795         Prompted by a change in rsync's copy of this macro.
77796         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
77797
77798         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
77799
77800         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
77801         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
77802         NULL-means-set-to-current-time semantics.
77803         Remove temporary file immediately, rather than waiting
77804         for configure's at-exit trap code to do it.
77805
77806 2005-01-18  Jim Meyering  <jim@meyering.net>
77807
77808         * lib/version-etc.c (version_etc_copyright): Update copyright date.
77809
77810         * lib/utimens.c (futimens): Account for the fact that futimes
77811         can also fail with errno == ENOSYS or errno == ENOENT.
77812         Patch from Dmitry V. Levin.
77813
77814         Change the name of the robust chdir function from chdir to chdir_long.
77815         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
77816         (restore_cwd): Use chdir_long, not chdir.
77817         * lib/chdir-long.c: Renamed from chdir.c.
77818         * lib/chdir-long.h: Renamed from chdir.h.
77819         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
77820         Hurd.
77821
77822 2005-01-18  Bruno Haible  <bruno@clisp.org>
77823
77824         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
77825         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
77826         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
77827         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
77828         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
77829         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
77830         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
77831         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
77832         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
77833         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
77834         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
77835         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
77836         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
77837         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
77838         Use an all-permissive copyright notice, recommended by RMS.
77839
77840 2005-01-18  Bob Proulx  <bob@proulx.com>
77841
77842         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
77843         simplify offsetof() macro construct to avoid compile failure with
77844         native HP-UX 11.0 ANSI C compiler.
77845
77846 2005-01-17  Bruno Haible  <bruno@clisp.org>
77847
77848         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
77849         redundant because stpncpy.m4 takes care of it.
77850
77851 2005-01-17  Bruno Haible  <bruno@clisp.org>
77852
77853         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
77854
77855 2005-01-17  Bruno Haible  <bruno@clisp.org>
77856
77857         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
77858         used.
77859
77860 2005-01-17  Bruno Haible  <bruno@clisp.org>
77861
77862         * lib/fwriteerror.h (fwriteerror): Change specification to include
77863         fclose.
77864         * lib/fwriteerror.c: Include <stdbool.h>.
77865         (fwriteerror): At the end, close the file stream. Record whether
77866         stdout was already closed.
77867
77868 2005-01-17  Bruno Haible  <bruno@clisp.org>
77869
77870         * lib/execute.c (environ): Declare if needed.
77871         * lib/pipe.c (environ): Likewise.
77872         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
77873
77874 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77875
77876         * modules/argp: Depend on vsnprintf
77877
77878 2005-01-10  Jim Meyering  <jim@meyering.net>
77879
77880         * modules/closeout (Depends-on): Add atexit.
77881
77882 2005-01-06  Bruno Haible  <bruno@clisp.org>
77883
77884         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
77885
77886 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77887
77888         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
77889         definitions to be after all include files, to avoid collisions.
77890         Problem reported by Bob Proulx.
77891
77892 2005-01-04  Jim Meyering  <jim@meyering.net>
77893
77894         Changes imported from coreutils.
77895         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
77896         as the mkstemp template, use a temporary directory and an
77897         8.3-friendly template to avoid trouble on systems like DJGPP.
77898         Reported by Juan M. Guerrero via Stepan Kasal.
77899         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
77900         close. Remove the temporary directory right away, rather than waiting
77901         for configure's at-exit trap code to do it.
77902         Suggestion from Stepan Kasal.
77903
77904 2005-01-01  Simon Josefsson  <jas@extundo.com>
77905
77906         * gnulib-tool: Print #include directives when --import'ing.
77907
77908 2004-12-28  Simon Josefsson  <jas@extundo.com>
77909
77910         * tests/test-base64.c: Include required header files.  Remove
77911         unused variables.
77912
77913 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77914
77915         * modules/error (Depends-on): Remove gettext.
77916
77917 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77918
77919         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
77920         not needed.  This removes a dependency on the gettext module.
77921         [defined _LIBC]: Do not include <libintl.h>; not needed.
77922
77923 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77924
77925         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
77926         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
77927
77928 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77929
77930         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
77931         HAVE_DECL_STRTOLD.
77932
77933 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77934
77935         * modules/getdate (Depends-on): Remove alloca-opt.
77936
77937 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77938
77939         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
77940
77941 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77942
77943         * lib/argp-parse.c: Include <stddef.h>.
77944         (alignof, alignto): New macros.
77945         (parser_init): Don't assume that void * is aligned sufficiently
77946         for struct option.
77947
77948         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
77949         need to extend the stack.
77950         (YYINITDEPTH): New macro, so that the initial stack isn't overly
77951         large.
77952
77953 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77954
77955         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
77956
77957 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
77958
77959         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
77960         (2004-10-24) change.  Apparently this was a false alarm.
77961
77962         * modules/getdate: Depend on alloca-opt, not alloca.
77963
77964 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
77965
77966         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
77967         Remove now-obsolete comment about AIX.
77968         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
77969         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
77970         (YYMAXDEPTH): New macro.
77971
77972 2004-12-18  Simon Josefsson  <jas@extundo.com>
77973
77974         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
77975
77976 2004-12-18  Bruno Haible  <bruno@clisp.org>
77977
77978         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
77979
77980 2004-12-18  Bruno Haible  <bruno@clisp.org>
77981
77982         * lib/fatal-signal.c (fatal_signals): Make non-const.
77983         (init_fatal_signals): New function.
77984         (uninstall_handlers, install_handlers): Ignore signals that were set to
77985         SIG_IGN.
77986         (at_fatal_signal): Call init_fatal_signals.
77987         (init_fatal_signal_set): Likewise. Ignore signals that were set to
77988         SIG_IGN.
77989         Reported by Paul Eggert.
77990
77991 2004-12-18  Bruno Haible  <bruno@clisp.org>
77992
77993         * doc/alloca.texi: New file.
77994         * doc/alloca-opt.texi: New file.
77995
77996 2004-12-17  Jim Meyering  <jim@meyering.net>
77997
77998         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
77999         Otherwise, install-sh could exit with improper exit status when
78000         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
78001
78002 2004-12-16  Simon Josefsson  <jas@extundo.com>
78003
78004         * tests/test-base64.c: Add license.
78005
78006 2004-12-15  Stepan Kasal  <address@hidden>
78007
78008         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
78009
78010 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
78011
78012         * modules/getcwd (Files): Add m4/d-ino.m4.
78013         Suggested by Mark D. Baushke.
78014
78015 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78016
78017         * lib/getdate.y (textint): New member "negative".
78018         (time_zone_hhmm): New function.
78019         Expect 14 shift-reduce conflicts, not 13.
78020         (o_colon_minutes): New rule.
78021         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
78022         (yylex): Set the "negative" member of signed numbers.
78023
78024 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78025
78026         * doc/getdate.texi (Time of day items, Time zone items):
78027         Describe new formats +00:00, UTC+00:00.
78028
78029 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78030
78031         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
78032         spurious "-l"s.  Problem reported by Stepan Kasal.
78033
78034 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
78035
78036         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
78037         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
78038
78039 2004-12-04  Simon Josefsson  <jas@extundo.com>
78040
78041         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
78042         Vandoorselaere <yoann@prelude-ids.org>.
78043
78044 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78045
78046         Changes imported from coreutils.
78047         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
78048         exist.
78049         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
78050
78051 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78052
78053         Changes imported from coreutils.
78054         * lib/hard-locale.c: Assume <locale.h> exists.
78055         Include "strdup.h".
78056         (GLIBC_VERSION): New macro.
78057         (hard_locale): Assume setlocale exists.
78058         Rewrite to avoid #ifdef.
78059         Use strdup rather than malloc + strcpy.
78060         * lib/human.c: Assume <locale.h> exists.
78061         (human_readable): Assume localeconv exists.
78062
78063 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78064
78065         * modules/hard-locale (Depends-on): Add strdup.
78066
78067 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
78068
78069         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
78070         convert T2, not T.  (Imported from libc.)
78071
78072 2004-11-30  Simon Josefsson  <jas@extundo.com>
78073
78074         * modules/restrict (License): Change to LGPL.
78075
78076 2004-11-30  Simon Josefsson  <jas@extundo.com>
78077
78078         * m4/restrict.m4: Add copyright and copying conditions.
78079
78080 2004-11-30  Simon Josefsson  <jas@extundo.com>
78081
78082         * m4/base64.m4: New file.
78083
78084 2004-11-30  Simon Josefsson  <jas@extundo.com>
78085
78086         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
78087         base64.
78088
78089         * tests/test-base64.c: New file.
78090
78091         * modules/base64: New file.
78092
78093 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78094
78095         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
78096         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
78097
78098         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
78099
78100 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78101
78102         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
78103         (__getcwd.c): Don't restore errno; glibc doesn't.
78104         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
78105         first, falling back to our code only if its results look suspicious.
78106         Ensure that the resulting buffer is only as large as necessary.
78107
78108         * lib/readutmp.c: Include readutmp.h first.
78109         Include <errno.h>, since readutmp.h no longer does that.
78110         * lib/readutmp.h: Don't include <errno.h>,
78111         <sys/param.h>, <time.h>; not needed to establish interface.
78112         (errno): Remove decl.
78113         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
78114         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
78115         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
78116
78117 2004-11-28  Simon Josefsson  <jas@extundo.com>
78118
78119         * lib/base64.h, base64.c: New file.
78120
78121 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
78122
78123         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
78124
78125 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
78126
78127         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
78128         (Depends-on): Remove pathmax, same.  Add mempcpy.
78129         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
78130         (Makefile.am): Append getcwd.h to lib_SOURCES.
78131         (Include): Add getcwd.h.
78132         (Maintainer): Change from Jim Meyering to "all, glibc",
78133         since getdate now uses intended-for-glibc code.
78134         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
78135         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
78136
78137 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78138
78139         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
78140         HP's ANSI C compiler.
78141         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
78142         Declaring int functions causes warnings on some modern systems and
78143         shouldn't be needed to compile on ancient ones.
78144         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
78145         defined.
78146
78147         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
78148         with the following changes.
78149         (__set_errno): Parenthesize properly.
78150         Include <stdbool.h>.
78151         (MIN, MAX, MATCHING_INO): New macros.
78152         (__getcwd): Define with prototype, not K&R form.
78153         Use heuristics to allocate default buffer on stack if possible.
78154         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
78155         behavior, and to avoid the PATH_MAX limit when computing
78156         ../../../../...
78157         Use MATCHING_INO to compare inode number to file.
78158         Check for arithmetic overflow in size calculations.
78159         Fix bug in reallocation of dot array that caused getcwd to fail
78160         on directories nested deeper than 75.
78161         Be more careful about saving errno on error.
78162         Do not use realloc; use only free+malloc, as this is a bit
78163         more flexible and avoids a needless copy operation.
78164         Do not inspect st_dev and st_ino for symbolic links; POSIX
78165         doesn't specify the latter.
78166         Check for closedir errors.
78167         Avoid needless casts.
78168         Use "#ifdef weak_alias" around weak_alias, to be like other
78169         glibc code.
78170         The following changes to getcwd.c have effect only when used in
78171         gnulib; they have no effect inside glibc proper.
78172         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
78173         as alloca isn't used.
78174         (alloca, __alloca): Likewise.
78175         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
78176         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78177         unconditionally, as gnulib assumes C89 or better.
78178         Do not include <sys/param.h>.
78179         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
78180         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
78181         better.
78182         (NULL) [!defined NULL]: Remove; we assume C89 or better.
78183         Include <dirent.h> in a way that is compatible with modern Autoconf.
78184         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
78185         New macros, if not already defined.
78186         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
78187         Use "_LIBC", not "defined _LIBC", for consistency.
78188         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
78189         a mempcpy module.
78190         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
78191         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
78192         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
78193         credit only to Jim Meyering and adjust the copyright dates.
78194         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
78195         <stdlib.h>, <unistd.h>, "pathmax.h".
78196         Instead, include "xgetcwd.h" (first) and "getcwd.h".
78197         (INITIAL_BUFFER_SIZE): Remove.
78198         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
78199
78200 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78201
78202         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
78203         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
78204         Use the _ONCE methods, for efficiency.
78205         Check for fcntl.h.  In test program, include <errno.h>
78206         and <fcntl.h> if available.  Remove old K&R cruft from
78207         test program.  Check for common errors in GNU/Linux,
78208         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
78209         don't do AC_LIBOBJ, as that's getcwd.m4's job.
78210         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
78211         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
78212         name accordingly.
78213         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
78214         accommodate new getcwd.c.
78215         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
78216         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
78217         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
78218         that's all we need now.
78219
78220 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78221
78222         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
78223         argp-parse.c depends on getopt internals, that means we should
78224         always use our getopt, to be on the safe side.
78225         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
78226         order not to spoil the result of an eventual previous invocation
78227         of gl_GETOPT_SUBSTITUTE.
78228
78229 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78230
78231         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
78232         redefinition warnings. To avoid them, include the defines
78233         in `#if !defined __need_getopt ... #endif'. The only place
78234         where __getopt_argv_const is used is in definitions
78235         of getopt_long and getopt_long_only below, which are as well
78236         protected by `#ifndef __need_getopt'.
78237         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
78238         __need_getopt after including <stdio.h> and <unistd.h> These
78239         headers might have defined it.
78240
78241 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78242
78243         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
78244
78245 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78246
78247         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
78248         (futimens): New function, which uses futimes if available.
78249         (futimens, utimens): Support timespec==NULL, with same semantics
78250         as utime and utimens.
78251         * lib/utimens.h (futimens): New decl.
78252
78253 2004-11-23  Jim Meyering  <jim@meyering.net>
78254
78255         * lib/getopt_.h: Remove trailing blanks.
78256
78257 2004-11-23  Jim Meyering  <jim@meyering.net>
78258
78259         * lib/__fpending.c: Add comment.
78260
78261 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
78262
78263         * modules/canonicalize (Depends-on): Add xreadlink.
78264         Problem reported by James Youngman.
78265
78266 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
78267
78268         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
78269         New macros.
78270         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
78271         optopt): Use them instead of invoking ## directly; otherwise, the
78272         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
78273
78274 2004-11-19  Bruno Haible  <bruno@clisp.org>
78275
78276         * lib/strtok_r.c: Move comments from here...
78277         * lib/strtok_r.h: ... to here.
78278
78279 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78280
78281         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
78282         implementations that mishandle size_t overflow.
78283
78284 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78285
78286         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
78287         might fail.  Problem reported by Yoann Vandoorselaere.
78288         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
78289         implementations that mishandle size_t overflow.
78290
78291 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78292
78293         * modules/canon-host (Depends-on): Add strdup.
78294
78295 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78296
78297         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
78298
78299 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78300
78301         * lib/canon-host.c: Include "strdup.h".
78302         (canon_host): Use getaddrinfo if available, so that IPv6 works.
78303         Use strdup instead of malloc/strcpy to duplicate strings.
78304
78305         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
78306         (human_space_before_unit): New constant.
78307         * lib/human.c (human_readable): Support it.
78308
78309         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
78310         (xgetcwd): Set errno correctly when failing.
78311         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
78312         the failure is actually due to a PATH_MAX problem.
78313
78314         Further getopt changes to make it more likely that glibc will
78315         buy the changes back.
78316         * lib/getopt.c (POSIXLY_CORRECT): New constant.
78317         (getopt): Use it, so to preserve glibc semantic
78318         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
78319         when compiling for libc.
78320         * lib/getopt_.h (__getopt_argv_const): Bring it back.
78321         (getopt_long, getopt_long_only): Use it.
78322
78323         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78324         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
78325         (getopt): Argv is now char * const *, as per standard.
78326         (_getopt_internal_r, _getopt_internal): Argv is now char **,
78327         not char *__getopt_argv_const *.
78328         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78329         _getopt_long_only_r): Likewise.
78330         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
78331         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78332         _getopt_long_r, _getopt_long_only_r): Likewise.
78333         * lib/getopt_.h (__getopt_argv_const): Remove.
78334         (getopt): Argv is now char * const *, as per standard.
78335
78336         * lib/getdate.y (tORDINAL): New token.
78337         (day, relunit): Allow it for relative times.
78338         (relative_time_table): Use tORDINAL for ordinals.
78339
78340 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78341
78342         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
78343         Document that "second" isn't allowed as an ordinal number.
78344
78345 2004-11-16  Jim Meyering  <jim@meyering.net>
78346
78347         * modules/closeout (Depends-on): Add fpending.
78348
78349 2004-11-15  Jim Meyering  <jim@meyering.net>
78350
78351         * lib/closeout.c: Include "__fpending.h" once again.
78352         Include <stdbool.h>.
78353         (close_stdout): Don't fail just because stdout was closed initially,
78354         since some programs don't write to stdout in the normal course of
78355         operation (other than --version and --help), and we don't want this
78356         function to make e.g. `touch file >&-' fail.
78357         But do fail if it was closed and someone has tried to write to it.
78358         E.g., `printf foo >&-' must fail.
78359
78360 2004-11-13  Jim Meyering  <jim@meyering.net>
78361
78362         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
78363
78364 2004-11-12  Simon Josefsson  <jas@extundo.com>
78365
78366         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
78367         small doc fix is still pending.
78368
78369 2004-11-11  Simon Josefsson  <jas@extundo.com>
78370
78371         * modules/strtok_r: New file.
78372
78373         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78374         strtok_r.
78375
78376 2004-11-11  Simon Josefsson  <jas@extundo.com>
78377
78378         * m4/strtok_r.m4: New file.
78379
78380         * m4/getopt.m4: Replace opterr.
78381
78382 2004-11-11  Simon Josefsson  <jas@extundo.com>
78383
78384         * lib/strtok_r.h, strtok_r.c: New file.
78385
78386 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78387
78388         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
78389         of replacing opterr, getopt, etc.  This should handle the
78390         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
78391
78392 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78393
78394         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
78395         we can stop lying to compilers about the constness of argv when we
78396         are compiled outside glibc.
78397         (getopt, getopt_long, getopt_long_only): Use it.
78398         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78399         _getopt_internal, getopt): Likewise.
78400         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78401         _getopt_long_only_r): Likewise.
78402         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78403         _getopt_long_r, _getopt_long_only_r): Likewise.
78404
78405         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
78406         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
78407         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
78408         the other external symbols.
78409         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
78410         declaration, since the above renaming now works around collisions.
78411
78412 2004-11-11  Jim Meyering  <jim@meyering.net>
78413
78414         * lib/linebreak.c: Remove trailing blanks.
78415         * lib/alloca_.h: Likewise.
78416         * lib/acosl.c: Likewise.
78417         * lib/euidaccess.c: Likewise.
78418         * lib/allocsa.h: Likewise.
78419
78420 2004-11-10  Simon Josefsson  <jas@extundo.com>
78421
78422         * m4/getaddrinfo.m4: New file.
78423
78424 2004-11-10  Simon Josefsson  <jas@extundo.com>
78425
78426         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
78427
78428 2004-11-10  Simon Josefsson  <jas@extundo.com>
78429
78430         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78431         getaddrinfo.
78432
78433         * modules/getaddrinfo: New file.
78434
78435 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78436
78437         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
78438
78439 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78440
78441         * lib/mktime.c (SHR): New macro, which is a portable
78442         substitute for >> that should work even on Crays.
78443         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
78444         Problem reported by Mark D. Baushke in
78445         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
78446         * lib/getdate.y (SHR): Likewise.
78447         (tm_diff): Use it.
78448         * lib/strftime.c (SHR): Likewise.
78449         (tm_diff): Use it.
78450         * lib/quotearg.c (struct quoting_options): Use unsigned int for
78451         quote_these_too, so that right shifts are well defined.  All uses
78452         changed.
78453
78454 2004-11-10  Jim Meyering  <jim@meyering.net>
78455
78456         Ensure that no close failure goes unreported.
78457         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
78458         return early when it seems there's nothing to flush.
78459         Don't include __fpending.h.
78460
78461 2004-11-10  Jim Meyering  <jim@meyering.net>
78462
78463         * modules/closeout (Depends-on): Remove fpending.
78464
78465 2004-11-10  Jim Meyering  <jim@meyering.net>
78466
78467         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78468
78469 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78470
78471         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78472         gl_FUNC_STRFTIME.
78473         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78474         and AC_REQUIRE when possible, to avoid duplicate checks.
78475         Check for <wchar.h>.
78476
78477 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78478
78479         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78480
78481 2004-11-09  Bruno Haible  <bruno@clisp.org>
78482
78483         * m4/sockpfaf.m4: New file.
78484
78485 2004-11-05  Bruno Haible  <bruno@clisp.org>
78486
78487         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78488         Reported by Mark D. Baushke <mdb@cvshome.org>.
78489
78490 2004-11-04  Bruno Haible  <bruno@clisp.org>
78491
78492         2004-09-11  Bruno Haible  <bruno@clisp.org>
78493                 * allocsa.valgrind: New file.
78494         2004-02-06  Bruno Haible  <bruno@clisp.org>
78495                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78496                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78497                 Reported by Christopher Seip <chris.seip@hp.com>.
78498
78499 2004-11-04  Bruno Haible  <bruno@clisp.org>
78500
78501         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78502         (Makefile.am): Distribute it.
78503
78504 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78505
78506         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78507         with errno == ERANGE if the buffer is too small.
78508         Problem reported by Mark D. Baushke.
78509
78510 2004-11-03  Albert Chin  <china@thewrittenword.com>
78511             Paul Eggert  <eggert@cs.ucla.edu>
78512
78513         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78514         equivalent, substitute $ac_type for equivalent type rather than
78515         blindly using uint32_t *always* which won't work if uint32_t is not
78516         available.  Define _UINT32_T to work around typedef of uint32_t if
78517         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78518         2.5.1.
78519
78520 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78521
78522         * m4/jm-macros.m4: Sync from coreutils.
78523         (gl_MACROS): Check for mbrlen, for pathchk.
78524         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
78525
78526 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78527
78528         * lib/xreadlink.c (MAXSIZE): New macro.
78529         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
78530         size does not exceed MAXSIZE.  Avoid cast.
78531         As suggested by Mark D. Baushke in
78532         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
78533         if readlink fails with buffer size just under MAXSIZE, try again
78534         with MAXSIZE.
78535
78536 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78537
78538         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
78539
78540 2004-11-02  Derek R. Price  <derek@ximbiot.com>
78541         and  Paul Eggert  <eggert@cs.ucla.edu>
78542
78543         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
78544         (get_date): Overparenthesize to avoid GCC warning.
78545
78546 2004-11-02  Bruno Haible  <bruno@clisp.org>
78547
78548         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
78549         returns void.
78550
78551 2004-11-02  Bruno Haible  <bruno@clisp.org>
78552
78553         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
78554         function returns void.
78555
78556 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78557
78558         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
78559         fflush_unlocked, flockfile, funlockfile, funlockfile,
78560         fputs_unlocked, putc_unlocked.
78561
78562 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78563
78564         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78565         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
78566         already declared.
78567
78568 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78569
78570         * modules/getdate (Files): Add doc/getdate.texi.
78571         (Depends-on): Add setenv, xalloc.
78572
78573 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78574
78575         * lib/getdate.y: Add support for TZ="foo" within a date string.
78576         Fix some bugs near time_t boundaries.  Reject dates with
78577         out-of-range components, e.g., "Sept 31".
78578         Include <stdlib.h>, "setenv.h", "xalloc.h".
78579         (ISDIGIT_LOCALE): Remove; unused.
78580         Note that the TZ and time functions used here are not reentrant.
78581         (mktime_ok, get_tz): New functions.
78582         (TZBUFSIZE): New constant.
78583         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
78584         This requires that we sometimes generate our own TZ="XXX..." setting.
78585
78586 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78587
78588         * doc/getdate.texi: New file, from coreutils with modifications for
78589         the new TZ parsing.
78590
78591 2004-10-27  Derek R. Price  <derek@ximbiot.com>
78592
78593         * lib/mktime.c (not_equal_tm): Remove redundant check.
78594
78595 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78596
78597         * modules/regex (lib_SOURCES): Add regex.c.
78598         Reported by James Youngman in
78599         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
78600
78601 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78602
78603         * lib/getdate.y: Use Bison 1.875 features, and some minor
78604         code cleanups.  This change does not affect semantics.
78605         Don't include <stdlib.h>; no longer needed.
78606         Don't include unlocked-io.h; only the "#if TEST" code uses
78607         stdio, and performance isn't crucial there.
78608         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
78609         Bison 1.875 features as described below.
78610         All uses of "PC." replaced by "pc->".
78611         (YYSTYPE): Add a forward declaration.
78612         (yylex, yyerror): Use full prototypes in forward decls.
78613         Use "%pure-parser" rather than obsolescent "%pure_parser".
78614         Use %parse-param and %lex-param instead of obsolescent
78615         YYPARSE_PARAM and YYLEX_PARAM.
78616         (meridian_table, month_and_day_table, time_units_table,
78617         relative_time_table, time_zone_table, military_table,
78618         lookup_zone, lookup_word, get_date):
78619         Use NULL instead of 0 where appropriate.
78620         (to_hour): Avoid abort (), to avoid a dependency on
78621         stdlib.h.
78622         (yyerror, yylex): Now accepts parser_control * arg.
78623         (main) [TEST]: Use '\0' rather than 0 for char.
78624
78625 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78626
78627         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
78628
78629 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78630
78631         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
78632         It's now the caller's responsibility to handle the case where
78633         !HAVE_GETPAGESIZE && !defined getpagesize.
78634
78635         * lib/mktime.c (leapyear): Arg is long int, not int.
78636
78637 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
78638
78639         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
78640
78641 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78642
78643         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
78644         missing.  Problem reported by James Youngman.
78645
78646 2004-10-16  Simon Josefsson  <jas@extundo.com>
78647
78648         * gnulib-tool: Fix comments.  Fix parse problem.
78649         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
78650
78651 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
78652
78653         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
78654         implementation of getopt_long.  Problem reported by Alexander Taler in:
78655         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
78656
78657 2004-10-15  Bruno Haible  <bruno@clisp.org>
78658
78659         * gnulib-tool: Untabify. Initialize supplied_libname.
78660         (func_usage): More homogenous output.
78661         (func_modules_transitive_closure, func_modules_to_filelist,
78662         func_emit_lib_Makefile_am): New functions.
78663         (func_import): New function, extracted from big case statement. Use
78664         func_get_license, func_modules_transitive_closure,
78665         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
78666         opt_lgpl. Don't use test -a, as it's not portable.
78667         (func_create_testdir): Use func_modules_transitive_closure,
78668         func_modules_to_filelist, func_emit_lib_Makefile_am.
78669
78670 2004-10-15  Bruno Haible  <bruno@clisp.org>
78671
78672         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
78673
78674 2004-10-15  Bruno Haible  <bruno@clisp.org>
78675
78676         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
78677         the portions belonging to each module.
78678         Suggested by Derek Robert Price <derek@ximbiot.com>.
78679
78680 2004-10-12  Simon Josefsson  <jas@extundo.com>
78681
78682         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78683         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
78684         to real functions.
78685
78686 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78687
78688         * modules/vsnprintf: New file.
78689
78690 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78691
78692         * m4/vsnprintf.m4: New file.
78693
78694 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78695
78696         * lib/vsnprintf.h: New file.
78697         * lib/vsnprintf.c: New file.
78698
78699 2004-10-11  Bruno Haible  <bruno@clisp.org>
78700
78701         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
78702         vsnprintf.
78703
78704 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78705
78706         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
78707
78708 2004-10-07  Bruno Haible  <bruno@clisp.org>
78709
78710         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
78711         fits into the provided buffer.
78712
78713 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78714
78715         * lib/diacrit.c, diacrit.h: Add GPL notice.
78716
78717         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
78718         notice.
78719         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
78720         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
78721         This avoids a potential constant-folding bug.
78722
78723 2004-10-05  Bruno Haible  <bruno@clisp.org>
78724
78725         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
78726         for the declaration of strsep.
78727
78728 2004-10-05  Bruno Haible  <bruno@clisp.org>
78729
78730         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
78731
78732 2004-10-04  Simon Josefsson  <jas@extundo.com>
78733
78734         * modules/memmem: New file.
78735         * tests/test-memmem.c: New file.
78736         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
78737
78738 2004-10-04  Simon Josefsson  <jas@extundo.com>
78739
78740         * m4/memmem.m4: New file.
78741
78742 2004-10-04  Simon Josefsson  <jas@extundo.com>
78743
78744         * lib/memmem.h: New file.
78745         * lib/memmem.c: New file, taken from glibc.
78746
78747 2004-10-04  Simon Josefsson  <jas@extundo.com>
78748
78749         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
78750         '#ifdef USE_UNLOCKED_IO'.
78751
78752 2004-10-04  Simon Josefsson  <jas@extundo.com>
78753
78754         * config/srclist.txt: Add memmem from glibc.
78755
78756 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78757
78758         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
78759
78760         * modules/argmatch, modules/argp, modules/closeout, modules/error,
78761         modules/exclude, modules/getdate, modules/getline,
78762         modules/getndelim2, modules/getpass, modules/getpass-gnu,
78763         modules/getusershell, modules/linebuffer, modules/md5,
78764         modules/mountlist, modules/posixtm, modules/readtokens,
78765         modules/readutmp, modules/regex, modules/sha1,
78766         modules/version-etc, modules/yesno:
78767         Remove dependency on unlocked-io.
78768
78769 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78770
78771         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
78772
78773         * m4/unlocked-io.m4: Add copyright notice.
78774         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
78775
78776 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78777
78778         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
78779         * lib/xmalloc.c (xmemdup): Likewise.
78780         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
78781         XFREE): Remove these long-obsolescent macros.
78782         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
78783         * lib/xstrdup.c: Remove.
78784
78785         * lib/regex.c (re_comp): Cast gettext return value to char *,
78786         Problem reported by Martin Neitzel via Mark D. Baushke.
78787
78788 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78789
78790         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
78791         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
78792         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
78793         regex.c, sha1.c, version-etc.c, yesno.c:
78794         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
78795         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
78796         the includer's responsibility.
78797
78798         Sync from coreutils.
78799
78800         * lib/modechange.c (mode_compile): Don't decrement a pointer that
78801         points to the start of a string, as the C Standard says the
78802         resulting behavior is undefined.
78803
78804         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
78805         simple -> simple_backups, numbered_existing ->
78806         numbered_existing_backups, numbered -> numbered_backups
78807         to avoid shadowing problems.  All uses changed.
78808         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
78809         * lib/backupfile.c (check_extension, numbered_backup):
78810         Rename locals to avoid shadowing 'basename'.
78811         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
78812         once.
78813
78814         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
78815         * lib/.cvsignore: Add getopt.h.
78816
78817 2004-10-04  Bruno Haible  <bruno@clisp.org>
78818
78819         * modules/README: New file.
78820         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
78821         not a module.
78822
78823 2004-10-02  Jim Meyering  <jim@meyering.net>
78824
78825         * lib/dirfd.h, getpagesize.h: Add copyright notice.
78826
78827 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78828
78829         * modules/strsep: New file.
78830
78831 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78832
78833         * m4/strsep.m4: New file.
78834
78835 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78836
78837         * lib/strsep.h: New file.
78838         * lib/strsep.c: New file.
78839
78840 2004-10-01  Simon Josefsson  <jas@extundo.com>
78841
78842         * lib/snprintf.c (snprintf): Handle size==0.
78843
78844 2004-10-01  Simon Josefsson  <jas@extundo.com>
78845             Bruno Haible  <bruno@clisp.org>
78846
78847         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
78848         (snprintf): Declare 'args'.
78849
78850 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
78851
78852         * lib/snprintf.c: Remove comments as to why each header is needed.
78853
78854 2004-10-01  Bruno Haible  <bruno@clisp.org>
78855
78856         * MODULES.html.sh: Add strsep.
78857
78858 2004-09-30  Simon Josefsson  <jas@extundo.com>
78859
78860         * modules/snprintf: New file.
78861
78862 2004-09-30  Simon Josefsson  <jas@extundo.com>
78863
78864         * m4/snprintf.m4: New file.
78865
78866 2004-09-30  Simon Josefsson  <jas@extundo.com>
78867
78868         * lib/snprintf.h, lib/snprintf.c: New files.
78869
78870 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78871
78872         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
78873         (hol_entry_help): Never translate an empty string.
78874         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
78875         * lib/argp.h (OPTION_NO_TRANS): New option.
78876
78877 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78878
78879         * modules/argp (Maintainer): Replace Simon Josefsson
78880         by Sergey Poznyakoff.
78881
78882 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78883
78884         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
78885         changes merged back into glibc.
78886
78887 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78888
78889         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
78890
78891 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78892
78893         * lib/xvasprintf.c: Include xalloc.h.
78894         (xvasprintf): Use xalloc_die, not xmalloc_die.
78895
78896 2004-09-29  Bruno Haible  <bruno@clisp.org>
78897
78898         * modules/alloca-opt: New file, derived from modules/alloca.
78899         * modules/allocsa: Depend on alloca-opt instead of alloca.
78900         * modules/setenv: Likewise.
78901         * modules/vasnprintf: Likewise.
78902         * MODULES.html.sh: Add alloca-opt.
78903
78904 2004-09-28  Simon Josefsson  <jas@extundo.com>
78905
78906         * gnulib-tool: New parameter --lgpl, to asseert that modules are
78907         LGPL, and to replace license template from GPL to LGPL.
78908
78909 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78910
78911         * modules/dummy: Change license to LGPL.
78912
78913 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78914
78915         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
78916
78917 2004-09-24  Simon Josefsson  <jas@extundo.com>
78918
78919         * modules/minmax (License): Change from GPL to LGPL.
78920
78921 2004-09-23  Simon Josefsson  <jas@extundo.com>
78922
78923         * gnulib-tool (--import): Typo.
78924
78925 2004-09-23  Simon Josefsson  <jas@extundo.com>
78926
78927         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
78928
78929 2004-09-22  Bruno Haible  <bruno@clisp.org>
78930
78931         * modules/*: Add 'License' field.
78932         * gnulib-tool: Accept --extract-license option.
78933         (func_get_license): New function.
78934
78935 2004-09-21  Bruno Haible  <bruno@clisp.org>
78936
78937         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
78938         Reported by Simon Josefsson.
78939
78940 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78941
78942         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
78943         gl_AC_TYPE_LONG_LONG.
78944
78945 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78946
78947         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
78948
78949 2004-09-18  Simon Josefsson  <jas@extundo.com>
78950         and  Paul Eggert  <eggert@cs.ucla.edu>
78951
78952         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
78953         calls with autoreconf.  Define GL_LIB.
78954
78955 2004-09-14  Karl Berry  <karl@gnu.org>
78956
78957         * config/srclist.txt: unsync setenv.c, sigh.
78958
78959 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78960
78961         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
78962         Problem reported by Bruno Haible in:
78963         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
78964
78965 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78966
78967         * config/srclist.txt: Comment out argp-pvh.c.
78968
78969 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
78970
78971         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
78972         in case some system header has #define'd it.  Problem reported by
78973         Soeren D. Schulze in
78974         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
78975
78976 2004-09-09  Karl Berry  <karl@gnu.org>
78977
78978         * regex.[ch]: delete from the root.  These were supposed to be
78979                 synced with emacs cvs, but this has not happened for about
78980                 a year, and anyway nothing else uses emacs regex.[ch].
78981                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
78982                 lib/regex[.ch] is untouched.
78983
78984 2004-09-09  Bruno Haible  <bruno@clisp.org>
78985
78986         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
78987
78988 2004-09-09  Bruno Haible  <bruno@clisp.org>
78989
78990         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
78991         modifications.
78992         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
78993
78994 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
78995
78996         * modules/xvasprintf: New file.
78997         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
78998
78999 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79000
79001         * lib/xvasprintf.h: New file.
79002         * lib/xvasprintf.c: New file.
79003         * lib/xasprintf.c: New file.
79004
79005 2004-09-08  Bruno Haible  <bruno@clisp.org>
79006
79007         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
79008
79009 2004-09-08  Bruno Haible  <bruno@clisp.org>
79010
79011         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
79012         length is > INT_MAX.
79013         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
79014         more.
79015
79016 2004-09-08  Bruno Haible  <bruno@clisp.org>
79017
79018         * lib/stdint_.h: New file, taken from GNU clisp.
79019
79020 2004-09-08  Bruno Haible  <bruno@clisp.org>
79021             Oskar Liljeblad  <oskar@osk.mine.nu>
79022
79023         * modules/stdint: New file.
79024         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
79025
79026 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79027
79028         Import from coreutils.
79029         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
79030         strings on unbounded length.  alloca's performance benefits aren't
79031         that important here.
79032         (V_STRDUP): Remove.
79033         (parse_with_separator): New function, with most of the internals
79034         of the old parse_user_spec.  Allow user to omit both user and group,
79035         for compatibility with FreeBSD.
79036         Clone only the user name, not the entire spec.
79037         Do not set *uid, *gid unless entirely successful.
79038         Avoid memory leak in some failing cases.
79039         Fix regression for USER.GROUP reported by Dmitry V. Levin in
79040         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
79041         (parse_user_spec): Rewrite to use parse_with_separator.
79042
79043 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79044
79045         * modules/userspec: Don't depend on alloca.
79046
79047 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79048
79049         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
79050
79051 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79052
79053         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
79054         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
79055         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
79056
79057 2004-08-16  Simon Josefsson  <jas@extundo.com>
79058
79059         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
79060         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
79061         Add --dry-run for --import.
79062         Let user provided command line parameters override configure.ac
79063         settings.
79064
79065 2004-08-12  Simon Josefsson  <jas@extundo.com>
79066
79067         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
79068         as discussed with Paul Eggert in threads rooted at
79069         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
79070         and
79071         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
79072         Before, the test was empty, and relied on ELIDE_CODE in source
79073         code.)
79074         (gl_PREREQ_GETOPT): New macro.
79075         (gl_GETOPT): Use them.
79076
79077 2004-08-12  Simon Josefsson  <jas@extundo.com>
79078
79079         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
79080         * lib/getopt_.h: Renamed from getopt.h.
79081
79082 2004-08-12  Simon Josefsson  <jas@extundo.com>
79083
79084         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
79085         Change default library name from libfoo to libgnu.
79086         Now, if you have a configure.ac that says:
79087                 gl_SOURCE_BASE(gl)
79088                 gl_M4_BASE(gl/m4)
79089                 gl_MODULES(error getopt etcetera)
79090                 gl_INIT
79091         you can import all you need by running:
79092                 ../gnulib/gnulib-tool --import
79093
79094         * modules/getopt (Files): Rename getopt.h to getopt_.h.
79095         (Makefile.am): Rewrite, use logic from argz.
79096         (Include): Use <getopt.h> instead of "getopt.h".
79097
79098 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79099
79100         * modules/argp (Files): Add m4/unlocked-io.m4.
79101         (Depends-on): Add extensions.
79102
79103 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79104
79105         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
79106         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
79107         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
79108         Check for program_invocation_name, program_invocation_short_name,
79109         flockfile, funlockfile, features.h, _getopt_long_only_r.
79110
79111 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79112
79113         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
79114         its complicated substitute.
79115         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
79116         and program_invocation_name.
79117         (__argp_basename) [!_LIBC]: Remove; the only use was
79118         replaced by its body.
79119         (__argp_short_program_name): Change condition from
79120         !defined __argp_short_program_name to
79121         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
79122         to match argp-namefrob.h.
79123         (__argp_failure): Don't assume strerror_r returns char *.
79124         * lib/argp-parse.c (N_): Define unconditionally.
79125         (argp_default_options): Fill out initializers with 0 to avoid
79126         gcc warnings.
79127
79128 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79129
79130         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
79131         getopt1.c.
79132
79133 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79134
79135         Merge from coreutils.
79136
79137         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
79138
79139         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
79140         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
79141
79142 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79143
79144         Merge from coreutils.
79145
79146         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
79147         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
79148         for Reliant Unix 5.43.
79149
79150         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
79151         (union fooround): Use uintmax_t, not long int.
79152         The rest is a merge from libc:
79153         [defined _LIBC]: Include <shlib-compat.h>.
79154         (_obstack) [defined _LIBC]: Remove after 2.3.4.
79155
79156         * lib/settime.c (settime): Recode to avoid warning with
79157         Sun Forte C 6U2.
79158
79159         * lib/strverscmp.c: Convert to UTF-8.
79160
79161 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79162
79163         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79164         m4/uintmax_t.m4.
79165
79166 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79167
79168         * modules/xalloc-die: New file.
79169         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
79170
79171         * modules/md5 (Files): Add m4/uint32_t.m4.
79172         * modules/sha1: Renamed from modules/sha.
79173         (Files):
79174         Rename lib/sha.h to lib/sha1.h.
79175         Rename lib/sha.c to lib/sha1.c.
79176         Rename m4/sha.m4 to m4/sha1.m4.
79177         (lib_SOURCES): Likewise.
79178         (configure.ac): Rename gl_SHA to gl_SHA1.
79179         (Include): sha.h -> sha1.h.
79180
79181 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79182
79183         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
79184         * m4/sha1.m4: Renamed from sha.m4.
79185         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
79186
79187 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79188
79189         * lib/obstack.h (obstack_empty_p):
79190         Don't assume that chunk->contents is suitably aligned.
79191         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
79192         Likewise. Problem reported by Benno in
79193         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
79194
79195         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
79196         readable.  This could be improved further but it'd take some work.
79197
79198 2004-08-08  Simon Josefsson  <jas@extundo.com>
79199
79200         * modules/xgethostname (Depends-on): Remove exit and error (not
79201         used).
79202
79203         * modules/getpass-gnu: Add getpass.h.
79204         (Depends-on): Add stdbool.
79205         * modules/getpass: Add getpass.h.
79206
79207 2004-08-08  Simon Josefsson  <jas@extundo.com>
79208
79209         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
79210         Check getpass declaration.
79211
79212 2004-08-08  Simon Josefsson  <jas@extundo.com>
79213
79214         * lib/xgethostname.c: Don't include error.h (not used).
79215
79216         * lib/getpass.h: Add.
79217         * lib/getpass.c: Include getpass.h first.
79218
79219 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
79220
79221         * lib/xalloc-die.c: New file.
79222         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
79223         All uses removed.
79224         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
79225         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
79226         xalloc-die.c.
79227         (_, N_, xalloc_die): Move to xalloc-die.c.
79228         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
79229         so that we needn't mess with xalloc_msg_memory_exhausted.
79230
79231         * lib/sha1.h: Renamed from sha.h.
79232         (SHA1_H): Renamed from _SHA_H.
79233         (sha1_ctx): Renamed from sha_ctx.
79234         (sha1_init_ctx): Renamed from sha_init_ctx.
79235         (sha1_process_block): Renamed from sha_process_block.
79236         (sha1_process_bytes): Renamed from sha_process_bytes.
79237         (sha1_finish_ctx): Renamed from sha_finish_ctx.
79238         (sha1_read_ctx): Renamed from sha_read_ctx.
79239         (sha1_stream): Renamed from sha_stream.
79240         (sha1_buffer): Renamed from sha_buffer.
79241         * lib/sha1.c: Likewise; renamed from sha.c.
79242         Do not include <sys/types.h>.
79243         Include <stddef.h> rather than <stdlib.h>.
79244
79245 2004-08-08  Bruno Haible  <bruno@clisp.org>
79246
79247         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
79248         FILESYSTEM_PREFIX_LEN.
79249         * lib/progreloc.c: Likewise.
79250         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
79251
79252 2004-08-06  Simon Josefsson  <jas@extundo.com>
79253
79254         * modules/progname (Depends-on): Don't depend on stdbool.
79255
79256 2004-08-06  Simon Josefsson  <jas@extundo.com>
79257
79258         * modules/getsubopt: New file.
79259         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79260         getsubopt.
79261
79262 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79263
79264         More merge from coreutils.
79265
79266         * m4/utimens.m4, m4/utimecmp.m4: New files.
79267         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
79268         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
79269         prereq.m4, sha.m4: Import changes from coreutils.
79270
79271 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79272
79273         More merge from coreutils.
79274         * modules/raise, modules/readtokens0, modules/utimens:
79275         * modules/utimecmp, module/xnanosleep: New files.
79276         * modules/strftime: Add lib/strftime.h.
79277         Change include from <time.h> to "strftime.h".
79278         * modules/yesno: Add lib/yesno.h.
79279         * modules/backupfile: Remove lib/addext.c.
79280         * modules/euidaccess: Add stat-macros.h.
79281         * modules/canonicalize, modules/euidaccess,
79282         modules/filemode, modules/lchown, modules/makepath,
79283         modules/rmdir, modules/stat: Likewise.
79284
79285 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79286
79287         Merge from tar.
79288         * lib/argp-help.c (make_hol, hol_append): Don't assume that
79289         SIZE_MAX is a valid preprocessor constant.
79290         (__argp_basename): Change from "#ifndef _LIBC"
79291         to "#ifndef __argp_short_program_name", so that
79292         we don't compile these functions for tar.
79293
79294         More merges from coreutils.
79295         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
79296         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
79297         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
79298         * lib/addext.c: Remove; no longer needed.
79299         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
79300         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
79301         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
79302         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
79303         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
79304         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
79305         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
79306         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
79307         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
79308         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79309         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
79310         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
79311         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
79312         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
79313         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
79314         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
79315         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
79316         Import changes from coreutils.
79317
79318 2004-08-05  Simon Josefsson  <jas@extundo.com>
79319
79320         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
79321
79322 2004-08-05  Simon Josefsson  <jas@extundo.com>
79323
79324         * m4/getsubopt.m4: New file.
79325
79326 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79327
79328         Merge from coreutils.
79329
79330         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
79331         * m4/getcwd-path-max.m4: New files.
79332
79333         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
79334         FILESYSTEM_PREFIX_LEN ->
79335         FILE_SYSTEM_PREFIX_LEN.
79336         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
79337         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
79338         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
79339         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
79340
79341         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
79342         prerequisite modules now handle the DOS stuff.
79343         Don't check for unistd.h.
79344
79345 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79346
79347         Merge from coreutils.
79348
79349         * lib/.gdb-history: Remove; this doesn't belong here.
79350
79351         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
79352         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
79353         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
79354         * lib/getcwd.c: New files.
79355
79356         * lib/dirname.h: Include <stdbool.h>.
79357         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
79358         for consistency with POSIX terminology.  All uses changed.
79359         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
79360         (strip_trailing_slashes): Use bool for booleans.
79361         * lib/stripslash.c (strip_trailing_slashes): Likewise.
79362
79363         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
79364         sometimes returns a positive errno value even when it succeeds.
79365         (print_errno_message) [!LIBC]: Fall back on strerror if
79366         __strerror_r fails.
79367
79368         * lib/path-concat.c (mempcpy): Don't define if a system header defines
79369         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
79370         (longest_relative_suffix): New function.
79371         (path_concat): Use it.  Assume first argument is not NULL.
79372         Port to DOS.  Omit redundant separators.
79373         Report an error instead of returning NULL.
79374         Use mempcpy instead of memcpy.
79375         (xpath_concat): Remove: not declared or used.
79376
79377         * lib/same.h: Include <stdbool.h>
79378         (same_name): Return bool, not int.
79379         * lib/same.c (same_name): Likewise.
79380         (errno): Don't declare; we assume C89 or better now.
79381
79382         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
79383         if not already defined.
79384
79385         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
79386         * lib/dup-safer.c (errno): Likewise.
79387
79388 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79389
79390         Merge from coreutils.
79391         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
79392         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
79393         * modules/path-concat: Don't depend on strdup.
79394
79395 2004-08-03  Simon Josefsson  <jas@extundo.com>
79396
79397         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
79398         * lib/progname.h: Don't include stdbool.h.
79399
79400 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79401
79402         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
79403         * MODULES.html.sh (func_all_modules): Remove fatal.
79404
79405 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79406
79407         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
79408
79409 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79410
79411         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
79412         working.
79413
79414 2004-08-02  Simon Josefsson  <jas@extundo.com>
79415
79416         * lib/getsubopt.h: New file, with comments from Bruno Haible.
79417         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
79418         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
79419
79420 2004-08-01  Simon Josefsson  <jas@extundo.com>
79421
79422         * lib/xgetdomainname.c: Include stdlib.h, for free().
79423
79424 2004-07-19  Bruno Haible  <bruno@clisp.org>
79425
79426         * MODULES.html.sh (func_all_modules): Add dummy.
79427
79428 2004-07-16  Simon Josefsson  <jas@extundo.com>
79429
79430         * modules/dummy: New file.
79431
79432 2004-07-16  Simon Josefsson  <jas@extundo.com>
79433
79434         * lib/dummy.c: New file.
79435
79436 2004-07-16  Bruno Haible  <bruno@clisp.org>
79437
79438         * lib/backupfile.h: Add extern "C" for C++.
79439         * lib/closeout.h: Likewise.
79440         * lib/copy-file.h: Likewise.
79441         * lib/findprog.h: Likewise.
79442         * lib/full-write.h: Likewise.
79443         * lib/pathname.h: Likewise.
79444         * lib/progname.h: Likewise.
79445         * lib/stpcpy.h: Likewise.
79446         * lib/stpncpy.h: Likewise.
79447         * lib/strcase.h: Likewise.
79448         * lib/strstr.h: Likewise.
79449         * lib/xalloc.h: Likewise.
79450
79451         * lib/mbswidth.h: Add extern "C" for C++.
79452         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
79453
79454 2004-07-13  Robert Millan  <robertmh@gnu.org>
79455
79456         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
79457
79458 2004-07-09  Simon Josefsson  <jas@extundo.com>
79459
79460         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
79461         failed without this.)
79462
79463 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79464
79465         * modules/chown (Files): Add lib/fchown-stub.c, since
79466         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79467
79468 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79469
79470         * lib/fchown-stub.c: New file.
79471
79472 2004-06-24  Jim Meyering  <jim@meyering.net>
79473
79474         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79475
79476 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79477
79478         * modules/argz: Omit "#include".
79479
79480         * MODULES.html.sh (func_all_modules): Add calloc, to match
79481         2004-06-01 addition of calloc module.
79482
79483 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79484
79485         * m4/argz.m4: New file, which is autoupdated from libtool.
79486
79487 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79488
79489         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79490         libtool.
79491
79492 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79493
79494         * config/srclist-update: Don't insist on "USA." before the
79495         close-comment, as libtool omits the period and puts the */ on a
79496         separate line.
79497         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79498         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79499
79500 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79501
79502         * modules/argz: New file.
79503         * MODULES.html.sh (func_all_modules): Add argz.
79504
79505 2004-06-12  Jim Meyering  <jim@meyering.net>
79506         and  Paul Eggert  <eggert@cs.ucla.edu>
79507
79508         * modules/hash (Files): Add lib/xalloc.h.
79509         * modules/pipe (Depends-on): Add wait-process.
79510         * modules/stat (Depends-on): Add xalloc.
79511         * modules/userspec (Files): Add lib/userspec.h.
79512         * modules/xstrto
79513
79514         Upgrade from gettext-0.13.
79515         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79516         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79517         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79518
79519 2004-06-10  Jim Meyering  <jim@meyering.net>
79520
79521         * lib/calloc.c: New file.
79522
79523 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79524
79525         * lib/getdate.y (yylex): Allow space between sign and number.
79526         Problem reported by Dan Jacobson.
79527
79528 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79529
79530         Merge from coreutils CVS.
79531
79532         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
79533         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
79534         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
79535         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
79536         xstrtol.m4: Fix copyright date and/or serial number.
79537
79538         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
79539         See if we need an fchown replacement.
79540         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
79541         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
79542         and use the replacement function if we detect either defect.
79543
79544         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
79545         gl_UTIMECMP.
79546
79547 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79548         and  Jim Meyering  <jim@meyering.net>
79549
79550         Merge from coreutils CVS.
79551
79552         * lib/stat-macros.h: New file, with contents from file-type.h
79553         and coreutils' system.h.
79554         * lib/file-type.c: Include "stat-macros.h".
79555         * lib/file-type.h (file_type): Move all macro definitions to new file,
79556         stat-macros.h.
79557
79558         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
79559         Wrap old code with this conditional.
79560         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
79561         function that does not dereference symlinks.
79562         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
79563
79564         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
79565         dependency problems.
79566         (xreadlink): Accept new arg SIZE, for efficiency.
79567         All decls and uses changed.
79568         * lib/xreadlink.h: Include <stddef.h>, for size_t.
79569
79570         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
79571         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
79572
79573         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
79574         sysexits.h.
79575
79576 2004-06-01  Jim Meyering  <jim@meyering.net>
79577
79578         * m4/calloc.m4: New file.
79579
79580 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
79581
79582         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
79583         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
79584         Also, fix a typo in a diagnostic.
79585
79586 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79587
79588         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
79589         or AC_FUNC_REALLOC.
79590
79591 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79592
79593         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
79594         macros to be defined.
79595         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
79596         the allocator returns NULL because the requested size is zero.
79597
79598 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79599
79600         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
79601         var.  Add comment explaining why libc still defines it.  This
79602         merges the following patch from glibc:
79603         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
79604
79605 2004-05-20  Andreas Schwab  <schwab@suse.de>
79606
79607         * m4/free.m4: Replace free if it not known to work, not the other
79608         way round.
79609
79610 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79611
79612         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
79613         present in glibc since revision 1.1 of this file.
79614         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
79615         obstack_alignment_mask, obstack_alloc, obstack_base,
79616         obstack_blank, obstack_blank_fast, obstack_chunk_size,
79617         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
79618         obstack_grow0, obstack_init, obstack_int_grow,
79619         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
79620         obstack_next_free, obstack_object_size, obstack_ptr_grow,
79621         obstack_ptr_grow_fast, obstack_room): Remove declarations of
79622         nonexistent functions.
79623
79624 2004-05-18  Karl Berry  <karl@gnu.org>
79625
79626         * config/srclist.txt: break link for vasnprintf.c.
79627
79628 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79629
79630         Port obstack to the AS/400, where pointers are 16 bytes wide and
79631         you cannot cast an integer to a valid pointer.  This patch is
79632         currently waiting to be integrated into glibc; see
79633         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
79634
79635         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
79636         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
79637         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
79638         (struct obstack): temp member is now a union of a pointer and
79639         an integer, instead of an integer.  All integer uses changed.
79640         This does not affect the physical layout of struct obstack,
79641         except on hosts (like the AS/400) where the size or alignment of
79642         void * is greater than that of ptrdiff_t.
79643         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
79644         __STDC__)]: Store temporary in pointer member of union, not
79645         integer member.
79646         * lib/obstack.c: Include <stddef.h>, for offsetof.
79647         (struct fooalign): Remove; it doesn't need a name.
79648         (union fooround): Change double to long double, and add void *.
79649         (DEFAULT_ALIGNMENT): Use offsetof to compute.
79650         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
79651         not a macro.  Hence the values are always int; so remove all
79652         casts-to-int in uses.
79653
79654 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79655
79656         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
79657         we can get this patch merged into glibc.
79658
79659 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79660             Paul Eggert  <eggert@cs.ucla.edu>
79661
79662         * m4/argp: Depend on alloca.
79663
79664 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79665             Paul Eggert  <eggert@cs.ucla.edu>
79666
79667         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
79668         freecoding.
79669
79670 2004-05-17  Bruno Haible  <bruno@clisp.org>
79671
79672         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
79673         precision that consists of a '.' followed by an empty digit string.
79674         Patch by Tor Lillqvist <tml@iki.fi>.
79675
79676 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79677
79678         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
79679         for backward compatibility with older code.  We need our own
79680         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
79681         it under some other name, and our alloca.h will define it.
79682
79683 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79684             Derek Price  <derek@ximbiot.com>
79685
79686         * lib/alloca.c: Include <alloca.h>, to get our interface.
79687         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
79688         include <alloca.h> first.  Use C89 prototype for alloca; this
79689         requires including <stddef.h> for size_t.  Use extern "C" if C++.
79690         Use #elif for simplicity, since we can assume C89 now.
79691         Don't try to source the system alloca.h since it will not be found
79692         and to prevent recursively including its replacement.
79693         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
79694         * lib/regex.c: Likewise.
79695
79696 2004-05-16  Derek Price  <derek@ximbiot.com>
79697             Paul Eggert  <eggert@cs.ucla.edu>
79698
79699         getline cleanup.  This changes the getndelim2 API: both order of
79700         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
79701         no delimiter).
79702
79703         * lib/getline.c: Don't include stddef.h or stdio.h, since our
79704         interface does that.
79705         (getline): Always use getdelim, so that we don't have two
79706         copies of this code.
79707         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
79708         if available.
79709         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
79710         (GETNDELIM2_MAXIMUM): New macro.
79711         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
79712         instead of the old practice of delim2==0.  All callers changed.
79713         Return -1 on overflow, instead of returning junk.
79714         Do not set *linesize unless allocation succeeds.
79715         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
79716         that we include sys/types.h.
79717         * lib/getnline.h: Likewise.
79718         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
79719         (getndelim2): Reorder arguments.
79720         * lib/getnline.c (getnline, getndelim):
79721         Don't discard the NMAX argument.
79722         (getnline): Invoke getndelim, to avoid code duplication.
79723         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
79724         of (size_t) -1 by callers of the getnline family.
79725
79726 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79727
79728         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
79729         Check for gettimeofday.
79730         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
79731         Check for settimeofday, stime.
79732
79733 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79734
79735         * lib/nanosleep.c (suspended): Change its type from int to
79736         sig_atomic_t volatile.
79737         (first_call): Make it private to rpl_nanosleep, and have it
79738         be zero initially as that's a bit faster.
79739         (my_usleep): Round up fractional times instead of truncating them,
79740         as this is the usual meaning for 'sleep'.
79741
79742         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
79743         doesn't work.
79744         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
79745         (ENOSYS): Define if not defined.
79746         (settime): Fall back on stime if it exists and settimeofday fails.
79747         But don't bother with fallbacks if a method fails with errno == EPERM.
79748
79749 2004-05-11  Jim Meyering  <jim@meyering.net>
79750
79751         Prior to this change, the save_cwd caller required read access to the
79752         current directory on most systems (ones with the fchdir function).
79753
79754         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
79755         fails, try write-only, and finally, resort to using xgetcwd.
79756
79757 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79758
79759         * lib/obstack.c, obstack.h: Import changes from libc.
79760
79761 2004-04-28  Bruno Haible  <bruno@clisp.org>
79762
79763         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
79764         also implicitly appends .exe to executables.
79765         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
79766         accepts Windows pathnames.
79767         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79768         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79769         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79770         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79771         Reported by Derek Robert Price <derek@ximbiot.com>.
79772
79773 2004-04-21  Karl Berry  <karl@gnu.org>
79774
79775         * config/srclist.txt (localcharset.c): break sync.
79776
79777 2004-04-20  Paul Eggert  <eggert@twinsun.com>
79778
79779         * m4/host-os.m4: Add a copyright notice.
79780
79781 2004-04-20  Jim Meyering  <jim@meyering.net>
79782
79783         Change UTILS_ to gl_ in AC_DEFINE'd names.
79784         Change utils_- and jm_-prefixed variables, too.
79785         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
79786         UTILS_FUNC_MKDIR_TRAILING_SLASH.
79787         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
79788
79789         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
79790         Don't emit trailing blanks.
79791         Also rename jm_-prefixed variables to have gl_ prefix.
79792
79793         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
79794         Also rename jm_-prefixed variables to have gl_ prefix.
79795
79796         * m4/jm-macros.m4: Reflect the renamings.
79797         * m4/prereq.m4: Likewise.
79798
79799 2004-04-20  Jim Meyering  <jim@meyering.net>
79800
79801         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
79802         memory.
79803
79804 2004-04-20  Jim Meyering  <jim@meyering.net>
79805             Bruno Haible  <bruno@clisp.org>
79806
79807         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
79808         memory when realloc fails.
79809
79810 2004-04-19  Jim Meyering  <jim@meyering.net>
79811
79812         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
79813         now that readutmp.c may call `free (0)'.
79814
79815 2004-04-19  Bruno Haible  <bruno@clisp.org>
79816
79817         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
79818         * m4/inttypes_h.m4: Likewise.
79819         * m4/stdint_h.m4: Likewise.
79820         * m4/intmax_t.m4: Likewise.
79821         * m4/uintmax_t.m4: Likewise.
79822
79823 2004-04-18  Jim Meyering  <jim@meyering.net>
79824
79825         * m4/prereq.m4: Don't forbid jm_ prefix.
79826
79827         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
79828         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
79829         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
79830         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
79831         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
79832         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
79833         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
79834         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
79835         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
79836         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
79837         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
79838         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
79839         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
79840         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
79841         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
79842         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
79843         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
79844         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
79845         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
79846
79847 2004-04-18  Jim Meyering  <jim@meyering.net>
79848
79849         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
79850         failure, don't leak memory and do call END_UTMP_ENT.
79851
79852 2004-04-16  Jim Meyering  <jim@meyering.net>
79853
79854         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
79855         coreutils' stat program.
79856         (gl_PREREQ): Don't require jm_PREREQ_STAT.
79857
79858 2004-04-11  Paul Eggert  <eggert@twinsun.com>
79859
79860         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
79861         C89.
79862         (CHAR_BIT): Remove, since we assume C89.
79863         Include <stdint.h> if available, as per current Autoconf CVS advice.
79864
79865 2004-03-31  Jim Meyering  <jim@meyering.net>
79866
79867         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
79868         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
79869         * m4/xalloc.m4: Likewise.
79870
79871 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79872
79873         Merge from coreutils.
79874
79875         * m4/inttostr.m4: New file.
79876         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
79877         Require AM_STDBOOL_H and gl_TIMESPEC instead.
79878         Require gl_CLOCK_TIME.
79879         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
79880
79881 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79882
79883         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
79884         not bool, to be more consistent with Unix conventions.
79885         Suggested by Bruno Haible.
79886
79887         Merge from coreutils.
79888
79889         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
79890         * lib/umaxtostr.c: New files.
79891
79892         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
79893         the usual <time.h> dance.
79894         (get_date): Change signature to support fractional time stamps.
79895         All callers changed.
79896         * lib/getdate.y: Include "getdate.h" first, as we can now
79897         assume C89 and don't need to worry about 'const'.
79898         Similarly, include "unlocked-io.h" near start, not in middle.
79899         Include <limits.h>.
79900         (textint.value): Use long int rather than int.
79901         (textint.digits): Use size_t rather than int.
79902         (BILLION, LOG10_BILLION): New constants.
79903         (parser_control): New member rel_ns.  Members day_ordinal,
79904         time_zone, month, day, hour, minutes, rel_year, rel_month,
79905         rel_day, rel_hour, rel_minutes, rel_seconds
79906         are now long int, not int.  Member seconds is now struct timespec,
79907         not int.  New member timespec_seen.  Members dates_seen, days_seen,
79908         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
79909         not int.
79910         (%union.intval): Now long int, not int.
79911         New member timespec.
79912         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
79913         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
79914         (spec): Now is a timespec or an item list.
79915         (timespec, items): New nonterminals.
79916         (time, rel, relunit, number, get_date):
79917         Add support for fractional seconds.
79918         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
79919         (gmtime, localtime, mktime): Remove decls; not needed with C89.
79920         (to_hour): First arg is now long int, not int.
79921         (to_year): Returns long int, not int.
79922         Don't treat year -70 like 70.
79923         (tm_diff): Returns long int, not int.
79924         (lookup_word): Use bool instead of int when appropriate.
79925         (yylex): Use size_t for count, not int.
79926         Detect overflow when parsing large integer constants.
79927         Add support for fractions.
79928         (get_date): Make pointers 'const' if possible.
79929         Use more-portable code to detect integer overflow.
79930         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
79931         Don't use ctime; it's not reliable if the year has >4 digits.
79932
79933         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
79934         This is for compatibility with BSD.
79935
79936         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
79937         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
79938         From coreutils' system.h.
79939
79940         * lib/userspec.c: Don't include "posixver.h".
79941         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
79942         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
79943         compatible extension.  Simplify code by removing a boolean int
79944         that was always nonzero if a string was nonnull.
79945
79946 2004-03-30  Jim Meyering  <jim@meyering.net>
79947
79948         Merge from coreutils.
79949
79950         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
79951         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
79952         on some systems one must include <grp.h> before it.
79953         Reported by Christian Krackowizer.
79954
79955 2004-03-30  Jim Meyering  <jim@meyering.net>
79956
79957         Merge from coreutils.
79958
79959         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
79960
79961         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
79962         an empty input stream.
79963
79964         * lib/readtokens.c: Include <stdbool.h>.
79965         (readtoken): Use `size_t' rather than int/long.
79966         All callers adjusted.
79967         Use `bool' rather than `int' where appropriate.
79968         Use memset rather than an explicit loop.
79969         Use x2nrealloc rather than xrealloc.
79970         Allow the use of `\0' as a delimiter.
79971         (readtokens): Likewise.
79972         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
79973
79974 2004-03-30  Jim Meyering  <jim@meyering.net>
79975
79976         * m4/realloc.m4: Remove file, since now it does no more than
79977         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
79978         the `configure.ac' section of module/realloc.
79979         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
79980
79981 2004-03-30  Bruno Haible  <bruno@clisp.org>
79982
79983         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
79984         nonnull.
79985
79986 2004-03-29  Paul Eggert  <eggert@twinsun.com>
79987
79988         Merge changes to getloadavg.c from coreutils and Emacs.
79989
79990         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
79991         Define to an expression, not to the empty string.
79992         Include cloexec.h and xalloc.h.
79993         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
79994         Use set_cloexec_flag rather than rolling our own.
79995         * lib/cloexec.c, lib/cloexec.h: New files.
79996
79997 2004-03-29  Paul Eggert  <eggert@twinsun.com>
79998
79999         * m4/cloexec.m4: New file.
80000
80001 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80002
80003         * lib/getopt.h: Sync with libc CVS.
80004
80005 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80006             Bruno Haible  <bruno@clisp.org>
80007
80008         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
80009         mbswidth.
80010
80011 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80012             Bruno Haible  <bruno@clisp.org>
80013
80014         * lib/mbswidth.h: Include <wchar.h> only if
80015         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
80016         <wchar.h>.
80017         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
80018
80019 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80020
80021         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
80022         Sync with libc CVS.
80023         * lib/getopt_int.h: New file, also synced from libc.
80024
80025 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80026
80027         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
80028         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
80029         Bring back getopt.c, getopt.h, getopt1.c.
80030
80031 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80032
80033         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
80034         All uses changed.  Check for sa_sigaction member; this fixes
80035         a bug first reported by Jason Andrade in
80036         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80037
80038 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80039
80040         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
80041         '#if' expressions.  Unlike the code it replaces, it does not
80042         depend on (defined _SC_PAGESIZE).  However, it does depend on
80043         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
80044         first reported by Jason Andrade in
80045         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80046
80047 2004-02-25  Simon Josefsson  <jas@extundo.com>
80048
80049         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
80050
80051 2004-02-25  Simon Josefsson  <jas@extundo.com>
80052
80053         * lib/strdup.h: New file.
80054         * lib/strdup.c: Include it.
80055         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
80056         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
80057
80058 2004-02-23  Karl Berry  <karl@gnu.org>
80059
80060         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
80061         (from fencepost.gnu.org:/gd/gnuorg).
80062
80063 2004-02-23  Karl Berry  <karl@gnu.org>
80064
80065         * config/srclistvars.sh (GNUORG) [karl]: redefine.
80066         * config/srclist.txt: add maintain/standards documents.
80067
80068 2004-02-18  Bruno Haible  <bruno@clisp.org>
80069
80070         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
80071         Reported by Derek Robert Price <derek@ximbiot.com>.
80072
80073 2004-02-16  Karl Berry  <karl@gnu.org>
80074
80075         * config/mkinstalldirs, install-sh: update from automake.
80076
80077 2004-02-06  Karl Berry  <karl@gnu.org>
80078
80079         * m4/po.m4: update from gettext 0.14.1.
80080
80081 2004-02-06  Karl Berry  <karl@gnu.org>
80082
80083         * lib/config.charset: update from gettext 0.14.1.
80084
80085 2004-02-05  Paul Eggert  <eggert@twinsun.com>
80086
80087         Add comments and code, prompted by suggestions from Bruno Haible
80088         for sh-quote.
80089         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
80090         describing the enum quoting_style values.
80091         * lib/quotearg.c (quotearg_alloc): New function.
80092         (quotearg_buffer_restyled): Treat lone { and } as special.
80093         Treat = as special.  Work around bug with older shells
80094         that "see" a '\' that is really the 2nd byte of a multibyte char.
80095         Quote empty string with shell_quoting_style.
80096
80097 2004-02-03  Bruno Haible  <bruno@clisp.org>
80098
80099         * m4/pipe.m4: New file, from GNU gettext.
80100
80101 2004-02-03  Bruno Haible  <bruno@clisp.org>
80102
80103         * lib/pipe.h: New file, from GNU gettext.
80104         * lib/pipe.c: New file, from GNU gettext.
80105
80106 2004-01-27  Bruno Haible  <bruno@clisp.org>
80107
80108         * m4/execute.m4: New file, from GNU gettext.
80109
80110 2004-01-27  Bruno Haible  <bruno@clisp.org>
80111
80112         * lib/execute.h: New file, from GNU gettext.
80113         * lib/execute.c: New file, from GNU gettext.
80114         * lib/w32spawn.h: New file, from GNU gettext.
80115
80116 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80117
80118         Merge from diffutils.
80119
80120         * lib/file-type.c (file_type): Add typed memory objects.
80121         * lib/file-type.h (S_TYPEISTMO): New macro.
80122
80123         * lib/c-stack.h (c_stack_action): Remove argv argument.
80124         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
80125         (die): Don't calculate message unless segv_action returns.
80126         (get_stack_location, min_address_from_argv, max_address_from_argv,
80127         volatile stack_base, volatile_stack_size): Remove.
80128         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
80129         that every segmentation violation is a stack overflow.  (Ouch!)
80130         See Debian bug 136249 (still outstanding) for more info about why
80131         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
80132
80133 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80134
80135         Exit-status fix from coreutils.
80136
80137         Use exit_failure consistently in place of EXIT_FAILURE,
80138         so that program exit statuses are consistent on failure.
80139
80140         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
80141         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
80142         * lib/argmatch.h: Comment fix to match the above.
80143         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
80144         Now a macro referring to exit_failure, instead of a separate
80145         variable.  Include "exitfail.h" to get it.
80146         * lib/xstrtol.h: Include "exitfail.h".
80147         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
80148
80149         * lib/long-options.c (parse_long_options): Use prototype
80150         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
80151         for clarity.
80152
80153 2004-01-21  Jim Meyering  <jim@meyering.net>
80154
80155         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
80156         so as not to conflict with a different-sized __mktime_internal
80157         function in GNU libc.
80158         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
80159         Problem building statically-linked `ls' reported by Michael Brunnbauer.
80160
80161 2004-01-20  Karl Berry  <karl@gnu.org>
80162
80163         * config/config.guess: update from config.
80164
80165         * config/srclistvars.sh: GNUWWWLICENSES for karl.
80166
80167 2004-01-20  Bruno Haible  <bruno@clisp.org>
80168
80169         Safer stack allocation.
80170         * lib/setenv.c: Include allocsa.h.
80171         (alloca): Remove fallback definition.
80172         (freea): Remove macro.
80173         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
80174         instead of freea.
80175
80176 2004-01-20  Bruno Haible  <bruno@clisp.org>
80177
80178         * m4/eealloc.m4: New file, from GNU gettext.
80179
80180 2004-01-20  Bruno Haible  <bruno@clisp.org>
80181
80182         * m4/allocsa.m4: New file, from GNU gettext.
80183
80184 2004-01-20  Bruno Haible  <bruno@clisp.org>
80185
80186         * lib/xallocsa.h: New file, from GNU gettext.
80187         * lib/xallocsa.c: New file, from GNU gettext.
80188
80189 2004-01-20  Bruno Haible  <bruno@clisp.org>
80190
80191         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
80192
80193 2004-01-20  Bruno Haible  <bruno@clisp.org>
80194
80195         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
80196         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
80197         specially.
80198
80199 2004-01-20  Bruno Haible  <bruno@clisp.org>
80200
80201         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
80202         patch.
80203
80204 2004-01-20  Bruno Haible  <bruno@clisp.org>
80205
80206         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
80207
80208 2004-01-20  Bruno Haible  <bruno@clisp.org>
80209
80210         * lib/eealloc.h: New file.
80211
80212 2004-01-20  Bruno Haible  <bruno@clisp.org>
80213
80214         * lib/binary-io.h: Avoid warnings on Cygwin.
80215
80216 2004-01-20  Bruno Haible  <bruno@clisp.org>
80217
80218         * lib/allocsa.h: New file, from GNU gettext.
80219         * lib/allocsa.c: New file, from GNU gettext.
80220
80221 2004-01-18  Karl Berry  <karl@gnu.org>
80222
80223         * doc/gpl.texi, doc/lgpl.texi: new files.
80224
80225 2004-01-18  Karl Berry  <karl@gnu.org>
80226
80227         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
80228         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
80229
80230 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80231
80232         Merge from coreutils.
80233
80234         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
80235         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
80236         (gl_DEFAULT_POSIX2_VERSION): Move
80237         the documentation from 'configure' into 'config.hin',
80238         so that 'configure --help' isn't burdened by it and
80239         we don't have to worry about its formatting there.
80240         Reword the documentation so that it's more succinct
80241         and can be run together into a single paragraph.
80242         * m4/same.m4 (gl_SAME): Check for pathconf.
80243
80244 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80245
80246         Merge from coreutils.
80247
80248         * lib/posixver.c: Include posixver.h.
80249
80250         * lib/same.c: Include <stdbool.h>, <limits.h>.
80251         (_POSIX_NAME_MAX): Define if not defined.
80252         (MIN): New macro.
80253         (same_name): If file names are silently truncated, report
80254         that the file names are the same if they are the same after
80255         the silent truncation.
80256
80257         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
80258         conversion function.
80259         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
80260         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
80261         longer needed.
80262
80263 2004-01-15  Jim Meyering  <jim@meyering.net>
80264
80265         Merge from coreutils.
80266
80267         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
80268         if no library is required.
80269         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
80270         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
80271         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
80272         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
80273         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
80274         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
80275         value, $ac_cv_search_crypt, if it's "none required".
80276         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
80277         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
80278         not gl_FUNC_GETLOADAVG.
80279         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
80280         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
80281
80282 2004-01-15  Jim Meyering  <jim@meyering.net>
80283
80284         Merge from coreutils.
80285
80286         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
80287         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
80288         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
80289
80290         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
80291         optional configure-time default.
80292
80293         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80294
80295         * lib/xreadlink.c (xreadlink): Correct outdated comment.
80296
80297 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
80298
80299         Merge from coreutils.
80300
80301         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
80302         value, $ac_cv_search_nanosleep, if it's "none required".
80303
80304 2004-01-14  Paul Eggert  <eggert@twinsun.com>
80305
80306         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
80307         with like-named macro in fnmatch.c.
80308         (EXT): Use an internal constant instead.
80309
80310         Merge fnmatch patches from glibc.
80311         * lib/fnmatch.c (mbsinit): Remove define.
80312         Add libc_hidden_ver (__fnmatch, fnmatch).
80313         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
80314         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
80315
80316 2004-01-14  Karl Berry  <karl@gnu.org>
80317
80318         * config/install-sh: update from automake.
80319
80320 2004-01-13  Karl Berry  <karl@gnu.org>
80321
80322         * config/install-sh: update from automake.
80323
80324 2004-01-09  Karl Berry  <karl@gnu.org>
80325
80326         * config/install-sh: update from automake.
80327
80328 2004-01-05  Karl Berry  <karl@gnu.org>
80329
80330         * config/config.{sub,guess}: update from config.
80331
80332 2003-12-31  Karl Berry  <karl@gnu.org>
80333
80334         * config/depcomp: update from automake.
80335
80336 2003-12-14  Karl Berry  <karl@gnu.org>
80337
80338         * lib/config.charset: update from gettext-runtime.
80339
80340 2003-12-03  Paul Eggert  <eggert@twinsun.com>
80341
80342         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
80343         Bug reported by Alfred M. Szmidt.
80344
80345 2003-12-03  Bruno Haible  <bruno@clisp.org>
80346
80347         * m4/gettext.m4: Upgrade from gettext-0.13.
80348         * m4/po.m4: Upgrade from gettext-0.13.
80349         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
80350         * m4/intmax.m4: New file, from gettext-0.13.
80351         * m4/printf-posix.m4: New file, from gettext-0.13.
80352
80353 2003-11-29  Karl Berry  <karl@gnu.org>
80354
80355         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
80356
80357 2003-11-25  Paul Eggert  <eggert@twinsun.com>
80358             Bruno Haible  <bruno@clisp.org>
80359
80360         * lib/printf-parse.h: Don't include sys/types.h.
80361         (ARG_NONE): New macro.
80362         (char_directive): Change type of *arg_index fields to size_t.
80363         * lib/printf-parse.c: Don't include sys/types.h.
80364         (SSIZE_MAX): Remove macro.
80365         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
80366         Remove unnecessary overflow check.
80367         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
80368         fields.
80369
80370 2003-11-25  Bruno Haible  <bruno@clisp.org>
80371
80372         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
80373
80374 2003-11-25  Bruno Haible  <bruno@clisp.org>
80375
80376         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
80377         gt_TYPE_SSIZE_T.
80378
80379 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80380
80381         * modules/alloca: Remove dependency on xalloc.
80382
80383 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80384
80385         * lib/alloca.c: Remove dependency on xalloc module.
80386         (xalloc_die): Remove.
80387         (memory_full) [!defined emacs]: New macro.
80388         [!defined emacs]: Don't include xalloc.h.
80389         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
80390         address arithmetic overflows.  Change datatypes a bit to avoid
80391         unnecessary casts.
80392
80393 2003-11-22  Jim Meyering  <jim@meyering.net>
80394
80395         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
80396         s/size/size_t/.
80397
80398 2003-11-21  Karl Berry  <karl@gnu.org>
80399
80400         * config/config.{sub,guess}: update from config.
80401
80402 2003-11-18  Karl Berry  <karl@gnu.org>
80403
80404         * config/config.{sub,guess}: update from config.
80405
80406         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
80407
80408 2003-11-17  Paul Eggert  <eggert@twinsun.com>
80409
80410         * README: Mention that S+T cannot overflow if S is the size of
80411         an existing object and T is sufficiently small.
80412
80413 2003-11-17  Jim Meyering  <jim@meyering.net>
80414
80415         On systems without utime and without a utimes function capable of
80416         dealing with a NULL struct utimbuf* argument, this utime replacement
80417         could -- in unusual circumstances -- leak a file descriptor.
80418         * lib/utime.c: Include <unistd.h> and <errno.h>.
80419         (utime_null): Be sure to close `fd' and to preserve errno.
80420         Reported by Geoff Collyer via Arnold Robbins.
80421
80422 2003-11-17  Bruno Haible  <bruno@clisp.org>
80423
80424         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
80425         (Depends-on): Add xsize.
80426
80427 2003-11-17  Bruno Haible  <bruno@clisp.org>
80428
80429         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
80430
80431 2003-11-17  Bruno Haible  <bruno@clisp.org>
80432
80433         * lib/vasnprintf.c (alloca): Remove fallback definition.
80434         (freea): Remove definition.
80435         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
80436         Reported by Paul Eggert.
80437
80438 2003-11-16  Paul Eggert  <eggert@twinsun.com>
80439             Bruno Haible  <bruno@clisp.org>
80440
80441         Protect against address arithmetic overflow.
80442         * lib/printf-args.h: Include stddef.h.
80443         (arguments): Change type of field 'count' to size_t.
80444         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
80445         'unsigned int' where appropriate.
80446         * lib/printf-parse.h: Include sys/types.h.
80447         (char_directive): Change type of *arg_index fields to ssize_t.
80448         (char_directives): Change type of fields 'count', max_*_length to
80449         size_t.
80450         * lib/printf-parse.c: Include sys/types.h and xsize.h.
80451         (SSIZE_MAX): Define fallback value.
80452         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
80453         instead of 'int' where appropriate. Check a_allocated, d_allocated
80454         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
80455         * lib/vasnprintf.c: Include xsize.h.
80456         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
80457         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
80458         overflow. Avoid wraparound when converting a width or precision from
80459         decimal to binary.
80460
80461 2003-11-16  Bruno Haible  <bruno@clisp.org>
80462
80463         Update from GNU gettext.
80464         * lib/printf-parse.c: Generalize to it can be compiled for wide
80465         strings.
80466         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80467         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80468         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80469         SNPRINTF): New macros.
80470         Don't include <alloca.h> if the file is used inside libintl.
80471         (local_wcslen): New function, for Solaris 2.5.1.
80472         (VASNPRINTF): Use it instead of wcslen.
80473
80474 2003-11-16  Bruno Haible  <bruno@clisp.org>
80475
80476         * lib/xsize.h (xmax): New function.
80477         (xsum, xsum3, xsum4): Declare as "pure" functions.
80478
80479 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80480
80481         * modules/xalloc (Files): Undo latest change, since xalloc.h
80482         no longer needs SIZE_MAX or PTRDIFF_MAX.
80483
80484 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80485
80486         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80487         gl_PTRDIFF_MAX.
80488
80489 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80490
80491         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80492         "return", to pacify some unknown compiler.  Problem reported
80493         by Joerg Schilling.
80494
80495 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80496
80497         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80498         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80499         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80500         heuristic is just as accurate as far as we know, and it removes a
80501         dependency on size_max.m4 and ptrdiff_max.m4.
80502
80503 2003-11-11  Bruno Haible  <bruno@clisp.org>
80504
80505         * modules/xsize (Files): Add m4/size_max.m4.
80506         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80507
80508 2003-11-11  Bruno Haible  <bruno@clisp.org>
80509
80510         * m4/size_max.m4: New file.
80511         * m4/ptrdiff_max.m4: New file.
80512         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80513         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80514         (gl_XALLOC): Invoke it.
80515
80516 2003-11-11  Bruno Haible  <bruno@clisp.org>
80517
80518         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80519         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80520         defined.
80521
80522 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80523
80524         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
80525         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
80526         rejected some allocations of exactly SIZE_MAX - 2 bytes.
80527         From Bruno Haible.
80528         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
80529         not (size_t) -1, since it's defined here.
80530
80531 2003-11-09  Karl Berry  <karl@gnu.org>
80532
80533         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
80534
80535 2003-11-06  Paul Eggert  <eggert@twinsun.com>
80536
80537         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
80538         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
80539         Reject sizes of exactly SIZE_MAX bytes.
80540         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
80541         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
80542
80543 2003-11-05  Bruno Haible  <bruno@clisp.org>
80544
80545         * lib/xsize.h: Include limits.h, to avoid a possible collision with
80546         SIZE_MAX defined in <limits.h> on Solaris.
80547
80548 2003-11-04  Jim Meyering  <jim@meyering.net>
80549
80550         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
80551         variable names, rather than @VAR@.
80552         * modules/poll: Likewise.
80553
80554 2003-11-04  Bruno Haible  <bruno@clisp.org>
80555
80556         * modules/xsize: New file.
80557         * modules/linebreak: Depend on xsize.
80558         * MODULES.html.sh (func_all_modules): Add xsize.
80559
80560 2003-11-04  Bruno Haible  <bruno@clisp.org>
80561
80562         * m4/xsize.m4: New file.
80563
80564 2003-11-04  Bruno Haible  <bruno@clisp.org>
80565
80566         * lib/xsize.h: New file.
80567         * lib/linebreak.c: Include xsize.h.
80568         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
80569         argument for overflow.
80570         Suggested by Paul Eggert.
80571
80572 2003-11-03  Karl Berry  <karl@gnu.org>
80573
80574         * config/config.{guess,sub}: update from config.
80575
80576 2003-11-03  Jim Meyering  <jim@meyering.net>
80577
80578         * modules/userspec (lib_SOURCES): Add userspec.h.
80579         (Include): Add "userspec.h".
80580         Improve description.
80581
80582 2003-11-03  Jim Meyering  <jim@meyering.net>
80583
80584         * lib/userspec.c: Include "userspec.h".
80585         * lib/userspec.h: New file.
80586
80587 2003-11-03  Bruno Haible  <bruno@clisp.org>
80588
80589         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
80590
80591 2003-11-03  Bruno Haible  <bruno@clisp.org>
80592
80593         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
80594         available, to avoid (extremely rare) race condition.
80595         Suggested by Paul Eggert.
80596
80597 2003-11-02  Karl Berry  <karl@gnu.org>
80598
80599         * config/srclist.txt (vasprintf.c): sync broken, sigh.
80600
80601 2003-10-31  Paul Eggert  <eggert@twinsun.com>
80602
80603         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
80604         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
80605         (read_filesystem_list): Set and use me_type_malloced.
80606         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
80607         whatever the type happens to be), for brevity and consistency.
80608         Check for size calculation overflow on Alphas running OSF/1.
80609
80610 2003-10-31  Jim Meyering  <jim@meyering.net>
80611
80612         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
80613
80614         * lib/linebuffer.c: Include <string.h> for declaration of memset.
80615
80616 2003-10-30  Paul Eggert  <eggert@twinsun.com>
80617             Bruno Haible  <bruno@clisp.org>
80618
80619         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
80620         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
80621
80622 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80623
80624         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
80625         netbsd*-gnu*.  Suggested by Robert Millan.
80626
80627 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80628
80629         * modules/group-member: Depend on stdbool.
80630
80631 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80632
80633         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
80634
80635 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80636
80637         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
80638         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
80639         after the 'gnu' in these cases.  This fixes some bugs in the
80640         previous change, and is based on suggestions by Robert Millan.
80641
80642 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80643
80644         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
80645         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
80646         no longer needed.
80647         * lib/quotearg.c (quotearg_n_options): Use it.
80648         * lib/group-member.c: Include <stdbool.h>.
80649         (free_group_info): Arg is now const *; don't free arg.
80650         (get_group_info): Now returns bool and accepts struct group_info *,
80651         rather than returning a malloc'ed struct group_info *.
80652         All uses changed.  Check for overflow in internal size calculation.
80653
80654         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
80655         rather than xmalloc/xrealloc.
80656         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
80657         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
80658         conformance bug: the old code used a pointer after freeing the
80659         storage that it addressed.
80660         * lib/hash.c (hash_initialize): Simplify the code by using
80661         xalloc_oversized rather than doing it by hand.
80662         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
80663         the buffer preserved.  Use free and xmalloc instead.
80664         * lib/quotearg.c (quotearg_n_options): Likewise.
80665         Use a simpler test for size overflow.  Don't use xalloc_oversized
80666         because unsigned int might be wider than size_t (!); this suggests
80667         that we should switch from unsigned int to size_t for slot numbers.
80668
80669 2003-10-28  Paul Eggert  <eggert@twinsun.com>
80670
80671         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
80672         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
80673         NetBSD kernels.  Requested by Richard Stallman.
80674
80675 2003-10-27  Paul Eggert  <eggert@twinsun.com>
80676
80677         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
80678         to allocate the returned structure.  Do not allocate a subarray,
80679         as x2nrealloc will do that.
80680         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
80681         instead of xnrealloc.
80682         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
80683
80684 2003-10-27  Bruno Haible  <bruno@clisp.org>
80685
80686         * lib/stdbool_.h: Better support for BeOS.
80687
80688 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80689
80690         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
80691         now uses inline.
80692
80693 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80694
80695         * lib/xalloc.h (xalloc_oversized): New static inline function, for
80696         callers that want to do their own size-overflow checking.  Include
80697         <stdbool.h>, since xalloc_oversized returns bool.
80698         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
80699         to use xalloc_oversized.
80700
80701         Add two functions x2realloc, x2nrealloc, for programs that grow
80702         arrays dynamically by doubling their sizes.
80703         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
80704         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
80705         New functions.
80706
80707         Port to C99 semantics for 'inline' of external functions.
80708         Bug reported by Bruno Haible.
80709         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
80710         with the old contents of xnmalloc.
80711         (xnmalloc, xmalloc): Use it.
80712         (xnrealloc_inline): New static inline function,
80713         with the old contents of xnrealloc.
80714         (xnrealloc, xrealloc): Use it.
80715
80716         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
80717         that.
80718
80719 2003-10-26  Karl Berry  <karl@gnu.org>
80720
80721         * config/srclist.txt (COPYING.DOC): no longer available from
80722         /gd/gnuorg; don't know where the ultimate source is.
80723
80724 2003-10-25  Paul Eggert  <eggert@twinsun.com>
80725
80726         Fix several address-calculation bugs in the hash modules,
80727         plus some minor code cleanup.
80728
80729         * lib/hash.h: Include <stdbool.h>, for bool.
80730         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
80731         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
80732         hash_get_n_entries, hash_get_max_bucket_length,
80733         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
80734         hash_rehash): Use size_t rather than unsigned.
80735         * lib/hash.c (struct hash_table, hash_get_n_buckets,
80736         hash_get_n_buckets_used, hash_get_n_entries,
80737         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
80738         hash_get_entries, hash_do_for_each, hash_string, is_prime,
80739         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
80740         Likewise.
80741         (SIZE_MAX): Define if not defined.
80742         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
80743         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
80744         hash_print):
80745         Use const * when possible.
80746         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
80747         (check_tuning): Fix bug: if tuning parameters were very close to
80748         0 or 1, rounding errors could have caused subscript violations.
80749         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
80750         (hash_initialize): Add 'fail:' label
80751         to free table and return NULL, and use it to simplify code.
80752         Use calloc rather than clearing the storage ourself.
80753         (hash_initialize, hash_rehash): Check for arithmetic overflow in
80754         buffer size calculations.
80755         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
80756         Include <stddef.h>, for size_t.
80757         * lib/hash-pjw.c (hash_pjw): Likewise.
80758         Switch to method described by Bruno Haible.
80759         Include <limits.h>, for CHAR_BIT.
80760         (SIZE_BITS): New macro.
80761
80762 2003-10-23  Paul Eggert  <eggert@twinsun.com>
80763
80764         * m4/getline.m4 (AM_FUNC_GETLINE):
80765         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
80766         hosts.  Problem reported by Derek Robert Price in
80767         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
80768         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
80769         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
80770
80771 2003-10-21  Paul Eggert  <eggert@twinsun.com>
80772
80773         * lib/getndelim2.c (getndelim2): When size calculation overflows,
80774         ceiling the allocation at NMAX bytes rather than silently
80775         discarding input bytes before NMAX is reached.  This makes
80776         a difference only if NMAX exceeds SIZE_MAX / 2.
80777
80778         * lib/obstack.c: Merge from glibc.
80779         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
80780         Add libc_hidden_def (_obstack_newchunk).
80781         (_obstack_free) [! defined _LIBC]: Remove.
80782         [defined _LIBC]: Make a strong alias from obstack_free, rather than
80783         a clone of the function body.
80784         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
80785         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
80786
80787         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
80788         glibc.
80789         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
80790         arg to memcpy.
80791
80792         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
80793         (obstack_ptr_grow_fast, obstack_int_grow_fast):
80794         Don't use lvalue casts, as GCC plans to remove support for them
80795         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
80796         was also present in the non-GCC version, indicating that this
80797         code had always been buggy and had never been widely used.
80798         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
80799         Use the fast variant of each macro, rather than copying the
80800         definiens of the fast variant; that way, we'll be more likely to
80801         catch future bugs in the fast variants.
80802
80803 2003-10-20  Bruno Haible  <bruno@clisp.org>
80804
80805         * modules/wait-process: New file.
80806         * MODULES.html.sh (func_all_modules): Add wait-process.
80807
80808 2003-10-20  Bruno Haible  <bruno@clisp.org>
80809
80810         * m4/wait-process.m4: New file.
80811
80812 2003-10-20  Bruno Haible  <bruno@clisp.org>
80813
80814         * lib/wait-process.h: New file, from GNU gettext.
80815         * lib/wait-process.c: New file, from GNU gettext.
80816
80817 2003-10-19  Jim Meyering  <jim@meyering.net>
80818
80819         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
80820         HPUX 10.20.
80821
80822 2003-10-18  Karl Berry  <karl@gnu.org>
80823
80824         * config/config.guess: update from config.
80825
80826 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80827
80828         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
80829         (getgroups): First arg is int, not size_t.
80830         Don't let 'free' mangle errno.
80831
80832 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80833
80834         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
80835
80836 2003-10-16  Karl Berry  <karl@gnu.org>
80837
80838         * config/config.{guess,sub}: update from config.
80839
80840 2003-10-16  Jim Meyering  <jim@meyering.net>
80841
80842         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
80843         memcpy.
80844
80845 2003-10-15  Paul Eggert  <eggert@twinsun.com>
80846
80847         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
80848         (SIZE_MAX): Remove.
80849         (new_exclude, add_exclude_file): Initial size no longer needs to
80850         be a power of 2.
80851         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
80852         our own address arithmetic overflow checking.
80853
80854         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
80855         (fnmatch): Do not alloca more than 2000 wide characters;
80856         instead, use malloc for large buffers.
80857         Check for address arithmetic overflow, and return -1
80858         with errno set to ENOMEM in that case.
80859         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
80860         (NEW_PATTERN): Do not alloca more than 8000 bytes;
80861         instead, return -1.  Check for address arithmetic overflow.
80862
80863 2003-10-14  Paul Eggert  <eggert@twinsun.com>
80864
80865         Handle invalid suffixes and overflow independently, so that
80866         callers can treat them independently as needed.  Fix some bugs in
80867         suffix handling, e.g., "100k@" was not diagnosed as an invalid
80868         suffix for a human-readable blocksize.  The major caller-visible
80869         change is the addition of a new
80870         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
80871         that both overflow and suffix chars were found.
80872
80873         * lib/human.c (humblock): Don't check separately for invalid suffix
80874         char; that is xstrtoumax's job (now that its bug is fixed).
80875         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
80876         INTMAX_MAX]: New macros.
80877         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
80878         TYPE_MAXIMUM): New macros.
80879         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
80880         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
80881         if overflow occurs, as it's what __strtol does and it's more useful
80882         in practice.
80883         (__xstrtol): If __strtol reports some error other than ERANGE,
80884         reflect it to the caller as LONGINT_INVALID.  If it reports
80885         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
80886         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
80887         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
80888         value.
80889         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
80890         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
80891         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
80892         [defined UINTMAX_MAX]: New macros.
80893
80894 2003-10-14  Bruno Haible  <bruno@clisp.org>
80895
80896         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
80897
80898 2003-10-14  Bruno Haible  <bruno@clisp.org>
80899
80900         * m4/sig_atomic_t: New file, from GNU gettext.
80901         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
80902
80903 2003-10-14  Bruno Haible  <bruno@clisp.org>
80904
80905         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
80906         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
80907         Also use volatile where needed.
80908
80909 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80910
80911         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
80912         Change maintainer from Bruno Haible to 'all'.
80913
80914 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80915
80916         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
80917
80918 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80919
80920         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
80921         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
80922         and define in terms of the other primitives.
80923         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
80924         (SIZE_MAX): Define if not already defined.
80925         (array_size_overflow): New function.
80926         (xalloc_die): Abort instead of exiting if 'error' returns.
80927         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
80928         (xmalloc, xrealloc): Use them.
80929         (xcalloc): Check for address arithmetic overflow.
80930         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
80931         a bit faster than strcpy.
80932
80933 2003-10-10  Simon Josefsson  <jas@extundo.com>
80934
80935         * modules/argp (Depends-on): Add restrict and strcase.
80936
80937 2003-10-10  Simon Josefsson  <jas@extundo.com>
80938
80939         * m4/argp.m4: Add AC_C_INLINE.
80940
80941 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80942
80943         Merge getpass from libc, plus a few fixes.
80944
80945         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
80946         Include <stdbool.h>.
80947         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
80948         __fsetlocking to empty.
80949         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
80950         do include <bits/libc-lock.h>.
80951         Do not include <fcntl.h>; not needed.
80952         [_LIBC]: Include <wchar.h>.
80953         (NOTCANCEL_MODE): New macro.
80954         (flockfile, funlockfile) [_LIBC]: New macros.
80955         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
80956         [!_LIBC]: New macros.
80957         (call_fclose): New function.
80958         (getpass): Use it.  Save tty stream separately; this simplifies the
80959         code and makes it more reliable if stdin happens to equal stdout.
80960         Invoke __fsetlocking on tty.
80961         Handle thread cancellation if needed.
80962         Namespace cleanup (use __tcgetattr, __getline).
80963         Use bool for Booleans.
80964         [USE_IN_LIBIO]: Handle wide streams.
80965         [!_LIBC]: Unconditionally do the fseek, since we don't know what
80966         stream might go where.
80967
80968         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
80969         doesn't have to include <stdio.h> before us.
80970         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
80971         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
80972         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
80973         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
80974         if not declared, so that we can use getpass.c code from libc without
80975         rewriting it.
80976         (flockfile, ftrylockfile, funlockfile): New macros.
80977
80978 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80979
80980         * modules/getpass: Depend on stdbool.
80981
80982 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80983
80984         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
80985
80986 2003-10-07  Karl Berry  <karl@gnu.org>
80987
80988         * config/config.{guess,sub}: update from config.
80989
80990 2003-10-06  Jim Meyering  <jim@meyering.net>
80991             Bruno Haible  <bruno@clisp.org>
80992
80993         This lets translators provide better translations for the
80994         "Written by ..." part of --version output.
80995         * lib/version-etc.h: Include stdarg.h.
80996         (version_etc_copyright): Declare as readonly.
80997         (version_etc): Make this function variadic with a NULL-terminated list
80998         of author name strings.
80999         (version_etc_va): New declaration.
81000         * lib/version-etc.c: Include stdarg.h, stdlib.h.
81001         (version_etc_copyright): Declare as readonly.
81002         (version_etc_va): New function. Provide a different translatable string
81003         for each possible number of authors < 10. Abbreviate when there are 10
81004         authors or more.
81005         (version_etc): Make this function variadic. Call version_etc_va.
81006         Suggestion from Gary V. Vaughan.
81007
81008         * lib/long-options.h (parse_long_options): Change prototype: the
81009         authors string is moved to the end and becomes variadic.
81010         * lib/long-options.c: Include stdarg.h.
81011         (parse_long_options): Make this function variadic, too.
81012         Call version_etc_va, not version_etc.
81013
81014 2003-10-06  Bruno Haible  <bruno@clisp.org>
81015
81016         * modules/version-etc-2: Remove file.
81017         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
81018
81019 2003-10-06  Bruno Haible  <bruno@clisp.org>
81020
81021         * modules/fatal-signal: New file.
81022         * MODULES.html.sh (func_all_modules): Add fatal-signal.
81023
81024 2003-10-06  Bruno Haible  <bruno@clisp.org>
81025
81026         * m4/fatal-signal.m4: New file.
81027         * m4/signalblocking.m4: New file, from GNU gettext.
81028
81029 2003-10-06  Bruno Haible  <bruno@clisp.org>
81030
81031         * lib/version-etc-2.h: Remove file.
81032         * lib/version-etc-2.c: Remove file.
81033
81034 2003-10-06  Bruno Haible  <bruno@clisp.org>
81035
81036         * lib/fatal-signal.h: New file, from GNU gettext.
81037         * lib/fatal-signal.c: New file, from GNU gettext.
81038
81039 2003-10-05  Paul Eggert  <eggert@twinsun.com>
81040
81041         * README: Rework advice for preventing empty .o files.
81042         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
81043         not <sys/types.h>.
81044
81045 2003-10-04  Karl Berry  <karl@gnu.org>
81046
81047         * lib/argp*: update from libc.
81048
81049 2003-10-04  Karl Berry  <karl@gnu.org>
81050
81051         * config/config.{guess,sub}: update from config.
81052
81053 2003-10-02  Bruno Haible  <bruno@clisp.org>
81054
81055         * modules/lchown (Include): Add lchown.h.
81056         * modules/time_r (Include): Use "..." syntax.
81057         * modules/xgetdomainname (Include): Add xgetdomainname.h.
81058
81059 2003-10-01  Simon Josefsson  <jas@extundo.com>
81060
81061         * MODULES.html.sh (func_all_modules): Move gethostname from section
81062         'based on' to section 'lacking' POSIX:2001.
81063
81064 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
81065
81066         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
81067         to output mode on the same stream.
81068
81069 2003-09-29  Paul Eggert  <eggert@twinsun.com>
81070
81071         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
81072         Fix arg typo in previous patch.
81073
81074 2003-09-28  Jim Meyering  <jim@meyering.net>
81075
81076         * lib/error.c: Correct cpp indentation.
81077
81078 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81079
81080         * modules/free: New file.
81081
81082 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81083
81084         * m4/free.m4: New file.
81085
81086 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81087
81088         * lib/minmax.h (MIN, MAX)
81089         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
81090         Omit the special code that used __typeof__, since we worry that
81091         it could be more trouble than it's worth.  See:
81092         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
81093         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
81094
81095         * lib/free.c: New file.
81096
81097 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
81098
81099         Trivial fixes to Makefile.am parts of module listings.
81100         * modules/strstr: Append strstr.h to lib_SOURCES.
81101         * modules/strcase: Likewise, for strcase.h.
81102
81103 2003-09-27  Karl Berry  <karl@gnu.org>
81104
81105         * config/mkinstalldirs: update from automake.
81106
81107 2003-09-26  Paul Eggert  <eggert@twinsun.com>
81108
81109         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
81110         (error_tail): Do not loop, reallocating temporary buffer, since
81111         the output cannot contain more wide characters than the input
81112         contains bytes, the size must be big enough already.  This avoids
81113         one potential size overflow calculation.  Check for size overflow
81114         when calculating temporary buffer size.  Free temporary buffer
81115         when done, if it was allocated with malloc; this plugs a memory
81116         leak.  Remove casts from void * to pointers, that are no longer
81117         needed now that we're assuming C89 or better.
81118
81119         Merge error changes from glibc.
81120
81121         * lib/error.c, error.h: Update copyright notice header to match glibc.
81122         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
81123         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
81124         Disable cancellation while printing error.
81125         * lib/error.h: Prepend __ to parameter names.
81126
81127 2003-09-26  Jim Meyering  <jim@meyering.net>
81128
81129         * lib/error.c (error_tail): Move some declarations
81130         into inner scope where the local variables are used.
81131
81132 2003-09-26  Bruno Haible  <bruno@clisp.org>
81133
81134         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
81135         stpncpy().
81136         Don't define stpncpy through config.h; it's now done through stpncpy.h.
81137
81138 2003-09-26  Bruno Haible  <bruno@clisp.org>
81139
81140         * lib/stpncpy.h (gnu_stpncpy): New declaration.
81141         (stpncpy): Define as alias for gnu_stpncpy.
81142         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
81143
81144 2003-09-25  Simon Josefsson  <jas@extundo.com>
81145
81146         * lib/xgetdomainname.h: New file.
81147         * lib/xgetdomainname.c: New file.
81148
81149 2003-09-25  Simon Josefsson  <jas@extundo.com>
81150             Bruno Haible  <bruno@clisp.org>
81151
81152         * modules/getdomainname: New file.
81153         * modules/xgetdomainname: New file.
81154         * MODULES.html.sh (func_all_modules): Add getdomainname,
81155         xgetdomainname.
81156
81157 2003-09-25  Simon Josefsson  <jas@extundo.com>
81158             Bruno Haible  <bruno@clisp.org>
81159
81160         * m4/getdomainname.m4: New file.
81161
81162 2003-09-25  Simon Josefsson  <jas@extundo.com>
81163             Bruno Haible  <bruno@clisp.org>
81164
81165         * lib/getdomainname.h: New file.
81166         * lib/getdomainname.c: New file.
81167
81168 2003-09-25  Karl Berry  <karl@gnu.org>
81169
81170         * lib/argp-fmtstream.c, argp-help.c: update from libc.
81171
81172 2003-09-25  Karl Berry  <karl@gnu.org>
81173
81174         * config/install-sh: update from automake.
81175
81176 2003-09-25  Bruno Haible  <bruno@clisp.org>
81177
81178         * modules/version-etc-2: New file, from modules/version-etc with
81179         modifications.
81180         * MODULES.html.sh (func_all_modules): Add version-etc-2.
81181
81182 2003-09-25  Bruno Haible  <bruno@clisp.org>
81183
81184         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
81185         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
81186
81187 2003-09-24  Simon Josefsson  <jas@extundo.com>
81188
81189         * modules/xgethostname: Add xgethostname.h.
81190
81191 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81192
81193         * lib/linebuffer.c (freebuffer): Don't free the argument, just
81194         the buffer associated with the argument.  Bug reported by
81195         Simon Josefsson.
81196
81197 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81198
81199         * README: Document assumptions that 'int' is at least 32 bits
81200         wide, that integer arithmetic is 2's complement without overflow,
81201         that there are no holes in integer values, that adding sizes of
81202         two nonoverlapping objects can't overflow, and that all-bits-zero
81203         yields scalar zero.  Fix spelling and capitalization typos.
81204
81205 2003-09-19  Karl Berry  <karl@gnu.org>
81206
81207         * lib/argp.h: update from libc.
81208
81209 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81210
81211         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
81212         to avoid spurious warnings like "AC_RUN_IFELSE was called before
81213         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
81214
81215 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81216
81217         * gnulib-tool: Use "test -h", not "test -L", for portability
81218         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
81219         (tags_regexp): Remove, since \| doesn't conform to POSIX.
81220         (sed_extract_prog): Issue s commands one-by-one, rather than
81221         using \| in one s command.
81222
81223 2003-09-16  Paul Eggert  <eggert@twinsun.com>
81224
81225         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
81226         input error, instead of returning NULL the next time we are called
81227         (and therefore losing track of errno).
81228
81229 2003-09-16  Bruno Haible  <bruno@clisp.org>
81230
81231         * gnulib-tool (func_create_testdir): Warn about duplicated
81232         dependencies.
81233
81234 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81235
81236         * modules/argmatch, modules/fatal, modules/obstack,
81237         modules/xalloc, modules/xgethostname: Sort dependencies by
81238         importance, not alphabetically.
81239
81240 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81241
81242         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
81243         fails, so that the caller gets the proper errno.
81244
81245         * lib/readutmp.c (read_utmp): Likewise.
81246         Check for fstat error.  Close stream and free storage
81247         when failing.
81248
81249 2003-09-14  Karl Berry  <karl@gnu.org>
81250
81251         * config/srclist.txt (strdup.c): disable for c89 changes.
81252
81253 2003-09-14  Jim Meyering  <jim@meyering.net>
81254
81255         * lib/getloadavg.c: Correct cpp indentation.
81256         * lib/strdup.c: Likewise.
81257         * lib/vasnprintf.c: Likewise.
81258
81259 2003-09-14  Bruno Haible  <bruno@clisp.org>
81260
81261         * modules/fwriteerror: New file.
81262         * MODULES.html.sh (func_all_modules): Add fwriteerror.
81263
81264 2003-09-14  Bruno Haible  <bruno@clisp.org>
81265
81266         * lib/fwriteerror.h: New file.
81267         * lib/fwriteerror.c: New file.
81268
81269 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81270
81271         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
81272         modules/xgethostname, modules/xalloc: Depend on exit.
81273
81274 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81275
81276         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
81277
81278         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
81279         and AC_MINIX, too, so that their extensions are available.
81280
81281         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
81282         This macro has been superseded by gl_BACKUPFILE.
81283
81284         More patches to assume C89 or better.
81285
81286         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
81287
81288         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
81289         unconditionally.
81290         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
81291         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
81292         Include <string.h>, <stdlib.h> unconditionally.
81293         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
81294         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
81295         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
81296         headers or for string.h.
81297         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
81298         or strtoul.
81299
81300         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
81301         headers.
81302         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
81303         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81304         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
81305         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
81306         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81307         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
81308         memcpy, memset.
81309         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
81310         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
81311         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
81312         strtol.
81313         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
81314         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
81315         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
81316         strtoul.
81317
81318 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81319
81320         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
81321         * lib/obstack.c [!defined _LIBC]: Likewise.
81322         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
81323         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
81324         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
81325
81326         More changes to assume C89 or better.
81327
81328         * lib/error.c (error_tail): Assume vprintf.
81329
81330         * lib/argmatch.c (getenv): Remove decl.
81331         * lib/progreloc.c (get_full_program_name): Define via prototype.
81332         * lib/setenv.c (clearenv): Likewise.
81333         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
81334         needed.
81335         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
81336         (malloc, memcpy): Remove decls.
81337         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
81338         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
81339         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81340         (memcpy): Remove macro.
81341         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
81342         (__P): Remove.  All uses removed.
81343         (PTR): Remove.  All uses changed to void *.
81344         (CHAR_BIT, NULL): Remove.
81345         (spaces, zeros, memset_space, memset_zero)
81346         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
81347         Remove.
81348         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
81349         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
81350         Define with prototype.
81351         Remove now-unnecessary prototype decl.
81352         (extra_args_spec): Assume ANSI C.  All uses changed.
81353         (extra_args_spec_iso): Remove.
81354         (my_strftime, emacs_strftimeu): Define via prototype.
81355         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
81356         unconditionally.
81357         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
81358         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
81359         (strtoul, strtol): Remove decls.
81360         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
81361         LONG_MAX): Remove.
81362         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81363         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
81364         (LOCALE_PARAM_PROTO): New macro.
81365         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
81366         (INTERNAL (strtol), strtol): Define with a prototype.
81367         (PARAMS): Remove.  All uses removed.
81368         * lib/tempname.c: Include <string.h> unconditionally.
81369         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
81370         * lib/xgethostname.c (main): Define with a prototype.
81371         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
81372         Include <stdlib.h> unconditionally.
81373         (calloc, malloc, realloc, free): Remove decls.
81374         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
81375         Include <stdlib.h> unconditionally.  Sort include file names.
81376         (strtod): Remove.
81377         (xstrtod): Define with a prototype.
81378         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
81379         (strtol, strtoul): Remove decls.
81380
81381 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81382
81383         More patches to assume C89 or better.
81384         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
81385         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
81386         string.h, memchr, STDC_HEADERS.
81387
81388 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81389
81390         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
81391         Include <stdlib.h>, <string.h> unconditionally.
81392         Remove now-unnecessary cast to char *.
81393         * lib/strnlen.c: Include <string.h> unconditionally.
81394         * lib/yesno.c (yesno): Define with a prototype.
81395
81396 2003-09-11  Bruno Haible  <bruno@clisp.org>
81397
81398         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
81399
81400 2003-09-10  Jim Meyering  <jim@meyering.net>
81401
81402         * lib/error.c: Correct indentation of cpp directives.
81403
81404 2003-09-10  Bruno Haible  <bruno@clisp.org>
81405
81406         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
81407         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
81408         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
81409         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
81410         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
81411         <stdlib.h> and <string.h> checks.
81412         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
81413         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
81414
81415 2003-09-10  Bruno Haible  <bruno@clisp.org>
81416
81417         * lib/strcspn.c: Include <string.h> unconditionally.
81418         * lib/strpbrk.c: Include <string.h> unconditionally.
81419         * lib/strstr.c: Include <string.h> unconditionally.
81420         * lib/unicodeio.c: Include <string.h> unconditionally.
81421         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
81422         * lib/unsetenv.c: Likewise.
81423         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
81424         * lib/yesno.c: Include <stdlib.h> unconditionally.
81425         (rpmatch): Add prototype.
81426
81427 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81428
81429         More patches to assume C89 or better.
81430         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
81431         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
81432         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
81433         or for string.h.
81434         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
81435         stdlib.h.
81436         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
81437         C headers.
81438         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
81439         string.h.
81440         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
81441         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
81442         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
81443         or for string.h.
81444         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
81445         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
81446         C headers.
81447         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
81448         memcpy.
81449         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
81450         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
81451         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
81452         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
81453         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
81454         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
81455         string.h, free.
81456         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
81457         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
81458         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
81459         C headers, or for string.h.
81460         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
81461         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81462         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81463         headers, memory.h, stdlib.h, string.h, strings.h.
81464         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81465         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81466         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81467         strchr.
81468         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81469         headers, memory.h, string.h.
81470         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81471         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81472         free.
81473         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81474         headers.
81475         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81476         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81477         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81478         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81479         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81480
81481 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81482
81483         More K&R removal.
81484
81485         * lib/acosl.c (main): Use a prototype.
81486         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81487         tanl.c: Likewise.
81488
81489         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81490
81491         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81492         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81493         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81494         with a prototype.
81495         * lib/getopt.c (const): Remove macro.
81496         Include <string.h> unconditionally.
81497         (my_index): Remove; all uses changed to strchr.
81498         (strlen): Remove decl.
81499         (exchange): Remove forward decl; no longer needed.
81500         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81501         Define with prototype.
81502         * lib/getopt1.c (const): Remove macro.
81503         (getopt_long, getopt_long_only, main): Define with prototype.
81504
81505         * lib/getugroups.c: Include <string.h> unconditionally.
81506
81507         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81508         (getusershell, setusershell, endusershell, readname, main):
81509         Define with prototypes.
81510
81511         * lib/group-member.c: Include group-member.h first.
81512         Include <stdlib.h> unconditionally.
81513
81514         * lib/hard-locale.c: Include hard-locale.h first.
81515         Include <stdlib.h>, <string.h> unconditionally.
81516
81517         * lib/hash.c (free, malloc): Remove decls.
81518         Include <stdlib.h> unconditionally.
81519
81520         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81521         (getenv): Do not declare.
81522
81523         * lib/idcache.c: Include <string.h> unconditionally.
81524
81525         * lib/long-options.c: Include long-options.h first, to test interface.
81526         Include <stdlib.h> unconditionally.
81527
81528         * lib/makepath.c: Include makepath.h first, to test interface.
81529         Include <stdlib.h> and <string.h> unconditionally.
81530
81531         * lib/linebuffer.c: Include <stdlib.h>.
81532         (free): Remove decl.
81533
81534         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
81535         stddef.h. rpl_malloc returns void *, not char *.
81536         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
81537         prototype.
81538
81539         * lib/md5.h: Include <limits.h> unconditionally.
81540         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
81541         (__P): Remove; all uses removed.
81542         * lib/md5.c: Include "md5.h" first.
81543         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
81544         md5_buffer, md5_process_bytes, md5_process_block):
81545         Define with prototypes.
81546         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
81547         * lib/sha.c: Include "sha.h" first.
81548         Include <stdlib.h>, <string.h> unconditionally.
81549
81550         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
81551         * lib/memcmp.c (__ptr_t): Likewise.
81552         * lib/memrchr.c (__ptr_t): Likewise.
81553         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
81554         Include <string.h> unconditionally.
81555         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
81556         * lib/memchr.c: Include <stdlib.h> unconditionally.
81557         * lib/memchr.c (LONG_MAX): Remove.
81558         * lib/memrchr.c (LONG_MAX): Likewise.
81559         * lib/memchr.c (__memchr): Define via a prototype.
81560         * lib/memrchr.c (__memrchr): Likewise.
81561         * lib/memcmp.c (__P): Remove, and remove all uses.
81562         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
81563         Remove forward decls; no longer needed.
81564         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
81565         Use types required by C89 in prototype.
81566
81567         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
81568         * lib/savedir.c: Likewise.
81569         * lib/mkdir.c (free): Remove decl.
81570         * lib/rmdir.c (rmdir): Define with a prototype.
81571         * lib/savedir.c: Include savedir.h first, to test interface.
81572
81573         * lib/mktime.c (STDC_HEADERS): Remove.
81574         Include <stdlib.h>, <string.h> unconditionally.
81575
81576         * lib/modechange.c: Include <stdlib.h> unconditionally.
81577         (malloc): Remove decl.
81578
81579         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
81580         (free): Remove decl.
81581
81582         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
81583         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
81584         (This type really should be intptr_t, but that's a C99ism.)
81585         (_obstack_memcpy): Remove: all uses changed to memcpy.
81586         Include <string.h> unconditionally.
81587         (struct obstack): Assume __STDC__ for types of members
81588         chunkfun, freefun, extra_arg.
81589         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
81590         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
81591         obstack_begin, obstack_specify_allocation,
81592         obstack_specify_allocation_with_arg, obstack_chunkfun,
81593         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
81594         Remove unprototyped decls and the macros that use them.
81595         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
81596         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
81597         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
81598         (defined __STDC__ && __STDC__)]:
81599         Remove nonprototyped code.
81600         Include <stdlib.h> unconditionally.
81601         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
81602         _obstack_allocated_p, _obstack_free, obstack_free,
81603         _obstack_memory_used, print_and_abort):
81604         Define using prototypes.
81605         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
81606         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
81607         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
81608         obstack_next_free, obstack_object_size, obstack_room) [0]:
81609         Remove unused, unprototyped code.
81610
81611         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
81612
81613         * lib/physmem.c (physmem_total, physmem_available, main): Define
81614         with prototypes.
81615
81616         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
81617         (main): Define with a prototype.
81618
81619         * lib/posixver.c (getenv): Remove decl.
81620
81621         * lib/putenv.c (malloc): Returns void *, not char *.
81622         Include <string.h> unconditionally.
81623         (strchr, memcpy, NULL): Do not define.
81624
81625         * lib/readtokens.c: Include readtokens.h first, to test interface.
81626         Include <stdlib.h>, <string.h> unconditionally.
81627         (init_tokenbuffer): Define with a prototype.
81628
81629         * lib/regex.c (PARAMS): Remove.  All uses removed.
81630         All uses of _RE_ARGS removed, too.
81631         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81632         unconditionally.
81633         (bzero): Assume memset exists.
81634         (memcmp, memcpy, NULL): Remove.
81635         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
81636         char, or assignments to local vars of type signed char.
81637         (init_syntax_once, PREFIX(extract_number_and_incr),
81638         PREFIX(print_partial_compiled_pattern),
81639         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
81640         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
81641         PREFIX(regex_grow_registers), PREFIX(regex_compile),
81642         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
81643         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
81644         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
81645         wcs_compile_range, byte_compile_range, truncate_wchar,
81646         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
81647         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
81648         count_mbs_length, wcs_re_match_2_internal,
81649         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
81650         PREFIX(alt_match_null_string_p),
81651         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
81652         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
81653         regfree, PREFIX(extract_number)): Define with prototype.  Remove
81654         now-unnecessary declaration, if any.
81655         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
81656         regcomp, regexec):
81657         Remove now-unnecessary casts among pointer types.
81658         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
81659
81660         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
81661         (free): Remove decl.
81662
81663         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
81664
81665         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
81666         (free): Remove decl.
81667
81668         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
81669         * lib/xgetcwd.c: Likewise.
81670
81671         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
81672         (free): Remove decl.
81673
81674         * lib/strchrnul.c (strchrnul): Define with a prototype.
81675         Fix bug: c_in was not converted to char before searching.
81676
81677         The following changes are not K&R related:
81678
81679         * lib/group-member.h: Include <sys/types.h>, so that this file is
81680         self-contained.
81681         * lib/makepath.h: Likewise.
81682
81683         * lib/getusershell.c (readname, default_index, line_size, readname):
81684         Use size_t, not int, for sizes.
81685         (readname): If the size overflows, report an error instead of
81686         looping forever.
81687
81688 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81689
81690         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
81691         libc.
81692
81693 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81694
81695         * README: New section: portability guidelines.
81696
81697 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81698
81699         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
81700         C89 spec.
81701
81702 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81703
81704         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
81705
81706 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81707
81708         Assume C89 or better; remove K&R cruft.
81709         A few of these changes were first proposed by Derek Robert Price
81710         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
81711
81712         * lib/addext.c: Include <string.h> unconditionally.
81713         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
81714         Don't declare getenv or malloc.
81715
81716         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
81717         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
81718         (NULL): Remove.
81719         (find_stack_direction, alloca): Use prototypes.
81720
81721         * lib/atexit.c (atexit): Define using a prototype.
81722
81723         * lib/basename.c, dirname.c, stripslash.c:
81724         Include <string.h> unconditionally.
81725
81726         * lib/bcopy.c: Include <stddef.h>.
81727         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
81728
81729         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
81730
81731         * lib/error.h (error, error_at_line, error_print_progname)
81732         [! (defined (__STDC__) && __STDC__)]: Remove decls.
81733         * lib/error.c: Include error.h first, to check interface.
81734         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81735         (VA_START): Remove; all uses changeed to va_start.
81736         (exit, strerror): Remove decls.
81737         (error_print_progname): Prototype uncondionally.
81738         Don't include <errno.h>; no longer needed.
81739         (private_strerror): Remove.
81740         (error_tail): Always define.
81741         (error, error_at_line): Assume C89 or better; always use prototypes.
81742         * lib/fatal.c: Include "fatal.h" first, to test interface.
81743         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81744         (VA_START): Remove; all uses changed to va_start.
81745         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
81746         this case.
81747         (exit): Remove decl.
81748         (fatal): Prototype unconditionally.  Assume va_start works.
81749         Abort at end, to pacify gcc.
81750
81751         * lib/euidaccess.c (main): Define with a prototype.
81752
81753         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
81754
81755         * lib/exitfail.c: Include <stdlib.h> unconditionally.
81756
81757         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
81758         prototypes.
81759         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
81760         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
81761         (getenv): Remove decl.
81762         (fnmatch): Define using a prototype.
81763         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
81764         (FCT): Define using a prototype.
81765
81766         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
81767
81768         * lib/gethostname.c: Include <stddef.h>.
81769         (gethostname): Define with prototype.  Length is size_t, not int.
81770
81771 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81772
81773         Assume C89 or better; remove K&R cruft.
81774         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
81775         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
81776         string.h, getenv, malloc.
81777         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
81778         headers.
81779         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
81780         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
81781         do not check for strerror.
81782         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
81783         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
81784         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
81785         do not check for doprnt or vprintf.
81786         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
81787         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
81788
81789 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81790
81791         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
81792         getversion.c should have been removed then, but was accidentally
81793         preserved.
81794
81795         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
81796         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
81797
81798 2003-09-08  Karl Berry  <karl@gnu.org>
81799
81800         * config/config.sub, config.guess, srclistvars.sh: update from savannah
81801                 config, forget about prep.
81802
81803         * config/depcomp, missing: update from automake.
81804
81805 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81806
81807         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
81808         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81809
81810 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81811
81812         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
81813         copy_tm_result.  Bug reported by Simon Josefsson in
81814         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81815
81816 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81817
81818         * m4/time_r.m4: New file.
81819         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
81820         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
81821         is. Check for timegm declaration.
81822         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
81823         Do not check for gmtime_r.
81824         Replace mktime if __mktime_internal does not exist and if mktime
81825         hasn't been replaced already.
81826
81827 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81828
81829         * lib/time_r.c, lib/time_r.h: New files.
81830
81831         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
81832         __localtime_r.
81833         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
81834         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
81835
81836         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
81837         __gmtime_r.
81838         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
81839         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
81840         Include <time_r.h>.
81841
81842         * lib/timegm.c: Switch to glibc implementation, with the following
81843         changes:
81844         [defined HAVE_CONFIG_H]: Include <config.h>.
81845         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
81846         (__mktime_internal) [!defined _LIBC]: New decl.
81847         (__gmtime_r) [!defined _LIBC]: New macro and function.
81848         (timegm): Use a prototype, since gnulib assumes C89.
81849         Do not bother declaring tmp to be const, as it's not really usefu.
81850         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
81851         (timegm): Declare only if HAVE_DECL_TIMEGM.
81852
81853 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81854
81855         * MODULES.html.sh (func_all_modules): Add time_r.
81856         * modules/time_r: New file.
81857         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
81858         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
81859
81860 2003-09-03  Paul Eggert  <eggert@twinsun.com>
81861
81862         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
81863         Bug reported by Lute Kamstra in
81864         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
81865
81866         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
81867         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
81868         course with correspondingly smaller numbers for tomorrow and
81869         yesterday.  From Tadayoshi Funaba.  Originally installed into
81870         sh-utils on 1999-08-07, but the patch got lost (I guess during the
81871         coreutils merge?).
81872
81873 2003-08-31  Simon Josefsson  <jas@extundo.com>
81874
81875         * modules/timegm: New file.
81876         * MODULES.html.sh (func_all_modules): Add timegm.
81877
81878 2003-08-31  Simon Josefsson  <jas@extundo.com>
81879
81880         * m4/timegm.m4: New file.
81881
81882 2003-08-31  Simon Josefsson  <jas@extundo.com>
81883
81884         * lib/timegm.h: New file.
81885         * lib/timegm.c: New file.  Based on
81886         wget-1.8.2/src/http.c:mktime_from_utc.
81887
81888 2003-08-31  Karl Berry  <karl@gnu.org>
81889
81890         * lib/argp.h: update from libc.
81891
81892 2003-08-28  Bruno Haible  <bruno@clisp.org>
81893
81894         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
81895         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
81896         followed by '#define fnmatch fnmatch_posix' gives an error.
81897
81898 2003-08-28  Bruno Haible  <bruno@clisp.org>
81899
81900         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
81901         warning on QNX, which defines O_BINARY to 000000.
81902
81903 2003-08-27  Jim Meyering  <jim@meyering.net>
81904
81905         * m4/mkstemp.m4: Require that the system mkstemp be able to create
81906         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
81907         would fail after 32.  Reported by Danny Levinson.  Details here:
81908         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
81909
81910 2003-08-24  Bruno Haible  <bruno@clisp.org>
81911
81912         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
81913         MSVC7 <stdio.h> is included later.
81914
81915 2003-08-22  Simon Josefsson  <jas@extundo.com>
81916
81917         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
81918
81919 2003-08-20  Karl Berry  <karl@gnu.org>
81920
81921         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
81922
81923 2003-08-20  Bruno Haible  <bruno@clisp.org>
81924
81925         * modules/progname: New file.
81926         * MODULES.html.sh (func_all_modules): Add progname.
81927
81928 2003-08-20  Bruno Haible  <bruno@clisp.org>
81929
81930         * lib/progname.h: New file, from GNU gettext.
81931         * lib/progname.c: New file, from GNU gettext.
81932         * lib/progreloc.c: New file, from GNU gettext.
81933
81934 2003-08-19  Jim Meyering  <jim@meyering.net>
81935
81936         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
81937         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
81938
81939 2003-08-19  Bruno Haible  <bruno@clisp.org>
81940
81941         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
81942         more.
81943
81944 2003-08-19  Bruno Haible  <bruno@clisp.org>
81945
81946         * lib/xstrdup.c: Assume <string.h> exists.
81947
81948 2003-08-18  Paul Eggert  <eggert@twinsun.com>
81949
81950         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
81951         in makefile rules.
81952
81953 2003-08-18  Jim Meyering  <jim@meyering.net>
81954
81955         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
81956         * m4/lib-ld.m4: Likewise.
81957
81958 2003-08-18  Jim Meyering  <jim@meyering.net>
81959
81960         * lib/setenv.h: Indent nested cpp directive.
81961         * lib/vasnprintf.c: Remove trailing blanks.
81962
81963 2003-08-17  Simon Josefsson  <jas@extundo.com>
81964
81965         * modules/xstrndup: New file.
81966         * MODULES.html.sh (func_all_modules): Add xstrndup.
81967
81968 2003-08-17  Simon Josefsson  <jas@extundo.com>
81969
81970         * modules/argp: Fix autoconf macro name. Add more dependencies.
81971
81972 2003-08-17  Simon Josefsson  <jas@extundo.com>
81973
81974         * m4/xstrndup.m4: New file.
81975
81976 2003-08-17  Simon Josefsson  <jas@extundo.com>
81977
81978         * m4/argp.m4: New file.
81979
81980 2003-08-17  Simon Josefsson  <jas@extundo.com>
81981             Bruno Haible  <bruno@clisp.org>
81982
81983         * lib/xstrndup.h: New file.
81984         * lib/xstrndup.c: New file.
81985
81986 2003-08-17  Bruno Haible  <bruno@clisp.org>
81987
81988         * modules/strndup (Files, Include): Add lib/strndup.h.
81989
81990 2003-08-17  Bruno Haible  <bruno@clisp.org>
81991
81992         * modules/euidaccess (Files): Add lib/euidaccess.h.
81993
81994 2003-08-17  Bruno Haible  <bruno@clisp.org>
81995
81996         * lib/strndup.h: New file.
81997
81998 2003-08-17  Bruno Haible  <bruno@clisp.org>
81999
82000         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
82001         like AC_GNU_SOURCE.
82002         * modules/extensions (configure.ac): Comment out the invocation of
82003         gl_USE_SYSTEM_EXTENSIONS.
82004
82005 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82006
82007         Merges from coreutils, etc.
82008         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
82009         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
82010         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
82011         fixing a typo.
82012         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
82013         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
82014
82015 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82016
82017         Document merge from coreutils.
82018         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
82019         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
82020         * modules/utime: Add m4/utimes-null.m4.
82021
82022 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82023
82024         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
82025         space, undoing this 2003-08-12 change:
82026         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82027
82028 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82029
82030         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
82031         strtoul.c from libc, undoing this 2003-08-12 change:
82032         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82033
82034 2003-08-16  Jim Meyering  <jim@meyering.net>
82035
82036         Merges from coreutils.
82037         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
82038         prefix.  Adjust cache variables similarly.  Create 500 rather than
82039         just 300 files, to exercise bug on Darwin6.5, too.
82040         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
82041         $missing_dir.
82042         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
82043         AM_SYS_POSIX_TERMIOS.
82044         Reported by mkc@mathdogs.com.
82045         Also change use of $am_cv_sys_posix_termios
82046         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
82047         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
82048         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
82049         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
82050         in /proc/mounts until it finds one with matching device number.  This
82051         is unnecessary when the FILE argument *is* a mount point.  No stat call
82052         is necessary in that case.  So, disable the statvfs-testing code on
82053         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
82054         as RedHat bug# 84846.
82055         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82056         to 1MB, so as not to render systems with no stack size limit (e.g.,
82057         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82058         Include <unistd.h>.  On some systems,
82059         it is required for the definition of _SC_PAGESIZE.
82060
82061 2003-08-16  Jim Meyering  <jim@meyering.net>
82062
82063         Merge from coreutils.
82064         * lib/xstrtoimax.c: #else #if -> #elif.
82065         * lib/xstrtoumax.c: Likewise.
82066
82067 2003-08-16  Jim Meyering  <jim@meyering.net>
82068
82069         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
82070         * m4/utimes.m4: Removed.
82071         * m4/utimes-null.m4: Renamed from utimes.m4.
82072
82073         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82074         to 1MB, so as not to render systems with no stack size limit (e.g.,
82075         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82076         Include <unistd.h>.  On some systems,
82077         it is required for the definition of _SC_PAGESIZE.
82078
82079 2003-08-16  Jim Meyering  <jim@meyering.net>
82080         and Paul Eggert  <eggert@cs.ucla.edu>
82081
82082         Merges from coreutils, etc.
82083
82084         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
82085         using the latest version from cvs.  This avoids problems with #line
82086         directives using a vendor (Sun) compiler.
82087         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
82088         Don't set GETGROUPS_LIB here; now it's
82089         done via getgroups.m4's wrapper function.
82090         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
82091         rather than just in sh-util/configure.in, so that the
82092         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
82093         same.
82094         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
82095         AC_FUNC_GETLOADAVG where to find getloadavg.c.
82096         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
82097         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
82098         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
82099         Remove code that is now done by the newly-required macros.
82100         Append $(EXEEXT) to DF_PROG.
82101         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
82102         Do not invoke or require the following here,
82103         since prereq.m4 or some gnulib .m4 now does this for us:
82104         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
82105         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
82106         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
82107         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
82108         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
82109         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
82110         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
82111         AC_FUNC_OBSTACK.
82112         Do not replace the following functions, as this is now the job
82113         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
82114         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
82115         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
82116         atexit getpass, strdup, getpagesize.
82117         Replace 'raise'.
82118         Do not check for the following functions, as this is now the job
82119         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
82120         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
82121         setregid.
82122         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
82123         Check for sys/sysctl.h.
82124         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
82125         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
82126         of checking for ssize_t ourselves.
82127
82128         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
82129         Require every macro that gnulib/modules/* suggests for us.
82130         (jm_PREREQ_ADDEXT): New macro.
82131         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
82132         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
82133
82134         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
82135         (gl_PHYSMEM): Use it.
82136         Also check for `table' function.
82137         Check for new headers and functions.
82138         Add check for sys/sysmp.h.
82139         With suggestions from Kaveh Ghazi.
82140         Ignore headers that are present but cannot be compiled.  This
82141         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
82142         C 5.4.
82143
82144 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82145
82146         Document merge from coreutils.
82147         * modules/userspec: Depend on posixver.
82148         * modules/strftime: Depend on tzset.
82149
82150 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82151
82152         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
82153         rather than tab, after '#' in shell-script copyright notices.
82154         Suggested by Bruno Haible.
82155
82156 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82157
82158         * config/srclist-update: Use three spaces, rather than tab, after '#'
82159         in shell-script copyright notices.  Suggested by Bruno Haible.
82160         Remove unnecessary parenthesization in regular expression.
82161
82162 2003-08-15  Jim Meyering  <jim@meyering.net>
82163
82164         Merge from coreutils.
82165         * lib/xgethostname.c: Include <stdlib.h>.
82166         (xghostname): Don't exit for anything other than memory-related
82167         failure; just return NULL.
82168         * lib/userspec.c: Include "posixver.h".
82169         (parse_user_spec): Accept `.' as a separator only
82170         in pre-POSIX-200112 mode.
82171         * lib/strtoimax.c: Use #elif rather than #else #if.
82172         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
82173         Remove function, now that we can rely on a working tzset function.
82174         [!_LIBC]: Ensure that the required autoconf test has been run.
82175         [!defined _NL_CURRENT && HAVE_STRFTIME]:
82176         Use underlying_strftime for %r.
82177         * lib/sha.c: Merge in some clean-up and optimization changes from
82178         glibc.
82179         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
82180         Ensure that it is a multiple of 64.
82181         Rearrange loop exit tests so as to avoid performing an
82182         additional fread after encountering an error or EOF.
82183         * lib/realloc.c: Update copyright date.
82184
82185 2003-08-15  Jim Meyering  <jim@meyering.net>
82186         and Paul Eggert  <eggert@twinsun.com>
82187
82188         Merge from coreutils.
82189         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
82190         member but strut utmpx does not.  Needed for AIX 4.3.3.
82191         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
82192
82193 2003-08-15  Jim Meyering  <jim@meyering.net>
82194         and Paul Eggert  <eggert@cs.ucla.edu>
82195
82196         Merges from coreutils, etc.
82197         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
82198         Require gl_FUNC_TZSET_CLOBBER.
82199         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
82200         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
82201         members.
82202
82203 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82204
82205         Help the merge from coreutils.
82206         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
82207         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
82208         * m4/tzset.m4: Use it too.
82209
82210 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82211
82212         * modules/tzset: New file.
82213
82214 2003-08-14  Jim Meyering  <jim@meyering.net>
82215
82216         Merges from coreutils.
82217         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
82218         variable names, rather than @FNMATCH_H@.
82219         * modules/alloca: Likewise for $(ALLOCA_H).
82220
82221         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
82222         the three copies of the literal target, `fnmatch.h'.
82223         * modules/alloca (alloca.h): Likewise.
82224
82225 2003-08-14  Jim Meyering  <jim@meyering.net>
82226
82227         Merge from coreutils.
82228         * m4/tzset.m4: New file.
82229         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
82230         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
82231         otherwise, AIX 5.1 systems would end up using the latter.
82232         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
82233         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
82234         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
82235         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
82236
82237 2003-08-14  Jim Meyering  <jim@meyering.net>
82238
82239         Merge from coreutils.
82240         * lib/obstack.h: Whitespace changes.
82241         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
82242         and xcalloc return values.
82243         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
82244         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
82245         hang on OSF/1 5.1 for DIR on both local and remote file systems.
82246         Reported by (and fix confirmed by) Nelson H. F. Beebe.
82247         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
82248         error from mntctl.
82249         Use mntctl's return value to drive the entry-processing loop, since
82250         we can't rely on the value of the vmt_length member in the last
82251         entry.  On some systems doing so could result in exhausting
82252         virtual memory.  Based in part on a patch from Mike Jetzer.
82253
82254 2003-08-14  Jim Meyering  <jim@meyering.net>
82255         and Paul Eggert  <eggert@twinsun.com>
82256
82257         Merges from coreutils, plus other fixes.
82258         * lib/physmem.c: Merge in portability changes from gcc/libiberty
82259         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
82260         for credits and details.  Thanks to Kaveh Ghazi for helping
82261         to keep these files in sync.
82262         (ARRAY_SIZE): Define it.
82263         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
82264         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
82265         (memcasecmp): Don't assume size_t fits in unsigned int.
82266         Remove casts and duplicate code.
82267         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
82268         (memcpy): Remove definition.
82269         Merge in some clean-up and optimization changes from glibc.
82270         [BLOCKSIZE]: Move definition to top of file.
82271         Ensure that it is a multiple of 64.
82272         Rearrange loop exit tests so as to avoid performing an
82273         additional fread after encountering an error or EOF.
82274         * lib/md5.h (md5_uintptr): Define.
82275         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
82276         return to the initial working directory.  Preserve errno
82277         for caller.
82278         * lib/idcache.c: Include "xalloc.h".
82279         (xmalloc, xrealloc): Remove decls.
82280         (getuser): Remove casts no longer required in C89.
82281         * lib/human.c: Include stdio.h, for sprintf.
82282         * lib/group-member.c: Include "xalloc.h".
82283         (xmalloc, xrealloc): Remove decls.
82284         (get_group_info): Remove casts no longer required in C89.
82285         * lib/getusershell.c (readname): Remove casts no longer required in
82286         C89.
82287         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
82288         * lib/getline.c: Whitespace fix, from coreutils.
82289
82290 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82291
82292         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
82293         Check for isascii.
82294
82295         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82296         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82297         Undo previous (whitespace-only) change.
82298
82299 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82300
82301         * lib/exclude.c: Include <ctype.h>
82302         (IN_CTYPE_DOMAIN): New macro.
82303         (is_space): New fn.
82304         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
82305         and empty lines.
82306
82307         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82308         Undo previous (whitespace-only) change.
82309
82310 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82311
82312         * config/srclist-update: Change update back to the old behavior,
82313         leaving whitespace alone.  Use one 'sed' command rather than a
82314         pipeline.
82315         (fixlicense): Now a variable, not a function.
82316         (remove_trailing_blanks): Remove.
82317         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
82318         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82319         Undo previous (whitespace-only) change.
82320
82321 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82322
82323         Merge from coreutils.
82324         * modules/euidaccess: Add lib_SOURCES, include for new
82325         file euidaccess.h
82326
82327 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82328
82329         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82330         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82331         Normalize leading white space and remove trailing white space.
82332
82333         Merge from coreutils
82334         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
82335
82336         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
82337         0.12.1.  These files are now being upgraded automatically by
82338         ../config/srclist-update.
82339
82340 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82341
82342         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82343         Normalize leading white space and remove trailing white space.
82344         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
82345         notice, as per ../config/srclist-update.
82346
82347         Merge from coreutils.
82348         * lib/euidaccess.h: New file.
82349         * lib/euidaccess.c: Include it.
82350         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
82351         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
82352         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
82353
82354 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82355
82356         * config/srclist-update: Add copyright notice.
82357         (remove_id_lines, remove_trailing_blanks): New constants.
82358         (fixfile): Use them to normalize spacing a bit in copied files.
82359         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82360         Normalize leading white space and remove trailing white space.
82361
82362         * config/texinfo.tex: Sync with texinfo.
82363
82364         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
82365         strtoul.c from libc, to merge coreutils whitespace changes.
82366
82367         * config/srclist.txt: Get the following m4 files from gettext:
82368         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
82369         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
82370         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
82371         wint_t.m4.
82372
82373 2003-08-12  Karl Berry  <karl@gnu.org>
82374
82375         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
82376         been made.
82377
82378 2003-08-11  Paul Eggert  <eggert@twinsun.com>
82379
82380         * modules/gnu-source, m4/gnu-source.m4:
82381         Remove; we're assuming Autoconf 2.54 or later now.
82382         Suggested by Bruno Haible.
82383         * MODULES.html.sh (func_all_modules): Remove gnu-source.
82384
82385 2003-08-11  Bruno Haible  <bruno@clisp.org>
82386
82387         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
82388
82389 2003-08-11  Bruno Haible  <bruno@clisp.org>
82390
82391         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
82392         (vasnprintf): Use it instead of wcslen.
82393
82394 2003-08-11  Bruno Haible  <bruno@clisp.org>
82395
82396         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
82397         value to ensure that _Bool promotes to int. Use #define for _Bool when
82398         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
82399
82400 2003-08-10  Karl Berry  <karl@gnu.org>
82401
82402         * lib/regex.h: update from libc (whitespace fix).
82403
82404 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82405
82406         Merge some files from coreutils.  These changes were
82407         originally made by Jim Meyering.
82408         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
82409         many older Unixes require this.
82410         * lib/alloca.c (alloca): Remove cast to argument of free;
82411         no longer needed in C89.
82412         * lib/alloca_.h, regex.h: Fix white space to match
82413         what GNU indent does.
82414
82415 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82416
82417         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
82418         apparently Emacs's Unicode mode got confused before my 2003-08-05
82419         checkin.
82420
82421 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82422
82423         * m4/extensions.m4: New file.
82424         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
82425         Require gl_USE_SYSTEM_EXTENSIONS.
82426         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
82427         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
82428
82429 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82430
82431         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
82432         * modules/extensions, modules/gnu-source: New files.
82433         * modules/timespec, modules/unlocked-io: Depend on extensions.
82434
82435 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82436
82437         * modules/restrict: New file.
82438         * MODULES.html.sh (func_all_modules): Add restrict.
82439         * modules/regex: Depend on restrict.
82440
82441 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82442
82443         * m4/restrict.m4: New file.
82444         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
82445
82446 2003-08-07  Bruno Haible  <bruno@clisp.org>
82447
82448         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
82449         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
82450
82451 2003-08-07  Bruno Haible  <bruno@clisp.org>
82452
82453         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
82454         makes the module 'getndelim2' compatible with the module 'getline'.
82455
82456 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82457
82458         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
82459         byte with "\201" to avoid glitches when editing that source file
82460         with multi-gnome-terminal.
82461
82462 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82463
82464         * lib/bumpalloc.h: Remove.
82465
82466 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82467
82468         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82469         * modules/bumpalloc: Remove.
82470
82471 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82472
82473         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82474         GNU coding style.
82475
82476         Merge from coreutils.
82477         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82478         1. From glibc.
82479         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82480         from Karl Berry, implemented by Jim Meyering.
82481         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82482         from Dmitry V. Levin.
82483         Remove anachronistic cast of xrealloc.
82484         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82485         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82486         type. Otherwise, it wouldn't compile with at least /bin/cc on
82487         ymp-cray-unicos9.0.2.X.
82488         Combine two mostly-identical uses of alloca into one.
82489         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82490
82491 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82492
82493         [From Emacs.]
82494
82495         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82496         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82497         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82498         obsolete NLIST_NAME_UNION.
82499         [__GNU__]: Undef BSD and FSCALE.
82500         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82501
82502 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82503
82504         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82505         an enum type, so that it's guaranteed to promote to int.  See:
82506         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82507
82508 2003-08-03  Karl Berry  <karl@gnu.org>
82509
82510         * config/depcomp: update from automake.
82511
82512 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82513
82514         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82515         (strerror): Don't assume that a printable int fits in 14 bytes.
82516
82517 2003-07-31  Bruno Haible  <bruno@clisp.org>
82518
82519         * modules/getpass-gnu: New file.
82520         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82521
82522 2003-07-31  Bruno Haible  <bruno@clisp.org>
82523
82524         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
82525
82526 2003-07-24  Karl Berry  <karl@gnu.org>
82527
82528         * config/missing: update from automake.
82529
82530 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
82531             Bruno Haible  <bruno@clisp.org>
82532
82533         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
82534         * lib/getline.c (getline, getdelim): Likewise.
82535         Remove _GNU_SOURCE define; now it's defined in config.h through
82536         m4/getline.m4.
82537
82538 2003-07-23  Karl Berry  <karl@gnu.org>
82539
82540         * config/config.sub: update from prep.
82541
82542 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82543
82544         * modules/xalloc (Depends-on): Add exitfail.
82545         * modules/xmemcoll: Likewise.
82546
82547 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82548
82549         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
82550         over-parenthesization in macros.
82551
82552         Sync with coreutils.
82553
82554         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
82555         required by C99.
82556
82557         Use `exit_failure' for xalloc and xmemcoll instead of their own
82558         private exit-failure variables.
82559         * lib/xalloc.h (xalloc_exit_failure): Remove.
82560         * lib/xmalloc.c: Likewise.  Include exitfail.h.
82561         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
82562         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
82563         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
82564         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
82565
82566 2003-07-20  Jim Meyering  <jim@meyering.net>
82567
82568         * modules/closeout (Depends-on): Add exitfail.
82569         Suggestion from Bruno Haible.
82570
82571 2003-07-19  Karl Berry  <karl@gnu.org>
82572
82573         * config/config.sub: update from prep.
82574
82575 2003-07-18  Paul Eggert  <eggert@twinsun.com>
82576
82577         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
82578         Remove.
82579         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
82580         to test that it can stand by itself.  Include "exitfail.h".
82581         Clients should set exit_failure instead.
82582         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
82583
82584 2003-07-18  Bruno Haible  <bruno@clisp.org>
82585
82586         * modules/getndelim2: New file.
82587         * modules/getline: Share files with module getndelim2.
82588         * modules/getnline: Depend on getndelim2 instead of sharing files with
82589         it. Add getnline.c to lib_SOURCES.
82590         * MODULES.html.sh (func_all_modules): Add getndelim2.
82591
82592 2003-07-18  Bruno Haible  <bruno@clisp.org>
82593
82594         * m4/getndelim2.m4: New file.
82595         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
82596         invoke gl_PREREQ_GETNDELIM2.
82597         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
82598         gl_PREREQ_GETNDELIM2.
82599         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
82600         gl_GETNDELIM2.
82601
82602 2003-07-18  Bruno Haible  <bruno@clisp.org>
82603
82604         * lib/getndelim2.h: New file.
82605         * lib/getndelim2.c: Make into a module of its own. Include config.h,
82606         getndelim2.h.
82607         (getndelim2): Make non-static. Change return type to ssize_t.
82608         * lib/getline.h: Change argument names.
82609         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
82610         * lib/getnline.c: Include getndelim2.h.
82611
82612 2003-07-18  Andreas Schwab  <schwab@suse.de>
82613
82614         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
82615
82616 2003-07-17  Karl Berry  <karl@gnu.org>
82617
82618         * config/config.sub: update from prep.
82619
82620 2003-07-17  Bruno Haible  <bruno@clisp.org>
82621
82622         * modules/getnline: New file.
82623         * modules/getline: Add lib/getndelim2.c to source file list.
82624         * MODULES.html.sh (func_all_modules): Add getnline.
82625
82626 2003-07-17  Bruno Haible  <bruno@clisp.org>
82627
82628         * m4/getnline.m4: New file.
82629
82630 2003-07-17  Bruno Haible  <bruno@clisp.org>
82631
82632         * m4/Makefile.am.in: Remove file.
82633         * m4/Makefile.am: Remove file.
82634         * m4/Makefile.in: Remove file.
82635
82636 2003-07-17  Bruno Haible  <bruno@clisp.org>
82637
82638         * lib/getnline.h: New file.
82639         * lib/getnline.c: New file.
82640         * lib/getndelim2.c: New file, extracted from getline.c.
82641         (getndelim2): Renamed from getdelim2, with added nmax argument.
82642         * lib/getline.c: Include getndelim2.c.
82643         (getdelim2): Moved out to getndelim2.c.
82644         (getline, getdelim): Update.
82645
82646 2003-07-17  Bruno Haible  <bruno@clisp.org>
82647
82648         * lib/Makefile.am: Remove file.
82649         * lib/Makefile.in: Remove file.
82650
82651 2003-07-17  Bruno Haible  <bruno@clisp.org>
82652
82653         * configure.in: Remove file.
82654         * Makefile.in: Remove file.
82655
82656 2003-07-17  Bruno Haible  <bruno@clisp.org>
82657
82658         * MODULES.html.sh: Put the </BODY> right before </HTML>.
82659
82660 2003-07-16  Karl Berry  <karl@gnu.org>
82661
82662         * config/srclist-update: was running fixlicense twice, which caused
82663                 texinfo.tex to be nullified for some reason.  Simplify,
82664                 $gplsrc is no longer needed as far as I can see?
82665
82666 2003-07-16  Jim Meyering  <jim@meyering.net>
82667
82668         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
82669
82670 2003-07-15  Paul Eggert  <eggert@twinsun.com>
82671
82672         * config/srclist.txt: Get the following files from gettext-runtime/intl
82673         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
82674         ref-del.sin.  From Bruno Haible.
82675         * config/srclist-update (fixfile): Change grep pattern again, since the
82676         previous fix didn't work (there was another trailing $).  Use
82677         '[$]' to escape the $s.
82678
82679 2003-07-15  Karl Berry  <karl@gnu.org>
82680
82681         * lib/vasnprintf.c: update from gettext.
82682
82683 2003-07-15  Karl Berry  <karl@gnu.org>
82684
82685         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
82686         gets expanded when surrounded by '$'.
82687
82688 2003-07-15  Jim Meyering  <jim@meyering.net>
82689
82690         * modules/save-cwd: Don't depend on error.  From Derek Price.
82691
82692 2003-07-15  Jim Meyering  <jim@meyering.net>
82693
82694         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
82695
82696 2003-07-14  Simon Josefsson  <jas@extundo.com>
82697
82698         * modules/mempcpy: New file.
82699         * MODULES.html.sh (func_all_modules): Add mempcpy.
82700
82701 2003-07-14  Simon Josefsson  <jas@extundo.com>
82702
82703         * m4/mempcpy.m4: New file.
82704
82705 2003-07-14  Simon Josefsson  <jas@extundo.com>
82706
82707         * lib/mempcpy.h: New file.
82708         * lib/mempcpy.c: New file.
82709
82710 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82711
82712         * modules/getdate, modules/posixtm: Depend on mktime.
82713
82714 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82715
82716         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
82717         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
82718         unicodeio.c, unicodeio.h, unlocked-io.h:
82719         Switch from LGPL to GPL.
82720
82721 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82722
82723         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
82724         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
82725         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
82726         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
82727         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
82728         updated automatically by ../config/srclist-update.  This changes
82729         their license from LPGL to GPL.
82730
82731 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82732
82733         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
82734         assumed to refer to the root of the most recent stable gettext version.
82735         * config/srclistvars.sh: Add defaults for eggert.
82736         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
82737         Match "This program" as well as "The program".  This is needed
82738         for gettext.
82739
82740 2003-07-14  Jim Meyering  <jim@meyering.net>
82741
82742         Don't emit diagnostics.  Let callers do that.
82743         * lib/save-cwd.c: Don't include "error.h".
82744         (save_cwd): Don't call error.  Ensure that errno is valid
82745         when returning nonzero.
82746
82747         * lib/save-cwd.h (restore_cwd): Update prototype.
82748         * lib/save-cwd.c (restore_cwd): Remove two parameters.
82749         Simplify.  Don't call error upon failure.  Let callers do that.
82750         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
82751         when auditing is enabled.  But don't bother updating the #if.
82752
82753 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
82754
82755         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
82756         it breaks C++ compilation.
82757         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
82758
82759 2003-07-10  Simon Josefsson  <jas@extundo.com>
82760
82761         * modules/strchrnul (Makefile.am): Add strchrnul.h.
82762
82763 2003-07-10  Jim Meyering  <jim@meyering.net>
82764
82765         * m4/clock_time.m4: Remove trailing blank.
82766         * m4/intmax_t.m4: Likewise.
82767
82768 2003-07-10  Jim Meyering  <jim@meyering.net>
82769
82770         * lib/vasnprintf.c: Remove trailing blanks.
82771         Make cpp indentation consistent.
82772
82773 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82774
82775         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
82776         posixver.c, strftime.c, strnlen.c, strverscmp.c:
82777         Switch from LGPL to GPL.
82778
82779 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82780
82781         * config/srclist.txt: Sort sublists.  Add
82782         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
82783         that differ from gnulib for one reason or another; we'd like this list
82784         to be smaller but for now let's document what we have.
82785
82786 2003-07-08  Paul Eggert  <eggert@twinsun.com>
82787
82788         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
82789         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
82790         and sweeter "eval x=$x".
82791         * config/srclist.txt: Get lib/argp* from glibc.
82792
82793 2003-07-07  Paul Eggert  <eggert@twinsun.com>
82794
82795         * lib/mktime.c: Fix some boundary cases and remove need for floating
82796         point.
82797
82798         Issue a compile-time diagnostic if time_t is floating point, or if
82799         two's complement arithmetic is not in effect, or if arithmetic
82800         right shift does not propagate the sign.  These assumptions were
82801         all in the original code but they weren't checked.
82802
82803         (TIME_T_MIDPOINT, verify): New macros.
82804         (__isleap): Remove; it has integer overflow problems.
82805         (leapyear): New function, without those problems.
82806         (ydhms_tm_diff): Remove; splitting into two parts.
82807         (ydhms_diff): New function, containing the arithmetic part of
82808         the old ydhms_tm_diff function.  Issue a compile-time
82809         diagnostic if we are not using C99 integer division.
82810         Avoid casts when possible.
82811         (guess_time_tm): New function, containing the checking part of
82812         the old ydhms_tm_diff function.  Return the new value, rather than
82813         the difference between it and the old.  Accept a new argument T
82814         so that *T specifies the old value.  Check for overflow in the result.
82815
82816         (__mktime_internal): Use a time_t offset, not a long int offset.
82817         This undoes the 2003-06-04 change, which is no longer needed now
82818         that we have better overflow checking.
82819         (localtime_offset): Likewise.
82820
82821         (__mktime_internal): Avoid harmful overflow on hosts where time_t
82822         and long are 64-bit but int is only 32-bit.
82823         (ydhms_diff): Use long int to store year1 and yday1.
82824         Issue a compile-time diagnostic if long int is not wide enough.
82825
82826         (__mktime_internal): Use long int to store adjusted year and yday.
82827         Use plain C rather than preprocessor commands, if that doesn't
82828         affect efficiency.
82829         Check for overflow (and try to repair) after each probe
82830         rather than checking only at the very end.  This avoids some bugs
82831         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
82832         does not equal GMT offset at maximum time).
82833         Use integer to check for overflow rather than floating point; this
82834         is more portable to non-IEEE hosts, and is a tad faster.
82835         When we detect that we are oscillating between two values,
82836         don't check whether tm_isdst has the requested value, since
82837         we already know the answer.  When tm_isdst has the wrong value,
82838         use a different heuristic to find the right one, based on the
82839         extreme values actually observed in practice in tz2003a,
82840         rather than the (overly optimistic) "previous 3 calendar quarters".
82841
82842         (not_equal_tm, print_tm, check_result): Use "const T" rather than
82843         "T const" to accommodate glibc style.
82844         (check_result): Use less-confusing report format.  "long" -> "long int.
82845         (main): Likewise.
82846         Don't loop if the iteration overflows time_t.
82847         Allow a negative step in the iteration.
82848
82849 2003-07-06  Karl Berry  <karl@gnu.org>
82850
82851         * config/depcomp: update from automake.
82852         * config/config.sub: update from prep.
82853
82854 2003-07-03  Karl Berry  <karl@gnu.org>
82855
82856         * config/config.guess: update from prep.
82857
82858 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82859
82860         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
82861         xreadlink.c now includes it unconditionally.
82862
82863 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82864
82865         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
82866         having it depend on HAVE_SYS_TYPES_H.
82867
82868 2003-07-01  Bruno Haible  <bruno@clisp.org>
82869
82870         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
82871         <sys/types.h> should be sufficient.
82872         Reported by Paul Eggert.
82873
82874 2003-06-26  Karl Berry  <karl@gnu.org>
82875
82876         * config/depcomp: update from automake.
82877
82878 2003-06-26  Bruno Haible  <bruno@clisp.org>
82879
82880         * modules/human: Depend on module stdbool.
82881
82882 2003-06-25  Bruno Haible  <bruno@clisp.org>
82883
82884         * modules/readlink: New file.
82885         * modules/xreadlink: Depend on it.
82886         * MODULES.html.sh (func_all_modules): Add readlink.
82887
82888 2003-06-25  Bruno Haible  <bruno@clisp.org>
82889
82890         * m4/readlink.m4: New file.
82891
82892 2003-06-25  Bruno Haible  <bruno@clisp.org>
82893
82894         * lib/readlink.c: New file.
82895
82896 2003-06-22  Karl Berry  <karl@gnu.org>
82897
82898         * config/srclist.txt: update mkinstalldirs from automake.
82899         * config/mkinstalldirs: update.
82900
82901 2003-06-22  Bruno Haible  <bruno@clisp.org>
82902
82903         Portability to mingw32.
82904         * m4/ssize_t.m4: New file, from GNU gettext.
82905         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
82906         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
82907
82908 2003-06-22  Bruno Haible  <bruno@clisp.org>
82909
82910         * modules/safe-read: Add m4/ssize_t.m4.
82911         * modules/xreadlink: Add m4/ssize_t.m4.
82912
82913 2003-06-20  Bruno Haible  <bruno@clisp.org>
82914
82915         Assume C89, so PARAMS isn't needed.
82916         * lib/unicodeio.h (PARAMS): Remove.
82917         * lib/unicodeio.c: Don't use PARAMS.
82918
82919 2003-06-18  Karl Berry  <karl@gnu.org>
82920
82921         * config/config.{guess,sub}: update from prep.
82922
82923 2003-06-18  Jim Meyering  <jim@meyering.net>
82924
82925         Merge changes from coreutils.
82926         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
82927         Remove explicit declarations of xmalloc and realloc.
82928         Include xalloc.h.
82929         (read_utmp): Remove anachronistic cast of xmalloc.
82930
82931 2003-06-17  Paul Eggert  <eggert@twinsun.com>
82932
82933         Assume C89, so PARAMS isn't needed.
82934         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
82935         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
82936         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
82937         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
82938         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
82939         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
82940         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
82941         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
82942         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
82943         lib/xstrtod.h, lib/xstrtol.h: Likewise.
82944         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
82945         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
82946         no longer needed. Anyway, config.h should always be included before any
82947         other file.
82948
82949 2003-06-11  Simon Josefsson  <jas@extundo.com>
82950
82951         * modules/sysexits: New file.
82952         * MODULES.html.sh (func_all_modules): Add sysexits.
82953
82954 2003-06-11  Simon Josefsson  <jas@extundo.com>
82955
82956         * lib/sysexit_.h: New file.
82957
82958 2003-06-11  Derek Price  <derek@ximbiot.com>
82959
82960         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
82961         necessary.
82962
82963 2003-06-11  Bruno Haible  <bruno@clisp.org>
82964
82965         * m4/sysexits.m4: New file.
82966
82967 2003-06-10  Simon Josefsson  <jas@extundo.com>
82968
82969         * lib/argp.h: New file, from glibc.
82970         * lib/argp-ba.c: New file, from glibc.
82971         * lib/argp-eexst.c: New file, from glibc.
82972         * lib/argp-fmtstream.c: New file, from glibc.
82973         * lib/argp-fmtstream.h: New file, from glibc.
82974         * lib/argp-fs-xinl.c: New file, from glibc.
82975         * lib/argp-help.c: New file, from glibc.
82976         * lib/argp-namefrob.h: New file, from glibc.
82977         * lib/argp-parse.c: New file, from glibc.
82978         * lib/argp-pv.c: New file, from glibc.
82979         * lib/argp-pvh.c: New file, from glibc.
82980         * lib/argp-xinl.c: New file, from glibc.
82981
82982 2003-06-10  Simon Josefsson  <jas@extundo.com>
82983
82984         * modules/strchrnul: New file.
82985
82986 2003-06-10  Simon Josefsson  <jas@extundo.com>
82987
82988         * modules/argp: New file.
82989
82990 2003-06-10  Simon Josefsson  <jas@extundo.com>
82991
82992         * m4/strchrnul.m4: New file.
82993
82994 2003-06-10  Simon Josefsson  <jas@extundo.com>
82995
82996         * lib/strchrnul.h: New file.
82997         * lib/strchrnul.c: New file.
82998
82999 2003-06-10  Bruno Haible  <bruno@clisp.org>
83000
83001         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
83002
83003 2003-06-07  Karl Berry  <karl@gnu.org>
83004
83005         * config/config.{guess,sub}: update from prep.
83006
83007 2003-06-07  Jim Meyering  <jim@meyering.net>
83008
83009         * modules/strtod: Use $(...) notation, not @...@ for
83010         AC_REPLACE'd variables.
83011         * modules/localcharset: Likewise.
83012
83013 2003-06-07  Jim Meyering  <jim@meyering.net>
83014
83015         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
83016         in place of my name in the copyright comment.
83017         Remove definition and uses of __P.
83018
83019         From coreutils.
83020         * lib/stat.c: Don't declare xmalloc explicitly.
83021         Instead, include "xalloc.h".
83022         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
83023         xrealloc, and xcalloc return values.
83024         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
83025         Improve comment.
83026         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
83027
83028 2003-06-07  Bruno Haible  <bruno@clisp.org>
83029
83030         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
83031         avoid AC_CONFIG_LINKS.
83032         * modules/fnmatch (Makefile.am): Use explicit creation rule for
83033         fnmatch.h, to avoid AC_CONFIG_LINKS.
83034         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
83035
83036 2003-06-07  Bruno Haible  <bruno@clisp.org>
83037
83038         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
83039         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
83040         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83041         directory.
83042         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
83043         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83044         directory.
83045
83046 2003-06-06  Jim Meyering  <jim@meyering.net>
83047
83048         Merge from coreutils.
83049         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
83050         Consolidate declarations and initializations of *_base* locals.
83051
83052         Merge from coreutils.
83053         This avoids a core dump on systems without GNU putenv,
83054         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
83055         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
83056         (unsetenv): New static function, from GNU libc.
83057         (rpl_putenv): Use it.
83058
83059         * lib/modechange.c: Remove trailing blanks.
83060
83061         Merge from coreutils.
83062         * lib/fsusage.c: Remove declaration of statfs.
83063         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
83064
83065         * lib/posixtm.c: Include <stdbool.h> unconditionally.
83066
83067 2003-06-06  Jim Meyering  <jim@meyering.net>
83068
83069         * lib/stdbool_.h: Renamed from stdbool.h.in.
83070
83071 2003-06-06  Jim Meyering  <jim@meyering.net>
83072             Bruno Haible  <bruno@clisp.org>
83073
83074         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
83075         Adjust Makefile.am snippet not to redirect directly to target.
83076         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
83077
83078 2003-06-05  Paul Eggert  <eggert@twinsun.com>
83079
83080         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
83081         mismatch, look in future quarters as well as past.  This fixes a
83082         bug when processing fall-backwards gaps immediately after a long
83083         period of daylight-saving time.
83084
83085         * lib/mktime.c: Assume freestanding C89 or better.
83086         (HAVE_LIMITS_H): Remove.  Assume it's 1.
83087         (__P): Remove; not used.
83088         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
83089         (mktime, not_equal_tm, print_tm, check_result,
83090         main): Use prototypes.  Use const * where appropriate.
83091         (main): Fix typo in testing code that uncovered by above changes.
83092         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
83093
83094 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83095
83096         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
83097         locale.h, localeconv.  This merges changes from coreutils.
83098
83099         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
83100         It can be removed after the next Autoconf is released.
83101         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
83102         needed.
83103
83104 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83105
83106         * lib/mktime.c: Fix Debian bug 177940
83107         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
83108         (localtime_offset): Now long int, not time_t, because we want it
83109         to be guaranteed to be signed.  All uses changed.
83110         (__mktime_internal): If overflow would occur when adding offset,
83111         don't add it.
83112
83113         Merge 'human' changes from coreutils.  Rewrite to support
83114         locale-specific notations like thousands separators.
83115         * lib/human.c: Simplify authorship notice.
83116         Include human.h immediately after config.h.
83117         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
83118         <limits.h>: Do not include, since human.h does.
83119         (SIZE_MAX, UINTMAX_MAX): New macros.
83120         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
83121         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
83122         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
83123         (power_letter): Renamed from suffixes.
83124         (generate_suffix_backwards): Remove.
83125         (adjust_value): Now takes int style (because of human.h changes)
83126         and long double value (for greater precision on some platforms).
83127         (group_number): New function.
83128         (human_readable): Use it.  Use integer options, not enum.
83129         Put the options before the sizes in the arg list.
83130         Support all the new options.
83131         The old human_readable function has been removed;
83132         use inttostr.h instead.
83133         (human_readable, default_block_size, humblock):
83134         Use uintmax_t, not int, for block sizes.
83135         (human_readable_inexact, block_size_types): Remove.
83136         (block_size_opts): New constant.
83137         (human_options): Renamed from human_block_size, with new signature
83138         that allows block sizes up to UINTMAX_MAX.  All callers changed.
83139         * lib/human.h: Add copyright and authorship notice.
83140         Include <limits.h> and <stdbool.h> unconditionally.
83141         (PARAMS): Remove.  All uses removed.
83142         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
83143         (enum human_inexact_style): Remove tag; now a nameless enum.
83144         (human_floor, human_ceiling, human_round_to_even): Now have
83145         values 2, 0, 1 rather than -1, 1, 0.
83146         (human_group_digits, human_suppress_point_zero, human_autoscale,
83147         human_base_1024, human_SI, human_B): New constants.
83148         (human_readable_inexact, human_block_size): Remove.
83149         (human_readable): Size args are now uintmax_t, not int.
83150         (human_options): New decl.
83151
83152         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
83153         unnecessary now that we assume C89 or better.  This change
83154         imported from coreutils.
83155
83156         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83157         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
83158         in the 2003-05-30 sync from glibc.
83159
83160         .h files should stand alone, but we shouldn't include <sys/types.h>
83161         if we can get away with just <stddef.h>.
83162
83163         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
83164         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
83165         rather than <sys/types.h>, as we merely need size_t.
83166         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
83167         to get size_t.
83168         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
83169         Include <stdio.h>, to get FILE.
83170         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
83171         memcasecmp.h has included <stddef.h> and all we need is size_t.
83172         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
83173         our interface, instead of including <sys/types.h>
83174
83175 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83176
83177         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
83178         now, as glibc mktime is buggy on non-glibc systems.
83179
83180 2003-06-03  Karl Berry  <karl@gnu.org>
83181
83182         * config/config.sub: update from prep.
83183
83184 2003-06-02  Paul Eggert  <eggert@twinsun.com>
83185
83186         [from coreutils]
83187         Fix some minor time-related bugs with POSIX time arguments.
83188         Some valid time stamps were being rejected (notably -1, and
83189         time stamps before 1900 on 64-bit hosts).  And some invalid
83190         time stamps were being accepted, e.g. September 31.
83191
83192         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
83193         that we can return (time_t) -1 successfully.
83194         * lib/posixtm.c: Likewise.
83195         [HAVE_STDBOOL_H]: Include <stdbool.h>.
83196         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
83197         (t): Remove static var.
83198         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
83199         of static var.  All uses changed.
83200         (year): Do not reject years before 1900; they can occur with
83201         64-bit time_t.
83202         (posix_time_parse): Do not check for out-of-range components;
83203         that is now the caller's responsibility, since our checks were
83204         only approximations.
83205         (posixtime): Use mktime to check for out-of-range components,
83206         since it knows them exactly.
83207         If mktime returns (time_t) -1, check whether an error actually occurred
83208         by invoking localtime on -1.
83209         (main) [TEST_POSIXTIME]: Check for input data errors, and report
83210         posixtime failures better.
83211         Improve the test data (in comments only).
83212
83213 2003-06-02  Karl Berry  <karl@gnu.org>
83214
83215         * config/mkinstalldirs (version): new variable.
83216         (--version): new option.
83217         (usage): improve message.
83218
83219 2003-05-30  Karl Berry  <karl@gnu.org>
83220
83221         * lib/mktime.c: update from libc.
83222
83223 2003-05-30  Bruno Haible  <bruno@clisp.org>
83224
83225         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
83226         * config/config.rpath: Upgrade to gettext-0.12.1.
83227
83228 2003-05-30  Bruno Haible  <bruno@clisp.org>
83229
83230         * m4/gettext.m4: Upgrade to gettext-0.12.1.
83231         * m4/nls.m4: New file, from gettext-0.12.1.
83232         * m4/po.m4: New file, from gettext-0.12.1.
83233         * m4/progtest.m4: Upgrade to gettext-0.12.1.
83234
83235 2003-05-30  Bruno Haible  <bruno@clisp.org>
83236
83237         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
83238         * lib/localcharset.h: Likewise.
83239         * lib/localcharset.c: Likewise.
83240
83241 2003-05-29  Karl Berry  <karl@gnu.org>
83242
83243         * config/config.rpath: update from gettext.
83244
83245 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83246
83247         Assume the headers required for C89 freestanding compilers.
83248         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
83249         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
83250         * m4/human.m4 (gl_HUMAN): Likewise.
83251         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
83252         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
83253         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83254         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
83255         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83256         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
83257
83258 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83259
83260         Assume the headers required for C89 freestanding compilers.
83261         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
83262         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
83263         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
83264         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
83265         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
83266         define, since <limits.h> is guaranteed to do that.
83267         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
83268         * lib/exclude.c: Include <stdbool.h> unconditionally.
83269         * lib/tempname.c: Include <stddef.h> unconditionally.
83270         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
83271         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
83272         <stddef.h> does that.
83273         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
83274         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
83275         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
83276         needed.
83277         * lib/xstrtol.c: Likewise.
83278         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
83279         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
83280
83281         * lib/addext.c (addext): Use assignment rather than cast, to avoid
83282         warnings on some platforms.
83283
83284         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83285         arbitrarily.
83286
83287 2003-05-26  Jim Meyering  <jim@meyering.net>
83288
83289         Merge in a change from coreutils:
83290         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
83291         that is guaranteed to be `no'.  Use `no_such_member' to indicate
83292         that condition, rather than `-1' which is slightly misleading.
83293         Change the name of the cache variable to have the gl_ prefix.
83294         Prompted by a patch from Richard Dawe for DJGPP.
83295
83296 2003-05-24  Karl Berry  <karl@gnu.org>
83297
83298         * config/config.guess: update from prep.
83299
83300 2003-05-22  Karl Berry  <karl@gnu.org>
83301
83302         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
83303
83304 2003-05-20  Karl Berry  <karl@gnu.org>
83305
83306         * config/config.guess: update from prep.
83307
83308 2003-05-18  Karl Berry  <karl@gnu.org>
83309
83310         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
83311         might actually be set by the user.
83312
83313         * config/depcomp, install-sh, mdate-sh: update from automake.
83314
83315 2003-05-17  Bruno Haible  <bruno@clisp.org>
83316
83317         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
83318         invalid expansion for AC_EGREP_CPP.
83319         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
83320         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
83321         Suggested by Akim Demaille <akim@epita.fr> in
83322         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
83323
83324 2003-05-12  Jim Meyering  <jim@meyering.net>
83325
83326         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
83327         the space-padded-by-default conversion specifiers, %e, %k, %l.
83328
83329 2003-05-12  Bruno Haible  <bruno@clisp.org>
83330
83331         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
83332         the string is longer than 4 KB.
83333
83334 2003-05-11  Karl Berry  <karl@gnu.org>
83335
83336         * config/config.{guess,sub}: update from prep.
83337
83338 2003-05-09  Bruno Haible  <bruno@clisp.org>
83339
83340         * modules/error: Add m4/strerror_r.m4 to file list.
83341
83342 2003-05-03  Bruno Haible  <bruno@clisp.org>
83343
83344         Upgrade to Unicode-4.0.
83345         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
83346         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
83347         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
83348         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
83349         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
83350         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
83351         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
83352         Change width of U+E0100..U+E01EF from 1 to 0.
83353
83354 2003-04-25  Jim Meyering  <jim@meyering.net>
83355
83356         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
83357         of type size_t, not int.
83358
83359 2003-04-25  Bruno Haible  <bruno@clisp.org>
83360
83361         * lib/copy-file.c: Include <stddef.h>, for size_t.
83362
83363 2003-04-21  Paul Eggert  <eggert@twinsun.com>
83364
83365         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
83366         code which expansion is under static control.  Patch imported from
83367         Akim Demaille's patch to Bison; see
83368         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
83369
83370 2003-04-14  Bruno Haible  <bruno@clisp.org>
83371
83372         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
83373
83374 2003-04-11  Jim Meyering  <jim@meyering.net>
83375
83376         Merge changes from Coreutils.
83377
83378         2003-03-22  Jim Meyering  <jim@meyering.net>
83379
83380         * lib/strftime.c (widen): Cast alloca return value to proper type.
83381
83382         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
83383
83384         From GNU libc.
83385         * lib/strftime.c (my_strftime): Handle very large width
83386         specifications for numeric values correctly.  Improve checks for
83387         overflow.
83388
83389         2003-01-19  Jim Meyering  <jim@meyering.net>
83390
83391         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
83392         definitions.
83393         (nl_get_alt_digit) [! defined my_strftime]: Define.
83394         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
83395         _nl_get_alt_digit and _nl_get_walt_digit.
83396
83397         * lib/strftime.c (my_strftime): Merge in locale-related changes from
83398         libc. These changes have no effect outside of _LIBC.
83399
83400 2003-04-10  Bruno Haible  <bruno@clisp.org>
83401
83402         * modules/findprog: New file.
83403         * MODULES.html.sh (func_all_modules): Add it.
83404
83405 2003-04-10  Bruno Haible  <bruno@clisp.org>
83406
83407         * m4/findprog.m4: New file.
83408         * m4/eaccess.m4: New file.
83409
83410 2003-04-10  Bruno Haible  <bruno@clisp.org>
83411
83412         * lib/findprog.h: New file, from GNU gettext.
83413         * lib/findprog.c: New file, from GNU gettext.
83414
83415 2003-04-05  Jim Meyering  <jim@meyering.net>
83416
83417         Merge changes from Coreutils.
83418
83419         * lib/exclude.h (PARAMS): Remove definition and uses.
83420         * lib/exclude.c: Remove uses of `PARAMS'.
83421
83422         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
83423         Add test-cases for DOS filenames. Declare program_name.
83424         (main): Set up program_name.  Patch by Rich Dawe.
83425
83426         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83427         error from mntctl.
83428         Use mntctl's return value to drive the entry-processing loop, since
83429         we can't rely on the value of the vmt_length member in the last
83430         entry.  On some systems doing so could result in exhausting
83431         virtual memory.  Based in part on a patch from Mike Jetzer.
83432
83433 2003-04-04  Bruno Haible  <bruno@clisp.org>
83434
83435         * modules/linebreak: New file.
83436         * MODULES.html.sh (func_all_modules): Add it.
83437
83438 2003-04-04  Bruno Haible  <bruno@clisp.org>
83439
83440         * m4/linebreak.m4: New file.
83441
83442 2003-04-04  Bruno Haible  <bruno@clisp.org>
83443
83444         * lib/linebreak.h: New file, from GNU gettext.
83445         * lib/linebreak.c: New file, from GNU gettext with slight
83446         modifications.
83447         * lib/lbrkprop.h: New file, from GNU gettext.
83448
83449 2003-04-03  Bruno Haible  <bruno@clisp.org>
83450
83451         * modules/utf8-ucs4: New file.
83452         * modules/utf16-ucs4: New file.
83453         * modules/ucs4-utf8: New file.
83454         * modules/ucs4-utf16: New file.
83455         * MODULES.html.sh (func_all_modules): Add them.
83456
83457 2003-04-03  Bruno Haible  <bruno@clisp.org>
83458
83459         * m4/utf-ucs4.m4: New file.
83460         * m4/ucs4-utf.m4: New file.
83461
83462 2003-04-03  Bruno Haible  <bruno@clisp.org>
83463
83464         * lib/utf8-ucs4.h: New file, from GNU gettext.
83465         * lib/utf16-ucs4.h: New file, from GNU gettext.
83466         * lib/ucs4-utf8.h: New file, from GNU gettext.
83467         * lib/ucs4-utf16.h: New file, from GNU gettext.
83468
83469 2003-04-02  Bruno Haible  <bruno@clisp.org>
83470
83471         * modules/binary-io: New file.
83472         * MODULES.html.sh (func_all_modules): Add it.
83473
83474 2003-04-02  Bruno Haible  <bruno@clisp.org>
83475
83476         * lib/binary-io.h: New file, from GNU gettext.
83477
83478 2003-04-01  Bruno Haible  <bruno@clisp.org>
83479
83480         * modules/pathname: New file.
83481         * MODULES.html.sh (func_all_modules): Add it.
83482
83483 2003-04-01  Bruno Haible  <bruno@clisp.org>
83484
83485         * lib/pathname.h: New file, from GNU gettext.
83486         * lib/concatpath.c: New file, from GNU gettext.
83487
83488 2003-03-30  Bruno Haible  <bruno@clisp.org>
83489
83490         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83491
83492 2003-03-30  Bruno Haible  <bruno@clisp.org>
83493
83494         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83495         function chown() doesn't exist.
83496
83497 2003-03-28  Bruno Haible  <bruno@clisp.org>
83498
83499         * modules/copy-file: New file.
83500         * MODULES.html.sh (func_all_modules): Add it.
83501
83502 2003-03-28  Bruno Haible  <bruno@clisp.org>
83503
83504         * m4/copy-file.m4: New file.
83505
83506 2003-03-28  Bruno Haible  <bruno@clisp.org>
83507
83508         * lib/copy-file.h: New file, from GNU gettext.
83509         * lib/copy-file.c: New file, from GNU gettext.
83510
83511 2003-03-18  Jim Meyering  <jim@meyering.net>
83512
83513         * lib/quote.c (quote_n): Fix typo in comment.
83514
83515 2003-03-18  Bruno Haible  <bruno@clisp.org>
83516
83517         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83518         checking.
83519         * m4/onceonly_2_57.m4: Likewise.
83520
83521 2003-03-17  Bruno Haible  <bruno@clisp.org>
83522
83523         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83524         (m4_quote): Remove macro.
83525         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
83526
83527 2003-03-14  Jim Meyering  <jim@meyering.net>
83528
83529         Merge changes from Coreutils.
83530         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
83531         to be const, in order to avoid warnings.
83532         (obstack_room): Likewise.
83533         (obstack_empty_p): Likewise.
83534
83535 2003-03-14  Bruno Haible  <bruno@clisp.org>
83536
83537         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
83538         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
83539
83540 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83541
83542         Merge changes from Bison.
83543         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
83544         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
83545         when compiling Bison 1.875's `bitset bset = obstack_alloc
83546         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
83547         * lib/hash.c: Include <stdbool.h> unconditionally.
83548
83549 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83550
83551         * m4/onceonly.m4 (m4_quote): New macro.
83552         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
83553         Quote AC_FOREACH variable-expansions properly.
83554
83555 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83556
83557         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
83558
83559 2003-03-09  Paul Eggert  <eggert@twinsun.com>
83560
83561         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
83562         Reported by Bruce Becker; see:
83563         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
83564
83565 2003-03-03  Paul Eggert  <eggert@twinsun.com>
83566             Bruno Haible  <bruno@clisp.org>
83567
83568         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
83569         Reported by John Hughes, see
83570         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
83571
83572 2003-02-20  Bruno Haible  <bruno@clisp.org>
83573
83574         * MODULES.html.sh (func_all_modules): Add poll.
83575
83576 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83577
83578         * modules/poll: New file.
83579
83580 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83581
83582         * lib/poll_.h: New file.
83583         * lib/poll.c: New file.
83584
83585 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83586
83587         * m4/poll.m4: New file.
83588
83589 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83590
83591         * modules/mathl: New file.
83592
83593 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83594
83595         * lib/mathl.h: New file.
83596         * lib/acosl.c: New file.
83597         * lib/asinl.c: New file.
83598         * lib/atanl.c: New file.
83599         * lib/ceill.c: New file.
83600         * lib/cosl.c: New file.
83601         * lib/expl.c: New file.
83602         * lib/floorl.c: New file.
83603         * lib/frexpl.c: New file.
83604         * lib/ldexpl.c: New file.
83605         * lib/logl.c: New file.
83606         * lib/sincosl.c: New file.
83607         * lib/sinl.c: New file.
83608         * lib/sqrtl.c: New file.
83609         * lib/tanl.c: New file.
83610         * lib/trigl.c: New file.
83611         * lib/trigl.h: New file.
83612
83613 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83614
83615         * m4/mathl.m4: New file.
83616
83617 2003-02-18  Bruno Haible  <bruno@clisp.org>
83618
83619         * MODULES.html.sh (func_all_modules): Add mathl.
83620
83621 2003-02-17  Bruno Haible  <bruno@clisp.org>
83622
83623         * modules/mkdtemp: New module.
83624         * MODULES.html.sh (func_all_modules): Add it.
83625
83626 2003-02-17  Bruno Haible  <bruno@clisp.org>
83627
83628         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
83629
83630 2003-02-17  Bruno Haible  <bruno@clisp.org>
83631
83632         * lib/mkdtemp.h: New file, from GNU gettext.
83633         * lib/mkdtemp.c: New file, from GNU gettext.
83634
83635 2003-02-02  Jim Meyering  <jim@meyering.net>
83636
83637         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
83638         e.g. glibc-2.2.93.
83639
83640 2003-01-31  Bruno Haible  <bruno@clisp.org>
83641
83642         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
83643         'rpl_rename'.
83644         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
83645         'rpl_strnlen'.
83646         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
83647         'rpl_strtod'.
83648         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
83649         'rpl_utime'.
83650
83651 2003-01-31  Bruno Haible  <bruno@clisp.org>
83652
83653         * lib/rename.c: #undef rename before defining rpl_rename.
83654         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
83655
83656 2003-01-30  Bruno Haible  <bruno@clisp.org>
83657
83658         * modules/vasnprintf, modules/vasprintf: New modules.
83659         * MODULES.html.sh (func_all_modules): Add them.
83660
83661 2003-01-30  Bruno Haible  <bruno@clisp.org>
83662
83663         * m4/signed.m4: New file, from GNU gettext.
83664         * m4/longdouble.m4: New file, from GNU gettext.
83665         * m4/wchar_t.m4: New file, from GNU gettext.
83666         * m4/wint_t.m4: New file, from GNU gettext.
83667         * m4/vasnprintf.m4: New file.
83668         * m4/vasprintf.m4: New file.
83669
83670 2003-01-30  Bruno Haible  <bruno@clisp.org>
83671
83672         * lib/printf-args.h: New file, from GNU gettext.
83673         * lib/printf-args.c: New file, from GNU gettext.
83674         * lib/printf-parse.h: New file, from GNU gettext.
83675         * lib/printf-parse.c: New file, from GNU gettext.
83676         * lib/vasnprintf.h: New file, from GNU gettext.
83677         * lib/vasnprintf.c: New file, from GNU gettext.
83678         * lib/asnprintf.c: New file, from GNU gettext.
83679         * lib/vasprintf.h: New file, from GNU gettext with modifications.
83680         * lib/vasprintf.c: New file, from GNU gettext.
83681         * lib/asprintf.c: New file, from GNU gettext.
83682
83683 2003-01-29  Bruno Haible  <bruno@clisp.org>
83684
83685         * modules/stpncpy: New module.
83686         * MODULES.html.sh (func_all_modules): Add it.
83687
83688 2003-01-29  Bruno Haible  <bruno@clisp.org>
83689
83690         * m4/stpncpy.m4: New file.
83691
83692 2003-01-29  Bruno Haible  <bruno@clisp.org>
83693
83694         * lib/stpncpy.h: New file, from GNU gettext with modifications.
83695         * lib/stpncpy.c: New file, from GNU gettext with modifications.
83696
83697 2003-01-28  Bruno Haible  <bruno@clisp.org>
83698
83699         * modules/c-ctype: New module.
83700         * MODULES.html.sh (func_all_modules): Add it.
83701
83702 2003-01-28  Bruno Haible  <bruno@clisp.org>
83703
83704         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
83705         Paul Eggert.
83706         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
83707         Paul Eggert.
83708
83709 2003-01-27  Bruno Haible  <bruno@clisp.org>
83710
83711         * modules/xsetenv: New module.
83712         * MODULES.html.sh (func_all_modules): Add it.
83713
83714 2003-01-27  Bruno Haible  <bruno@clisp.org>
83715
83716         * lib/xsetenv.h: New file, from GNU gettext.
83717         * lib/xsetenv.c: New file, from GNU gettext.
83718
83719 2003-01-23  Jim Meyering  <jim@meyering.net>
83720
83721         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
83722         from working on systems without dirfd (at least Irix and OSF1/Tru64).
83723
83724 2003-01-23  Bruno Haible  <bruno@clisp.org>
83725
83726         * modules/minmax: New module.
83727         * MODULES.html.sh (func_all_modules): Add it.
83728
83729 2003-01-23  Bruno Haible  <bruno@clisp.org>
83730
83731         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
83732         Eggert.
83733
83734 2003-01-22  Bruno Haible  <bruno@clisp.org>
83735
83736         * modules/exit: New module.
83737         * MODULES.html.sh (func_all_modules): Add it.
83738
83739 2003-01-22  Bruno Haible  <bruno@clisp.org>
83740
83741         * lib/exit.h: New file, from GNU gettext.
83742
83743 2003-01-19  Bruno Haible  <bruno@clisp.org>
83744
83745         * gnulib-tool: Recognize option --extract-maintainer.
83746         (func_get_maintainer): New function.
83747         * modules/*: Add Maintainer entry.
83748
83749 2003-01-16  Jim Meyering  <jim@meyering.net>
83750
83751         * m4/regex.m4: The `regex' struct is both input and output.
83752         Initialize it before each use.  Patch by Tim Waugh.
83753
83754 2003-01-16  Bruno Haible  <bruno@clisp.org>
83755
83756         * MODULES.html.sh: Add a table of contents. Add the module name as
83757         leftmost column. Add hyperlinks.
83758
83759 2003-01-15  Bruno Haible  <bruno@clisp.org>
83760
83761         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
83762
83763 2003-01-15  Bruno Haible  <bruno@clisp.org>
83764
83765         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
83766         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
83767         suffix.
83768
83769 2003-01-15  Bruno Haible  <bruno@clisp.org>
83770
83771         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
83772
83773 2003-01-15  Bruno Haible  <bruno@clisp.org>
83774
83775         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
83776         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
83777
83778 2003-01-14  Jim Meyering  <jim@meyering.net>
83779
83780         * lib/same.c (same_name): Tweak a comment.
83781
83782 2003-01-14  Bruno Haible  <bruno@clisp.org>
83783
83784         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
83785         when a string comparison is sufficient.
83786
83787 2003-01-14  Bruno Haible  <bruno@clisp.org>
83788
83789         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
83790         'unsigned int'.
83791
83792 2003-01-14  Bruno Haible  <bruno@clisp.org>
83793
83794         * lib/hash-pjw.c: Add comment about low quality of this function.
83795
83796 2003-01-13  Bruno Haible  <bruno@clisp.org>
83797
83798         * modules/stpcpy: Distribute lib/stpcpy.h.
83799         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
83800
83801 2003-01-13  Bruno Haible  <bruno@clisp.org>
83802
83803         * modules/*: Add a description.
83804         * modules/strpbrk: Fix Makefile.am snippet.
83805         * modules/strtoimax: Fix dependencies.
83806         * modules/strtoumax: Likewise.
83807
83808 2003-01-13  Bruno Haible  <bruno@clisp.org>
83809
83810         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
83811         * modules/alloca (Makefile.am): All object files depend on alloca.h.
83812         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
83813
83814 2003-01-13  Bruno Haible  <bruno@clisp.org>
83815
83816         * gnulib-tool (func_create_testdir): Store config/* files in the main
83817         directory.
83818         * config.rpath: Move to ...
83819         * config/config.rpath: ... here.
83820         * modules/gettext: Contains config/config.rpath, not config.rpath.
83821         * modules/iconv: Likewise.
83822
83823 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83824
83825         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83826         to avoid collisions with libcurses and libreadline.
83827
83828         * m4/getstr.m4: Remove.
83829         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
83830
83831 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83832
83833         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83834         to avoid collisions with libcurses and libreadline.
83835
83836         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
83837         * lib/getstr.h, getstr.c: Remove.
83838         * lib/getline.c: Include "getline.h", to check interface.
83839         Move body of old getstr.c here: this defines MIN_CHUNK and
83840         declares getdelim2, which is renamed from getstr.
83841         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
83842
83843         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
83844         All uses changed.
83845         * lib/linebuffer.h: Likewise.
83846         (readline): Remove backward-compatibility macro.
83847
83848 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83849
83850         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83851         to avoid collisions with libcurses and libreadline.
83852         * getstr: Remove.
83853         * MODULES.html.sh: Remove getstr.
83854         * modules/getline: Depend on unlocked-io, not getstr.
83855
83856 2003-01-12  Jim Meyering  <jim@meyering.net>
83857
83858         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
83859
83860 2003-01-10  Bruno Haible  <bruno@clisp.org>
83861
83862         * modules/alloca: Change Makefile.am requirements. Simplify Include
83863         requirements. Add lib/alloca_.h to file list.
83864
83865 2003-01-10  Bruno Haible  <bruno@clisp.org>
83866
83867         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
83868
83869 2003-01-10  Bruno Haible  <bruno@clisp.org>
83870
83871         * lib/alloca_.h: New file.
83872         * lib/getdate.y: Unconditionally include alloca.h.
83873         * lib/makepath.c: Likewise.
83874         * lib/setenv.c: Likewise.
83875         * lib/userspec.c: Likewise.
83876
83877 2003-01-09  Karl Berry  <karl@gnu.org>
83878
83879         * MODULES.html.sh: include `dirname $0` in PATH, to find
83880         gnulib-tool.
83881
83882 2003-01-09  Bruno Haible  <bruno@clisp.org>
83883
83884         * modules/stdbool: Change configure.ac, Makefile.am requirements.
83885         Simplify Include requirements. Add lib/stdbool.h.in to file list.
83886
83887 2003-01-09  Bruno Haible  <bruno@clisp.org>
83888
83889         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
83890
83891 2003-01-09  Bruno Haible  <bruno@clisp.org>
83892
83893         * lib/stdbool.h.in: New file.
83894
83895 2003-01-09  Bruno Haible  <bruno@clisp.org>
83896
83897         * gnulib-tool (func_all_modules): Ignore files ending in ~.
83898         * MODULES.html.sh: Likewise.
83899
83900 2003-01-08  Jim Meyering  <jim@meyering.net>
83901
83902         * lib/full-write.c: Undefine and define-away `const' after inclusion
83903         of errno.h, not before.  Suggestion from Bruno Haible.
83904
83905 2003-01-08  Bruno Haible  <bruno@clisp.org>
83906
83907         * modules/full-read: Depend on full-write.
83908
83909 2003-01-08  Bruno Haible  <bruno@clisp.org>
83910
83911         * lib/safe-read.c: Include specification header first, to ensure its
83912         selfcontainedness.
83913         * lib/full-write.c: Likewise.
83914
83915 2003-01-07  Jim Meyering  <jim@meyering.net>
83916
83917         * lib/full-write.c: Rework so that it may serve to define full_read,
83918         too.
83919         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
83920
83921 2003-01-07  Bruno Haible  <bruno@clisp.org>
83922
83923         * lib/strtoimax.c: Include <stdint.h> as an alternative to
83924         <inttypes.h>.
83925         * lib/xstrtol.h: Likewise.
83926         * lib/xstrtoimax.c: Likewise.
83927         * lib/xstrtoumax.c: Likewise.
83928         * lib/human.h: Likewise.
83929
83930         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
83931         on systems that have <inttypes.h> but not <stdint.h>.
83932
83933 2003-01-07  Bruno Haible  <bruno@clisp.org>
83934
83935         * MODULES.html.sh: Add copyright notice.
83936         (missed_files): Omit CVS directory entries.
83937         (func_module): Make it work with sed-3.02.
83938         * MODULES.txt: Remove file.
83939
83940 2003-01-06  Jim Meyering  <jim@meyering.net>
83941
83942         * lib/version-etc.c: Update year in translatable copyright string.
83943
83944 2003-01-03  Karl Berry  <karl@gnu.org>
83945
83946         * config/config.{guess,sub}: update from prep.
83947
83948 2003-01-02  Karl Berry  <karl@gnu.org>
83949
83950         * doc/COPYING.DOC: belatedly updated to 1.2.
83951
83952 2003-01-01  Karl Berry  <karl@gnu.org>
83953
83954         * gnulib-tool (func_verify_module): report module name $module in
83955         error message, not $1.
83956         * gnulib-tool (create-testdir): don't complain if destdir couldn't
83957         be created, only if it doesn't exist.
83958         * gnulib-tool (last_checkin_date): don't expand the $Date here.
83959
83960 2002-12-31  Paul Eggert  <eggert@twinsun.com>
83961
83962         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
83963
83964 2002-12-31  Paul Eggert  <eggert@twinsun.com>
83965
83966         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
83967         memcmp if strcoll doesn't work.
83968
83969 2002-12-31  Bruno Haible  <bruno@clisp.org>
83970
83971         * lib/utime.c (utime_null): No need to call ftruncate if the file was
83972         nonempty.
83973
83974 2002-12-31  Bruno Haible  <bruno@clisp.org>
83975
83976         * lib/memcoll.c (STRCOLL): New macro.
83977         (memcoll): Use it.
83978
83979 2002-12-31  Bruno Haible  <bruno@clisp.org>
83980
83981         * lib/localcharset.h: New file.
83982         * lib/localcharset.c: Include it.
83983         * lib/unicodeio.c: Likewise.
83984
83985 2002-12-31  Bruno Haible  <bruno@clisp.org>
83986
83987         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
83988         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
83989
83990 2002-12-31  Bruno Haible  <bruno@clisp.org>
83991
83992         * lib/getline.h: Include <stddef.h>, for size_t.
83993
83994         * lib/unicodeio.h: Include <stddef.h>, for size_t.
83995         * lib/unicodeio.c: Don't include <stddef.h>.
83996
83997 2002-12-31  Bruno Haible  <bruno@clisp.org>
83998
83999         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
84000         HAVE_TM_ZONE.
84001
84002 2002-12-24  Karl Berry  <karl@gnu.org>
84003
84004         * config/config.guess: update from prep.
84005
84006 2002-12-24  Bruno Haible  <bruno@clisp.org>
84007
84008         General infrasructure.
84009         * m4/README: Rewritten.
84010         * m4/onceonly.m4: New file.
84011         * m4/onceonly_2_57.m4: New file.
84012
84013         Module atexit.
84014         * m4/atexit.m4: New file.
84015
84016         Module strtod.
84017         * m4/strtod.m4: New file.
84018
84019         Module strtol.
84020         * m4/strtol.m4: New file.
84021
84022         Module strtoul.
84023         * m4/strtoul.m4: New file.
84024
84025         Module memchr.
84026         * m4/memchr.m4: New file.
84027
84028         Module memcmp.
84029         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
84030         (jm_FUNC_MEMCMP): Invoke it.
84031
84032         Module memcpy.
84033         * m4/memcpy.m4: New file.
84034
84035         Module memmove.
84036         * m4/memmove.m4: New file.
84037
84038         Module memset.
84039         * m4/memset.m4: New file.
84040
84041         Module strcspn.
84042         * m4/strcspn.m4: New file.
84043
84044         Module strpbrk.
84045         * m4/strpbrk.m4: New file.
84046
84047         Module strstr.
84048         * m4/strstr.m4: New file.
84049
84050         Module strerror.
84051         * m4/strerror.m4: New file.
84052
84053         Module mktime.
84054         * m4/mktime.m4: Renamed from jm-mktime.m4.
84055         (gl_PREREQ_MKTIME): New macro.
84056         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
84057
84058         Module malloc.
84059         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
84060         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
84061         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
84062
84063         Module realloc.
84064         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
84065         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
84066         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
84067
84068         Module strftime.
84069         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
84070         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
84071         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
84072         gl_TM_GMTOFF.
84073         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
84074
84075         Module xalloc.
84076         * m4/xalloc.m4: New file.
84077
84078         Module alloca.
84079         * m4/alloca.m4: New file.
84080
84081         Module putenv.
84082         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
84083         (jm_FUNC_PUTENV): Invoke it.
84084
84085         Module setenv.
84086         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
84087         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
84088         when invoked twice.
84089         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
84090         gt_FUNC_SETENV.
84091
84092         Module memrchr.
84093         * m4/memrchr.m4: New file.
84094
84095         Module stpcpy.
84096         * m4/stpcpy.m4: New file.
84097
84098         Module strcase.
84099         * m4/strcase.m4: New file.
84100
84101         Module strdup.
84102         * m4/strdup.m4: New file.
84103
84104         Module strnlen.
84105         * m4/strnlen.m4: New file.
84106
84107         Module strndup.
84108         * m4/strndup.m4: New file.
84109
84110         Module xstrtod.
84111         * m4/xstrtod.m4: New file.
84112
84113         Module xstrtol.
84114         * m4/xstrtol.m4: New file.
84115
84116         Module getdate.
84117         * m4/getdate.m4: New file.
84118
84119         Module unlocked-io.
84120         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
84121         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
84122         * m4/jm-glibc-io.m4n: Remove file.
84123
84124         Module long-options.
84125         * m4/long-options.m4: New file.
84126
84127         Module md5.
84128         * m4/md5.m4: New file.
84129
84130         Module sha.
84131         * m4/sha.m4: New file.
84132
84133         Module getstr.
84134         * m4/getstr.m4: New file.
84135
84136         Module getline.
84137         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
84138         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
84139         <sys/types.h>, for size_t. Use the function name gnu_getline, not
84140         simply getline. Infoke gl_PREREQ_GETLINE.
84141
84142         Module obstack.
84143         * m4/obstack.m4: New file.
84144
84145         Module hash.
84146         * m4/hash.m4: New file.
84147
84148         Module readtokens.
84149         * m4/readtokens.m4: New file.
84150
84151         Module strverscmp.
84152         * m4/strverscmp.m4: New file.
84153
84154         Module stdbool.
84155         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
84156         OSF/1.
84157
84158         Module strtoll.
84159         * m4/strtoll.m4: New file.
84160
84161         Module strtoull.
84162         * m4/strtoull.m4: New file.
84163
84164         Module strtoimax.
84165         * m4/strtoimax.m4: New file.
84166
84167         Module strtoumax.
84168         * m4/strtoumax.m4: New file.
84169
84170         Module xstrtoimax.
84171         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
84172         jm_AC_PREREQ_XSTRTOIMAX.
84173         Moved the strtol prerequisites to strtol.m4.
84174         Moved the strtoll prerequisites to strtoll.m4.
84175         Moved the strtoimax prerequisites to strtoimax.m4.
84176
84177         Module xstrtoumax.
84178         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
84179         jm_AC_PREREQ_XSTRTOUMAX.
84180         Moved the strtoul prerequisites to strtoul.m4.
84181         Moved the strtoull prerequisites to strtoull.m4.
84182         Moved the strtoumax prerequisites to strtoumax.m4.
84183
84184         Module chown.
84185         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
84186         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
84187
84188         Module dup2.
84189         * m4/dup2.m4: New file.
84190
84191         Module ftruncate.
84192         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
84193         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
84194
84195         Module getgroups.
84196         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
84197         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
84198
84199         Module gettimeofday.
84200         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
84201         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
84202         gl_PREREQ_GETTIMEOFDAY.
84203
84204         Module mkdir.
84205         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
84206         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
84207
84208         Module mkstemp.
84209         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
84210         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
84211         jm_AC_TYPE_UINTMAX_T.
84212         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
84213
84214         Module stat.
84215         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
84216         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
84217
84218         Module lstat.
84219         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
84220         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
84221
84222         Module timespec.
84223         * m4/timespec.m4 (gl_TIMESPEC): New macro.
84224         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
84225         * m4/st_mtim.m4: Indentation.
84226
84227         Module nanosleep.
84228         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
84229         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
84230         gl_PREREQ_NANOSLEEP.
84231
84232         Module regex.
84233         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
84234         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
84235         (gl_REGEX): New macro.
84236
84237         Module rename.
84238         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
84239         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
84240
84241         Module rmdir.
84242         * m4/rmdir.m4: New file.
84243
84244         Module utime.
84245         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
84246         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
84247         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
84248
84249         Module dirname.
84250         * m4/dirname.m4: New file.
84251
84252         Module getopt.
84253         * m4/getopt.m4: New file.
84254
84255         Module unistd-safer.
84256         * m4/unistd-safer.m4: New file.
84257
84258         Module fnmatch.
84259         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
84260         declaration.
84261         (gl_PREREQ_FNMATCH_EXTRA): New macro.
84262         (gl_FUNC_FNMATCH_POSIX): New macro.
84263         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
84264         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
84265         simply fnmatch.
84266
84267         Module exclude.
84268         * m4/exclude.m4: New file.
84269
84270         Module human.
84271         * m4/human.m4: New file.
84272
84273         Module acl.
84274         * m4/acl.m4: Nop.
84275
84276         Module backupfile.
84277         * m4/backupfile.m4: New file.
84278         * m4/d-ino.m4: Indentation.
84279
84280         Module fsusage.
84281         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
84282         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
84283         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
84284
84285         Module dirfd.
84286         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
84287         requirements.
84288
84289         Module euidaccess.
84290         * m4/euidaccess.m4: New file.
84291
84292         Module file-type.
84293         * m4/file-type.m4: New file.
84294
84295         Module fileblocks.
84296         * m4/fileblocks.m4: New file.
84297
84298         Module filemode.
84299         * m4/filemode.m4: New file.
84300
84301         Module isdir.
84302         * m4/isdir.m4: New file.
84303
84304         Module lchown.
84305         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
84306         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
84307
84308         Module makepath.
84309         * m4/makepath.m4: New file.
84310
84311         Module modechange.
84312         * m4/modechange.m4: New file.
84313
84314         Module mountlist.
84315         * m4/mountlist.m4: New file.
84316         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
84317         Indentation.
84318
84319         Module path-concat.
84320         * m4/path-concat.m4: New file.
84321
84322         Module pathmax.
84323         * m4/pathmax.m4: New file.
84324
84325         Module same.
84326         * m4/same.m4: New file.
84327
84328         Module save-cwd.
84329         * m4/save-cwd.m4: New file.
84330
84331         Module savedir.
84332         * m4/savedir.m4: New file.
84333
84334         Module xgetcwd.
84335         * m4/xgetcwd.m4: New file.
84336         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
84337
84338         Module xreadlink.
84339         * m4/xreadlink.m4: New file.
84340
84341         Module safe-read.
84342         * m4/safe-read.m4: New file.
84343
84344         Module safe-write.
84345         * m4/safe-write.m4: New file.
84346
84347         Module closeout.
84348         * m4/closeout.m4: New file.
84349
84350         Module stdio-safer.
84351         * m4/stdio-safer.m4: New file.
84352
84353         Module getpass.
84354         * m4/getpass.m4: New file.
84355
84356         Module getugroups.
84357         * m4/getugroups.m4: New file.
84358
84359         Module group-member.
84360         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
84361         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
84362
84363         Module idcache.
84364         * m4/idcache.m4: New file.
84365
84366         Module userspec.
84367         * m4/userspec.m4: New file.
84368
84369         Module gettime.
84370         * m4/clock_time.m4: New file.
84371         * m4/gettime.m4: New file.
84372
84373         Module settime.
84374         * m4/settime.m4: New file.
84375
84376         Module posixtm.
84377         * m4/posixtm.m4: New file.
84378
84379         Module gethostname.
84380         * m4/gethostname.m4: New file.
84381
84382         Module canon-host.
84383         * m4/canon-host.m4: New file.
84384
84385         Module gettext.
84386         * m4/codeset.m4: New file, from gettext-0.11.5.
84387         * m4/gettext.m4: New file, from gettext-0.11.5.
84388         * m4/glibc21.m4: New file, from gettext-0.11.5.
84389         * m4/iconv.m4: New file, from gettext-0.11.5.
84390         * m4/intdiv0.m4: New file, from gettext-0.11.5.
84391         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
84392         * m4/inttypes.m4: New file, from gettext-0.11.5.
84393         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
84394         * m4/isc-posix.m4: New file, from gettext-0.11.5.
84395         * m4/lcmessage.m4: New file, from gettext-0.11.5.
84396         * m4/lib-ld.m4: New file, from gettext-0.11.5.
84397         * m4/lib-link.m4: New file, from gettext-0.11.5.
84398         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
84399         * m4/progtest.m4: New file, from gettext-0.11.5.
84400         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
84401         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
84402         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
84403
84404         Module localcharset.
84405         * m4/localcharset.m4: New file.
84406
84407         Module hard-locale.
84408         * m4/hard-locale.m4: New file.
84409
84410         Module mbswidth.
84411         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
84412         onceonly macros.
84413         * m4/mbrtowc.m4: Add comment.
84414
84415         Module memcasecmp.
84416         * m4/memcasecmp.m4: New file.
84417
84418         Module memcoll.
84419         * m4/memcoll.m4: New file.
84420
84421         Module unicodeio.
84422         * m4/unicodeio.m4: New file.
84423
84424         Module rpmatch.
84425         * m4/rpmatch.m4: New file.
84426
84427         Module yesno.
84428         * m4/yesno.m4: New file.
84429
84430         Module exitfail.
84431         * m4/exitfail.m4: New file.
84432
84433         Module c-stack.
84434         * m4/c-stack.m4 (gl_C_STACK): New macro.
84435         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
84436
84437         Module error.
84438         * m4/error.m4 (gl_ERROR): New macro.
84439         (jm_PREREQ_ERROR): Use onceonly macros.
84440
84441         Module fatal.
84442         * m4/fatal.m4: New file.
84443
84444         Module getloadavg.
84445         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
84446         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
84447
84448         Module getpagesize.
84449         * m4/getpagesize.m4: New file.
84450
84451         Module getusershell.
84452         * m4/getusershell.m4: New file.
84453
84454         Module physmem.
84455         * m4/physmem.m4: New file.
84456
84457         Module posixver.
84458         * m4/posixver.m4: New file.
84459
84460         Module quotearg.
84461         * m4/quotearg.m4: New file.
84462
84463         Module quote.
84464         * m4/quote.m4: New file.
84465
84466         Module readutmp.
84467         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84468
84469         Module sig2str.
84470         * m4/sig2str.m4: New file.
84471
84472         Other.
84473         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84474         ulonglong.m4.
84475         * m4/intmax_t.m4: New file.
84476         * m4/d-type.m4: Indentation.
84477         * m4/jm-macros.m4: Update.
84478         * m4/prereq.m4 (jm_PREREQ): Update.
84479         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84480         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84481         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84482         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84483         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84484         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84485         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84486         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84487         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84488         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84489         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84490         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84491         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84492         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84493         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84494         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84495         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84496         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84497         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84498
84499 2002-12-24  Bruno Haible  <bruno@clisp.org>
84500
84501         * MODULES.txt: Update according to m4/ changes.
84502
84503         Module gettext.
84504         * config.rpath: New file, from gettext-0.11.5.
84505
84506         * modules/*: New module descriptions.
84507         * gnulib-tool: New file.
84508         * MODULES.html.sh: New file.
84509
84510 2002-12-21  Karl Berry  <karl@gnu.org>
84511
84512         * doc/fdl.texi: update to version 1.2.
84513
84514 2002-12-19  Karl Berry  <karl@gnu.org>
84515
84516         * config/config.guess: update from prep.
84517
84518 2002-12-18  Bruno Haible  <bruno@clisp.org>
84519
84520         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84521         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84522
84523 2002-12-17  Bruno Haible  <bruno@clisp.org>
84524
84525         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
84526         stdlib.h, string.h.
84527
84528 2002-12-17  Bruno Haible  <bruno@clisp.org>
84529
84530         * lib/canon-host.c (strdup): Remove unused declaration.
84531
84532         * lib/fsusage.c: Include full_read.h.
84533         (get_fs_usage): Use full_read instead of safe_read.
84534
84535         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
84536
84537 2002-12-12  Karl Berry  <karl@gnu.org>
84538
84539         * config/config.guess: update from prep.
84540
84541 2002-12-11  Bruno Haible  <bruno@clisp.org>
84542
84543         * m4/setenv.m4: New file, from gettext-0.11.5.
84544
84545 2002-12-11  Bruno Haible  <bruno@clisp.org>
84546
84547         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
84548         not unsetenv().
84549         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
84550         modifications:
84551
84552         2002-12-11  Bruno Haible  <bruno@clisp.org>
84553
84554                 * setenv.c (alloca): Fall back to malloc.
84555                 (freea): New macro.
84556                 (setenv): Use freea() to free memory allocated with alloca().
84557
84558         2002-11-13  Bruno Haible  <bruno@clisp.org>
84559
84560                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
84561                 function declarations.
84562                 * unsetenv.c (unsetenv): Likewise.
84563
84564         2002-03-04  Bruno Haible  <bruno@clisp.org>
84565
84566                 Portability to AIX 4.3.3.
84567                 * unsetenv.c: New file, extracted from setenv.c.
84568                 * setenv.c: Move the unsetenv() function to unsetenv.c.
84569
84570         2001-12-20  Bruno Haible  <bruno@clisp.org>
84571
84572                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
84573                 use malloc instead. For SunOS 4.
84574
84575         2001-12-11  Bruno Haible  <bruno@clisp.org>
84576
84577                 * setenv.c: Declare alloca.
84578                 (compar_fn_t): New typedef.
84579                 (KNOWN_VALUE, STORE_VALUE): Use it.
84580
84581         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
84582         setenv.h.
84583
84584 2002-12-10  Paul Eggert  <eggert@twinsun.com>
84585
84586         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
84587         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
84588         Choose values that are less likely to collide with system fnmatch
84589         options.
84590         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
84591         defined (e.g., a pure POSIX system).
84592         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
84593         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
84594
84595 2002-12-06  Paul Eggert  <eggert@twinsun.com>
84596
84597         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
84598         a pain in practice to deal with generated m4 files.  This change
84599         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
84600
84601         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
84602         and jm-glibc-io.m4, as they are no longer a special case.
84603         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
84604         kludge and the auto-generation stuff.  Check only whether the
84605         functions are declared, not whether they exist, since older hosts
84606         that don't declare the functions can't use the optimization anyway.
84607
84608 2002-12-06  Jim Meyering  <jim@meyering.net>
84609
84610         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
84611
84612         Merge in changes from libc's misc/error.c, in preparation
84613         for the merge of gnulib's changes back into libc.
84614
84615         * lib/error.c (_): Define only if not already defined.
84616         Move definition to follow all #include directives.
84617         Include unlocked-io.h only if !_LIBC.
84618         [_LIBC]: Include <libio/libioP.h>.
84619         [USE_IN_LIBIO]: Include <libio/iolibio.h>
84620         (fflush): Tweak definition to use INTUSE.
84621         (putc): Define.
84622
84623 2002-12-05  Paul Eggert  <eggert@twinsun.com>
84624
84625         * lib/alloca.c [defined emacs]: Include "lisp.h".
84626         (xalloc_die) [defined emacs]: New macro.
84627         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
84628         [! defined emacs]: Include <xalloc.h>.
84629         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
84630         (pointer): Typedef to POINTER_TYPE *.
84631         (malloc): Remove decl; we now always use xmalloc.
84632         (alloca): Use old-style definition, since Emacs needs this.
84633         Check for arithmetic overflow when computing combined size.
84634
84635 2002-12-04  Paul Eggert  <eggert@twinsun.com>
84636
84637         Do not generate unlocked-io.h automatically, since it's easier to
84638         maintain it by hand.
84639
84640         * lib/unlocked-io.h: New file, from GNU diffutils,
84641         but with proper copyright notice and attribution.
84642         * lib/gen-uio: Remove.
84643         * lib/Makefile.am: Add copyright notice.
84644         (libfetish_a_SOURCES): Add unlocked-io.h.
84645         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
84646         (DISTCLEANFILES, io_functions): Remove macros.
84647         (EXTRA_DIST): Remove gen_uio.
84648         (unlocked-io.h): Remove rule.
84649
84650 2002-12-04  Jim Meyering  <jim@meyering.net>
84651
84652         Reflect the fact that stat.c and lstat.c are no longer generated.
84653         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
84654         (DISTCLEANFILES): Likewise.
84655         (EXTRA_DIST): Likewise.
84656         (all_local): Don't depend on stat.c or lstat.c.
84657         (stat.c, lstat.c): Remove rules.
84658         (EXTRA_DIST): Remove xstat.in.
84659
84660         * lib/xstat.in: Remove file.  Contents moved into stat.c.
84661         * lib/stat.c: New file.  Contents mostly from xstat.in.
84662         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
84663         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
84664
84665         * lib/safe-read.c: Rework so that it may serve to define safe_write,
84666         too.
84667         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
84668
84669 2002-12-03  Jim Meyering  <jim@meyering.net>
84670
84671         * lib/safe-read.c, safe-write.c: Change variable names and comments,
84672         but not semantics, to minimize the differences between these two files.
84673         (safe_read): Change comment to mention SAFE_READ_ERROR.
84674
84675         * lib/safe-read.c (IS_EINTR): Define.
84676         (safe_read): Use IS_EINTR in place of in-function cpp directives.
84677
84678 2002-12-02  Jim Meyering  <jim@meyering.net>
84679
84680         * lib/safe-read.c (EINTR): Define.
84681         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84682         (INT_MAX): Provide fallback.
84683         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
84684
84685         * lib/safe-read.h (SAFE_READ_ERROR): Define.
84686
84687 2002-12-02  Bruno Haible  <bruno@clisp.org>
84688
84689         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
84690         Define, taken from safe-read.c.
84691         (INT_MAX): Provide fallback.
84692         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
84693         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
84694
84695         * lib/safe-read.c (EINTR): Remove definition.
84696         (safe_read): Don't use EINTR if it is absent.
84697
84698 2002-12-01  Jim Meyering  <jim@meyering.net>
84699
84700         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
84701         zero.
84702         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
84703
84704 2002-11-27  Paul Eggert  <eggert@twinsun.com>
84705
84706         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
84707         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
84708         with `if (! (value < limit)) abort ();', for readability.
84709
84710 2002-11-26  Karl Berry  <karl@gnu.org>
84711
84712         * lib/strdup.c: copy from libc again, with jim's ok.
84713         * lib/.cppi-disable: re-add strdup.c
84714
84715 2002-11-25  Karl Berry  <karl@gnu.org>
84716
84717         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
84718         instead of "strtol.c".
84719
84720 2002-11-25  Karl Berry  <karl@gnu.org>
84721
84722         * config/install-sh: update from automake for variable quoting, $0 in
84723         error msgs, etc.
84724
84725         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
84726         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
84727         entry.
84728
84729 2002-11-25  Jim Meyering  <jim@meyering.net>
84730
84731         * lib/mktime.c: Sync from libc, now that it has the latest fix.
84732
84733 2002-11-24  Karl Berry  <karl@gnu.org>
84734
84735         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
84736         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
84737
84738 2002-11-24  Jim Meyering  <jim@meyering.net>
84739
84740         Update from coreutils:
84741
84742         * lib/mktime.c: Merge in changes from libc.
84743
84744         Avoid a link-time failure on some Linux systems.
84745         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
84746         (otherwise).
84747         (__mon_yday): Declare with the STATIC attribute.
84748         (__mktime_internal): Likewise.
84749         Based on a report from Greg Schafer.
84750
84751 2002-11-23  Jim Meyering  <jim@meyering.net>
84752
84753         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
84754         Use `unsigned', not `int', as type of index.
84755
84756         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
84757
84758         * lib/fsusage.c: Remove unneeded parentheses around operands of
84759         `defined'.
84760
84761 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84762
84763         * lib/quotearg.h: Allow multiple inclusion by surrounding with
84764         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
84765         so that we can be included first.
84766         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
84767         * lib/quotearg.c: Include quotearg.h immediately after config.h.
84768         No need to include stddef.h or sys/types.h any more.
84769         Surround local include files with "", not "<>".
84770         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
84771         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
84772         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
84773         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
84774         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
84775         (ISPRINT): Remove; no longer needed now that we assume C89.
84776
84777         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
84778         Preserve errno.
84779
84780         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
84781         quotearg_char): Use SIZE_MAX rather than
84782         (size_t) -1 when we are talking about "infinity".
84783
84784         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
84785
84786 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84787
84788         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
84789         hint that one should use `if (! x) abort ();' rather than `assert
84790         (x);', and anyway it's one less thing to worry about configuring.
84791         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
84792         hash_rehash, hash_insert): Use abort rather than assert.
84793
84794 2002-11-22  Bruno Haible  <bruno@clisp.org>
84795
84796         * lib/safe-read.h: Assume C89. Add comments.
84797         (safe_read): Change return type to size_t.
84798         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
84799         byte counts > SSIZE_MAX correctly.
84800         * lib/safe-write.h: New file.
84801         * lib/safe-write.c: New file.
84802         * lib/full-read.h: New file.
84803         * lib/full-read.c: New file.
84804         * lib/full-write.h: Assume C89. Add comments.
84805         * lib/full-write.c: Include safe-write.h.
84806         (full_write): Rewritten to use safe_write.
84807         Suggested by Jim Meyering and Paul Eggert.
84808
84809 2002-11-21  Jim Meyering  <jim@meyering.net>
84810
84811         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
84812
84813         Merge in changes from the coreutils.
84814
84815         2002-09-25  Paul Eggert  <eggert@twinsun.com>
84816         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
84817         <stdint.h>.
84818         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
84819         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
84820         int.  Work more efficiently if X is the same width as uintmax_t.
84821         Do not compare X to -1, to avoid bogus compiler warning.
84822         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
84823         Don't assume that f_frsize and f_bsize are the same type.
84824
84825         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
84826         warning on FreeBSD.
84827
84828         * lib/makepath.c (make_path): Restore umask *before* creating the final
84829         component.
84830         (make_path): Minor reformatting.
84831
84832         * lib/xmalloc.c: Adjust to work with new autoconf macros,
84833         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
84834         HAVE_MALLOC/HAVE_REALLOC.
84835
84836         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
84837         dummy ones.  At least on GNU/Linux systems, `auto' means something
84838         else.
84839         From Michael Stone.
84840
84841 2002-11-21  Bruno Haible  <bruno@clisp.org>
84842
84843         Remove case insensitive option matching.
84844         * lib/argmatch.h (argcasematch): Remove declaration.
84845         (ARGCASEMATCH): Remove macro.
84846         (__xargmatch_internal): Remove case_sensitive argument.
84847         (XARGMATCH): Update.
84848         (XARGCASEMATCH): Remove macro.
84849         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
84850         case_sensitive argument.
84851         (argcasematch): Remove function.
84852         (__xargmatch_internal): Remove case_sensitive argument.
84853         (main): Use XARGMATCH instead of XARGCASEMATCH.
84854
84855         * lib/xmalloc.c: Change compile-time error message. Add comment about
84856         required autoconf version.
84857
84858 2002-11-20  Paul Eggert  <eggert@twinsun.com>
84859
84860         Merge argmatch cleanups from Bison.  Assume C89.
84861
84862         * lib/argmatch.c: Include config.h here, not in argmatch.h.
84863         Include stdlib.h, for EXIT_FAILURE.
84864         Always include <string.h>, since we assume C89.
84865         (EXIT_FAILURE): Remove pre-C89 bug workaround.
84866         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
84867         Include <stddef.h> instead, since it's all we need for size_t.
84868         (PARAMS): Remove.  All uses removed.
84869         (ARRAY_CARDINALITY): Do not bother to #undef.
84870         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
84871         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84872         Remove unnecessary parentheses.
84873         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84874         Insert necessary parentheses.
84875         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
84876         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
84877
84878 2002-11-19  Bruno Haible  <bruno@clisp.org>
84879
84880         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
84881         * lib/mbswidth.h: Include <stddef.h>, for size_t.
84882
84883         * lib/mbswidth.h (PARAMS): Remove macro.
84884         (mbswidth, mbsnwidth): Use ANSI C function declarations.
84885         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
84886
84887         * lib/gcd.h (PARAMS): Remove macro.
84888         (gcd): Use ANSI C function declarations.
84889         * lib/gcd.c (gcd): Likewise.
84890
84891 2002-11-15  Bruno Haible  <bruno@clisp.org>
84892
84893         * lib/strcspn.c: Include <stddef.h>.
84894         (strcspn): Use ANSI C function declaration. Change return type to
84895         size_t. Use NULL.
84896         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
84897         (strpbrk): Use NULL.
84898         * lib/strpbrk.h (PARAMS): Remove macro.
84899         (strpbrk): Use ANSI C function declaration.
84900         * lib/strstr.c: Don't include <sys/types.h>.
84901         * lib/strstr.h (PARAMS): Remove macro.
84902         (strstr): Use ANSI C function declarations.
84903
84904 2002-11-14  Karl Berry  <karl@gnu.org>
84905
84906         * config/mkinstalldirs: `do' on separate line, instead of
84907         `for var; do'.
84908
84909 2002-11-06  Bruno Haible  <bruno@clisp.org>
84910
84911         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
84912         * lib/gcd.c (gcd): Likewise.
84913
84914 2002-11-05  Bruno Haible  <bruno@clisp.org>
84915
84916         * lib/gcd.h: New file, from gettext-0.11.5.
84917         * lib/gcd.c: New file, from gettext-0.11.5.
84918
84919 2002-11-05  Bruno Haible  <bruno@clisp.org>
84920
84921         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84922         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84923         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84924         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84925
84926         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
84927         <libintl.h>.
84928         * lib/makepath.c: Include gettext.h instead of <locale.h> and
84929         <libintl.h>.
84930
84931         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
84932         * lib/human.c: Include gettext.h instead of <libintl.h>.
84933         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
84934         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
84935         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
84936         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
84937         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
84938         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
84939         (textdomain): Remove definition.
84940         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
84941
84942         * lib/long-options.c: Remove include of <libintl.h> and definition of
84943         _.
84944         * lib/same.c: Remove include of <libintl.h> and definition of _.
84945
84946 2002-11-04  Owen Taylor  <otaylor@redhat.com>
84947
84948         * lib/config.charset: A few additions for Solaris.
84949
84950 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
84951
84952         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
84953         * lib/localcharset.c (locale_charset): Declare as extern "C".
84954
84955 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
84956
84957         * lib/config.charset: msdos in uk_UA uses CP1125.
84958
84959 2002-11-04  Bruno Haible  <bruno@clisp.org>
84960
84961         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
84962         * lib/strcase.h: New file, from GNU gettext-0.11.5.
84963         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
84964         * lib/strstr.h: New file, from GNU gettext-0.11.5.
84965         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
84966
84967 2002-11-04  Bruno Haible  <bruno@clisp.org>
84968
84969         * lib/localcharset.c (locale_charset): Don't return an empty string.
84970
84971 2002-11-04  Bruno Haible  <bruno@clisp.org>
84972
84973         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
84974         aliases.
84975
84976 2002-11-04  Bruno Haible  <bruno@clisp.org>
84977
84978         * lib/config.charset: Update for newest glibc. Add canonical names
84979         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
84980
84981 2002-11-04  Bruno Haible  <bruno@clisp.org>
84982
84983         * lib/config.charset: Add support for NetBSD.
84984
84985 2002-11-04  Bruno Haible  <bruno@clisp.org>
84986
84987         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
84988
84989 2002-11-01  Bruno Haible  <bruno@clisp.org>
84990
84991         * configure.in: Add AC_CONFIG_AUX_DIR call.
84992         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
84993         test/Makefile.
84994         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
84995
84996 2002-09-28  Karl Berry  <karl@gnu.org>
84997
84998         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
84999         installed automake until the next release, since changes have been
85000         made.
85001
85002 2002-09-25  Karl Berry  <karl@gnu.org>
85003
85004         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
85005         * lib/getopt*: copy from libc/posix.
85006         * lib/gettext.h: copy from gettext.
85007         * lib/.cppi-disable: add strdup.c, gettext.h.
85008
85009 2002-09-25  Karl Berry  <karl@gnu.org>
85010
85011         * config/srclist.txt: enable gettext.h check.
85012         * config/config.{guess,sub}: update from prep.
85013         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
85014                 from automake 1.6.3.
85015         See srclist*.
85016
85017 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
85018
85019         * regex.c (PATFETCH): Remove the translating fetch.
85020         (PATFETCH_RAW): Rename to PATFETCH.
85021         (set_image_of_range): New fun.
85022         (SET_RANGE_TABLE_WORK_AREA): Use it.
85023         (regex_compile): Don't translate the pattern chars so eagerly.
85024         Only do it when inserting an `exactn' bytecode or when handling
85025         a char-range.
85026         (mutually_exclusive_p): Avoid empty statement.
85027
85028 2002-07-06  Jim Meyering  <meyering@lucent.com>
85029
85030         * m4/README: Don't mention Makefile.am.in.
85031         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
85032
85033 2002-07-01  Jim Meyering  <meyering@lucent.com>
85034
85035         * lib/c-stack.c: Include sys/time.h.
85036         From Volker Borchert.
85037
85038 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85039
85040         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
85041
85042 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85043
85044         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
85045         New macro.  Use it uniformly instead of
85046         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
85047         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
85048         reported by Vin Shelton.
85049
85050 2002-06-22  Paul Eggert  <eggert@twinsun.com>
85051
85052         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
85053         Do not assume SA_SIGINFO behavior.
85054         Bug reported by Jim Meyering on NetBSD 1.5.2.
85055
85056 2002-06-22  Jim Meyering  <meyering@lucent.com>
85057
85058         * m4/c-stack.m4: New file, from diffutils-2.8.2.
85059         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
85060
85061         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
85062         now that configure.ac uses AC_GNU_SOURCE.
85063         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
85064         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
85065
85066         Update to latest tools.  Suggestions from Paul Eggert.
85067         * m4/stdbool.m4: New file, from diffutils-2.8.2.
85068         * m4/gnu-source.m4: Update from diffutils-2.8.2.
85069         * m4/fnmatch.m4: Likewise.
85070         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
85071         to AC_HEADER_STDBOOL
85072
85073 2002-06-22  Jim Meyering  <meyering@lucent.com>
85074
85075         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
85076         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
85077
85078 2002-06-22  Jim Meyering  <meyering@lucent.com>
85079
85080         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
85081
85082         * lib/exitfail.c, exitfail.h: Likewise.
85083         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
85084
85085         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
85086         of fnmatch.h.
85087         (EXTRA_DIST): Add fnmatch_loop.c.
85088         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
85089
85090         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
85091         * lib/fnmatch.c: Update from diffutils-2.8.2.
85092         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
85093         * lib/fnmatch.h: Remove file.
85094
85095 2002-06-21  Jim Meyering  <meyering@lucent.com>
85096
85097         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
85098         * m4/mbrtowc.m4: Likewise.
85099
85100         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
85101         * m4/mbswidth.m4: Reflect name change:
85102         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
85103         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
85104
85105         * m4/lib-link.m4: Update from gettext-0.11.2.
85106         * m4/gettext.m4: Likewise.
85107
85108         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
85109         From Alfred M. Szmidt.
85110
85111 2002-06-18  Paul Eggert  <eggert@twinsun.com>
85112
85113         * lib/file-type.h: Report an error if neither S_ISREG nor
85114         S_IFREG is defined, instead of using a test specific to glibc
85115         2.2.  This should be safe, since POSIX requires S_ISREG and
85116         Unix Version 7 had S_IFREG.  We don't need to check for
85117         <sys/types.h> since we don't use any symbols that it defines.
85118
85119 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
85120
85121         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
85122         $@-t, so that each temporary file name is unique and valid in the first
85123         8 characters, for operation under DOS.
85124
85125 2002-06-15  Paul Eggert  <eggert@twinsun.com>
85126
85127         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
85128
85129 2002-06-15  Jim Meyering  <meyering@lucent.com>
85130
85131         Work even with DJGPP 2.03, which lacks support for symlinks.
85132         From Richard Dawe.
85133         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
85134         is defined.
85135         * lib/lchown.c (S_ISLNK): Likewise.
85136
85137 2002-06-15  Jim Meyering  <meyering@lucent.com>
85138
85139         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
85140         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
85141         have been included before this file.
85142
85143 2002-06-14  Jim Meyering  <meyering@lucent.com>
85144
85145         * lib/file-type.h: Use the version from diffutils-2.8.2.
85146         * lib/file-type.c: Likewise.
85147
85148 2002-06-07  Jim Meyering  <meyering@lucent.com>
85149
85150         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
85151         They're needed at least for NetBSD 1.5.2.
85152         ($statxfs_includes): Include those same headers.
85153         ($statxfs_includes): Include sys/vfs.h if available.
85154         ($statxfs_includes): Likewise for sys/statvfs.h.
85155         Check for the following members in both structs statfs and statvfs:
85156         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
85157
85158 2002-06-01  Jim Meyering  <meyering@lucent.com>
85159
85160         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
85161         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
85162
85163 2002-05-28  Jim Meyering  <meyering@lucent.com>
85164
85165         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
85166         Reported by Volker Borchert.
85167
85168 2002-05-27  Jim Meyering  <meyering@lucent.com>
85169
85170         Fix a problem seen only on nonconforming systems whereby ls.c's
85171         use of localtime, and then of gettimeofday would cause trouble:
85172         the localtime call used to initialize rpl_gettimeofday's save
85173         mechanism would clobber ls's current local time information so
85174         that in any long listing the first file would always be listed
85175         with date 1970-01-01.  Analysis by Volker Borchert.
85176
85177         * lib/gettimeofday.c (localtime): Undefine.
85178         (rpl_localtime): New function.
85179
85180 2002-05-27  Jim Meyering  <meyering@lucent.com>
85181
85182         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
85183         localtime.
85184
85185         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
85186         use the replacement function; it wouldn't resolve at link time.
85187         Reported by Volker Borchert.
85188
85189 2002-05-22  Jim Meyering  <meyering@lucent.com>
85190
85191         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
85192         file-type.h.
85193         * lib/file-type.h: New file.
85194         * lib/file-type.c (file_type): New file/function.  Extracted from
85195         diffutils.
85196
85197 2002-04-30  Jim Meyering  <meyering@lucent.com>
85198
85199         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
85200
85201 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85202
85203         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
85204
85205 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85206
85207         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
85208         Do not check for alloca.h (no longer used) or stdbool.h (was never
85209         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
85210
85211 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85212
85213         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
85214
85215 2002-04-29  Jim Meyering  <meyering@lucent.com>
85216
85217         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
85218         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
85219         Use AC_FUNC_STRNLEN here instead.
85220
85221         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
85222         With autoconf-2.53a, it's part of AC_PROG_CC.
85223
85224 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85225
85226         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
85227         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
85228
85229 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85230
85231         * lib/sig2str.h, lib/sig2str.c: New files.
85232         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
85233
85234 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85235
85236         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
85237         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
85238         of 127, since 64 is the largest conceivable number for ancient
85239         nonstandard hosts.
85240         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
85241
85242 2002-04-28  Jim Meyering  <meyering@lucent.com>
85243
85244         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
85245
85246 2002-04-24  Jim Meyering  <meyering@lucent.com>
85247
85248         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
85249         (jm_PREREQ): Use it.
85250
85251         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
85252         mach/mach.h fcntl.h.
85253         Check for this function: setlocale.
85254
85255 2002-04-24  Jim Meyering  <meyering@lucent.com>
85256
85257         * lib/gettext.h: New file, from Gettext.
85258         * lib/Makefile.am (INCLUDES): Remove -I../intl.
85259         (libfetish_a_SOURCES): Add gettext.h.
85260
85261 2002-04-16  Jim Meyering  <meyering@lucent.com>
85262
85263         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
85264         ut_pid, ut_id, ut_exit.
85265
85266 2002-04-16  Jim Meyering  <meyering@lucent.com>
85267
85268         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
85269         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
85270         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
85271
85272 2002-04-12  Jim Meyering  <meyering@lucent.com>
85273
85274         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
85275         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
85276         existence of the getmntinfo function.  Needed for Darwin 5.3.
85277
85278         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
85279         This is necessary at least on Darwin 5.3.
85280
85281         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
85282         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
85283         strnlen.o in the library, and that makes some versions of ranlib
85284         object.
85285
85286 2002-04-12  Jim Meyering  <meyering@lucent.com>
85287
85288         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
85289
85290 2002-04-09  Jim Meyering  <meyering@lucent.com>
85291
85292         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
85293         to be more precise.  Rather than saying we're checking whether the
85294         function `works', say what we're testing.
85295         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
85296         Reported by Bruno Haible.
85297
85298 2002-03-10  Jim Meyering  <meyering@lucent.com>
85299
85300         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
85301         Suggestion from Santiago Vila.
85302
85303 2002-03-08  Jim Meyering  <meyering@lucent.com>
85304
85305         * lib/rename.c: Mention that this wrapper is needed also on
85306         mips-dec-ultrix4.4 systems.
85307
85308 2002-03-02  Jim Meyering  <meyering@lucent.com>
85309
85310         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
85311         not HAVE_CLOCK_SETTIME.
85312
85313 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85314
85315         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
85316         Check for clock_settime.
85317
85318 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85319
85320         * lib/nanosleep.h: Rename to....
85321         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
85322
85323         * lib/gettime.c: New file.
85324         * lib/settime.c: New file.
85325         * lib/stime.c: Remove.
85326
85327         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
85328         timespec.h.  Remove nanosleep.h.
85329
85330 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85331
85332         * m4/acl.m4: New file.
85333         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
85334         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
85335
85336 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85337
85338         * lib/acl.c, lib/acl.h: New files.
85339         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
85340
85341 2002-02-24  Jim Meyering  <meyering@lucent.com>
85342
85343         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
85344         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
85345         cause trouble.  Reported by Nelson Beebe.
85346
85347 2002-02-23  Paul Eggert  <eggert@twinsun.com>
85348
85349         * lib/path-concat.c (xpath_concat): Reorder code to pacify
85350         compilers that don't know that xalloc_die never returns.
85351
85352 2002-02-20  Jim Meyering  <meyering@lucent.com>
85353
85354         * lib/getdate.c: Regenerate using bison-1.33.
85355
85356 2002-02-17  Jim Meyering  <meyering@lucent.com>
85357
85358         * config/config.guess (main): Don't use `head -1'; it's no longer
85359         portable. Use `sed 1q' instead.
85360
85361 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
85362
85363         * m4/codeset.m4: Upgrade to gettext-0.11.
85364         * m4/gettext.m4: Upgrade to gettext-0.11.
85365         * m4/glibc21.m4: Upgrade to gettext-0.11.
85366         * m4/iconv.m4: Upgrade to gettext-0.11.
85367         * m4/isc-posix.m4: Upgrade to gettext-0.11.
85368         * m4/lcmessage.m4: Upgrade to gettext-0.11.
85369         * m4/lib-ld.m4: New file, from gettext-0.11.
85370         * m4/lib-link.m4: New file, from gettext-0.11.
85371         * m4/lib-prefix.m4: New file, from gettext-0.11.
85372         * m4/progtest.m4: Upgrade to gettext-0.11.
85373
85374 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85375
85376         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
85377         (jm_PREREQ): Use it.
85378
85379 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85380
85381         * lib/posixver.c, lib/posixver.h: New files.
85382         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85383
85384 2002-02-02  Paul Eggert  <eggert@twinsun.com>
85385             Bruno Haible  <bruno@clisp.org>
85386
85387         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
85388         (fwrite_success_callback): New declaration.
85389         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
85390         print_unicode_char. Call failure callback instead of error.
85391         (fwrite_success_callback): New function.
85392         (exit_failure_callback): New function.
85393         (fallback_failure_callback): New function.
85394         (print_unicode_char): Call unicode_to_mb.
85395
85396 2002-01-26  Jim Meyering  <meyering@lucent.com>
85397
85398         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
85399         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
85400
85401 2002-01-26  Jim Meyering  <meyering@lucent.com>
85402
85403         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
85404
85405 2002-01-22  Paul Eggert  <eggert@twinsun.com>
85406
85407         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
85408
85409 2002-01-22  Jim Meyering  <meyering@lucent.com>
85410
85411         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
85412         Otherwise, some versions of automake would omit the rule that makes
85413         Makefile from Makefile.in.
85414
85415 2002-01-21  Paul Eggert  <eggert@twinsun.com>
85416
85417         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
85418         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85419         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
85420         (memcoll): Set errno to zero if there is no error.
85421
85422         * lib/quotearg.c (quotearg_buffer_restyled):
85423         Fix bug with quoting buffers containing NUL when backslashing escapes.
85424         This bug was exposed by the other changes in this patch.
85425         (quotearg_n_options): New arg ARGSIZE.
85426         All callers changed.
85427         (quoting_options_from_style): New function.
85428         (quotearg_n_style): Use it.
85429         (quotearg_n_style_mem): New function.
85430
85431         * lib/quotearg.h (quotearg_n_style_mem): New function.
85432
85433 2002-01-19  Jim Meyering  <meyering@lucent.com>
85434
85435         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
85436         Remove useless quotes: DF_PROG="df".
85437         * m4/strnlen.m4: New file.
85438
85439 2002-01-16  Paul Eggert  <eggert@twinsun.com>
85440
85441         * lib/backupfile.c (ISDIGIT): Comment fix.
85442         * lib/getdate.y (ISDIGIT): Likewise.
85443         * lib/posixtm.c (ISDIGIT, year): Likewise.
85444         * lib/strverscmp.c (ISDIGIT): Likewise.
85445         * lib/userspec.c (ISDIGIT): Likewise.
85446
85447 2002-01-16  Jim Meyering  <meyering@lucent.com>
85448
85449         * lib/getdate.y: Add three semicolons, each just before a closing
85450         brace. Bison (as of version 1.31) no longer papers over that mistake.
85451
85452 2002-01-05  Jim Meyering  <meyering@lucent.com>
85453
85454         * lib/version-etc.c (version_etc_copyright): Update copyright year.
85455
85456 2001-12-19  Paul Eggert  <eggert@twinsun.com>
85457
85458         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
85459         not silently exit merely because the output buffer happens to
85460         have nothing pending.
85461
85462 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85463
85464         See the big note in ../ChangeLog.
85465         * lib/human.c (suffixes): Prefer K to k for 1024.
85466         (generate_suffix_backwards): New function.
85467         (human_readable_inexact): Use it.
85468         * lib/xstrtol.c (__xstrtol): If there is no number but there
85469         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85470         Accept 'K' as well as 'k'.
85471
85472 2001-12-15  Jim Meyering  <meyering@lucent.com>
85473
85474         * lib/regex.h (__restrict_arr): Update from libc.
85475
85476         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85477         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85478         (STREQ): Define.
85479
85480 2001-12-14  Jim Meyering  <meyering@lucent.com>
85481
85482         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85483         Suggestion from Bruno Haible.
85484
85485 2001-12-10  Jim Meyering  <meyering@lucent.com>
85486
85487         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85488         xrealloc, Instead, include "xalloc.h".
85489         (initbuffer): Don't cast xmalloc return value to char*.
85490         (readline): Reword comment.
85491         Don't cast xrealloc return value to char*
85492         Return NULL, not 0.
85493
85494 2001-12-09  Jim Meyering  <meyering@lucent.com>
85495
85496         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85497         about `signed and unsigned type in conditional expression'.
85498         * lib/posixtm.c (posix_time_parse): Likewise.
85499
85500         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85501
85502         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85503         to avoid a pedantic warning.
85504
85505         * lib/getstr.c: Don't include assert.h.
85506         (getstr): Remove warning-evoking assertions.
85507         Return -1 if offset parameter is out of bounds.
85508         Change the type of a local from int to size_t.
85509
85510         * lib/strftime.c (my_strftime_localtime_r): Include this function
85511         definition in the `#if ! HAVE_TM_GMTOFF' block.
85512
85513         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85514         Include xalloc.h instead.
85515
85516 2001-12-02  Jim Meyering  <meyering@lucent.com>
85517
85518         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85519         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85520         included.
85521
85522         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85523         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85524
85525 2001-11-30  Akim Demaille  <akim@epita.fr>
85526
85527         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
85528         before being defined.
85529
85530 2001-11-27  Paul Eggert  <eggert@twinsun.com>
85531
85532         * lib/quotearg.h (quotearg_n, quotearg_n_style):
85533         First arg is int, not unsigned.
85534         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
85535         (SIZE_MAX, UINT_MAX): New macros.
85536         (quotearg_n_options): Abort if N is negative.
85537         Avoid overflow check on hosts where size_t is 64 bits and int
85538         is 32 bits, as overflow is impossible there.
85539         Fix off-by-one typo that caused unnecessary reallocation.
85540
85541 2001-11-27  Jim Meyering  <meyering@lucent.com>
85542
85543         * lib/tempname.c: Merge with version from libc.
85544         * lib/regex.c: Likewise.
85545
85546         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
85547         systems for which STDC_HEADERS is 0, it was not included, resulting in
85548         a warning about an integer-to-pointer conversion problem with getenv.
85549         Reported by Volker Borchert.
85550
85551 2001-11-26  Jim Meyering  <meyering@lucent.com>
85552
85553         * lib/gtod.h: Remove file.
85554         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
85555         * lib/gettimeofday.c: Don't include gtod.h.
85556         (GTOD_init): Remove function.
85557         (rpl_gettimeofday): Do its job here instead, rather than aborting.
85558         Suggestion from Volker Borchert.
85559
85560 2001-11-23  Jim Meyering  <meyering@lucent.com>
85561
85562         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
85563         it.
85564         * lib/hash.c (struct hash_table): Define it here instead.
85565
85566 2001-11-22  Jim Meyering  <meyering@lucent.com>
85567
85568         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
85569
85570 2001-11-20  Jim Meyering  <meyering@lucent.com>
85571
85572         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
85573         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
85574
85575 2001-11-19  Jim Meyering  <meyering@lucent.com>
85576
85577         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
85578         directory.  Use "conftestXXXXXX" as the template.
85579         Suggestion from Paul Eggert.
85580
85581         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
85582         immediately, so the test doesn't mistakenly hit the max-open-files
85583         limit.
85584
85585 2001-11-18  Paul Eggert  <eggert@twinsun.com>
85586
85587         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
85588         (TEMPORARIES): New macro.
85589         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
85590         removes an artificial limitation (e.g. HP-UX 10.20, where
85591         TMP_MAX is 17576).
85592
85593 2001-11-18  Jim Meyering  <meyering@lucent.com>
85594
85595         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
85596
85597 2001-11-18  Jim Meyering  <meyering@lucent.com>
85598
85599         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
85600         on SunOS 4.
85601
85602         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
85603         files will be created before anything else.
85604
85605 2001-11-17  Paul Eggert  <eggert@twinsun.com>
85606
85607         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
85608         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
85609
85610 2001-11-17  Jim Meyering  <meyering@lucent.com>
85611
85612         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
85613         Prompted by a report from Bob Proulx.
85614
85615         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
85616         Instead, require UTILS_FUNC_MKSTEMP.
85617
85618 2001-11-17  Jim Meyering  <meyering@lucent.com>
85619
85620         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
85621         Now, that's done as part of AC_FUNC_STRTOD.
85622
85623 2001-11-17  Jim Meyering  <meyering@lucent.com>
85624
85625         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
85626         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
85627         rather than group writable.  Patch by Juan F. Codagnone.
85628
85629         * lib/readtokens.c: Remove explicit declarations of xmalloc and
85630         xrealloc, Instead, include "xalloc.h".
85631
85632         * lib/mountlist.c: Include unlocked-io.h after all system headers.
85633         Remove explicit declarations of xmalloc, xrealloc,
85634         and xstrdup.  Instead, include "xalloc.h".
85635
85636         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
85637         unlocked-io.h.
85638         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
85639         Likewise.
85640         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
85641
85642         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
85643         Reported by Padraig Brady.
85644
85645         * lib/mkstemp.c: #undef mkstemp.
85646         Include config.h.
85647         (rpl_mkstemp): Rename from mkstemp.
85648         Protoize.
85649
85650 2001-11-16  Jim Meyering  <meyering@lucent.com>
85651
85652         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
85653         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
85654         determine the amount of total physical memory, use pstat_getstatic.
85655         HPUX-11 doesn't define _SC_PHYS_PAGES.
85656         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
85657         If sysconf couldn't be used to determine the amount of available
85658         physical memory, use both pstat_getstatic and pstat_getdynamic.
85659         Based on a patch from Bob Proulx.
85660
85661 2001-11-10  Jim Meyering  <meyering@lucent.com>
85662
85663         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
85664         (jm_PREREQ): Use it.
85665
85666 2001-11-09  Jim Meyering  <meyering@lucent.com>
85667
85668         * m4/jm-macros.m4: Require autoconf-2.52f.
85669         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
85670         Use these AC_-prefixed names, not the AM_-prefixed ones.
85671
85672         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
85673
85674 2001-11-05  Jim Meyering  <meyering@lucent.com>
85675
85676         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
85677
85678 2001-11-04  Jim Meyering  <meyering@lucent.com>
85679
85680         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
85681         $DEFS.
85682
85683 2001-11-03  Jim Meyering  <meyering@lucent.com>
85684
85685         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
85686         of AC_DEFUN.
85687
85688         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
85689         know the name of the variable in the macro definition.
85690
85691 2001-11-03  Jim Meyering  <meyering@lucent.com>
85692
85693         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
85694         in argmatch_to_argument call.
85695
85696         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
85697         argument.
85698
85699         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
85700         e.g., a fault due to an attempt to free a NULL pointer.
85701
85702 2001-11-01  Jim Meyering  <meyering@lucent.com>
85703
85704         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
85705         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
85706
85707 2001-11-01  Jim Meyering  <meyering@lucent.com>
85708
85709         * lib/dirfd.c, lib/dirfd.h: New files.
85710         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
85711
85712         * lib/hash.c (hash_print) [TESTING]: Clean up.
85713
85714 2001-10-22  Paul Eggert  <eggert@twinsun.com>
85715
85716         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
85717         to avoid a warning if -Wall.
85718
85719 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
85720
85721         * README: New file
85722         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
85723         (per RMS's instructions, this is now the canonical source)
85724         * lgpl/, gpl/: New directories.
85725
85726 2001-10-21  Paul Eggert  <eggert@twinsun.com>
85727
85728         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
85729
85730 2001-10-21  Jim Meyering  <meyering@lucent.com>
85731
85732         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
85733         this code would end up calling gettext even in packages built
85734         with --disable-nls.
85735         * lib/getopt.c (_): Likewise.
85736         * lib/regex.c (_): Likewise.
85737
85738 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85739
85740         * m4/error.m4 (jm_PREREQ_ERROR):
85741         Do not invoke AC_CHECK_FUNCS with strerror_r, as
85742         AC_FUNC_STRERROR_R does that.
85743         Check for strerror declaration.
85744
85745         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
85746         are supposed to have them these days.
85747         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
85748         Merge changes from latest Autoconf CVS.
85749         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
85750         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
85751         POSIX decided to standardize on the int flavor of strerror_r.
85752
85753 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85754
85755         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
85756         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
85757         Use strerror_r that is only a macro, even if it is not a function.
85758         (strerror): Check for HAVE_DECL_STRERROR before declaring.
85759         (private_strerror): Use prototypes, not old-style function definition.
85760         (print_errno_message): New function.
85761         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
85762         char*-flavored one.
85763         (error_tail, error, error_at_line): Use it.
85764
85765 2001-10-11  Jim Meyering  <meyering@lucent.com>
85766
85767         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
85768         and quote_n (1, ... to avoid clobbering a buffer.
85769
85770 2001-10-05  Jim Meyering  <meyering@lucent.com>
85771
85772         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
85773         hash-pjw.h.
85774         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
85775         * lib/hash-pjw.h: New file.
85776
85777 2001-09-30  Jim Meyering  <meyering@lucent.com>
85778
85779         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
85780         `struct fsstat' has the `f_fstypename' member.
85781         Use that to define FS_TYPE, which is now used to make
85782         the getfsstat link test tighter.
85783
85784 2001-09-30  Jim Meyering  <meyering@lucent.com>
85785
85786         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
85787         Include <sys/ucred.h>, for Apple Darwin.
85788         Include sys/mount.h and sys/fs_types.h only if available.
85789         (FS_TYPE): Define.
85790         (read_filesystem_list): Use FS_TYPE.
85791
85792 2001-09-29  Paul Eggert  <eggert@twinsun.com>
85793
85794         * lib/exclude.c (excluded_filename): 0 -> false, since it's
85795         a boolean context.
85796
85797 2001-09-29  Jim Meyering  <meyering@lucent.com>
85798
85799         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85800         [one-argument getmntent function]): Include stdio.h before mntent.h.
85801         SunOS 4.1.x needs it for the declaration of `FILE'.
85802         Patch by Volker Borchert.
85803
85804         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85805         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
85806         sys/fs_types.h, and make the link-test for getfsstat guard #include
85807         directives with appropriate #if HAVE_*_H tests so that we can
85808         detect getfsstat on Apple Darwin1.3.7 systems.
85809         Reported by Nelson Beebe.
85810         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
85811
85812 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85813
85814         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85815         #defines strtoimax.  Also treat the other strto* functions
85816         like strtoimax.
85817
85818         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85819         Check for strtoul and strtoumax,
85820         as those declarations are made even in the signed case.
85821         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
85822         Likewise, for strtol and strtoimax.
85823
85824 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85825
85826         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85827         #defines strtoimax.  Also treat the other strto* functions
85828         like strtoimax.
85829
85830         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
85831         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
85832         (strtoimax, strtoumax): Do not declare if already defined as a macro.
85833
85834 2001-09-26  Jim Meyering  <meyering@lucent.com>
85835
85836         Most macros in unlocked-io.h had the wrong number of arguments.
85837         * lib/gen-uio: New script.
85838         (USE_UNLOCKED_IO): Define to 1 if not already defined.
85839         * lib/unlocked-io.hin: Remove file.
85840         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
85841         rather than trying to embed it here.
85842         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
85843         Reported by Padraig Brady.
85844
85845 2001-09-25  Volker Borchert  <bt@teknon.de>
85846
85847         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
85848         `result'.
85849
85850 2001-09-24  Jim Meyering  <meyering@lucent.com>
85851
85852         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
85853
85854 2001-09-23  Jim Meyering  <meyering@lucent.com>
85855
85856         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
85857         instead of the mere test for existence of mntent.h.  The latter
85858         would get a false-positive on AIX 3.4 systems.
85859         In the outer getmntent if-block, don't die if neither of the getmntent
85860         tests succeeds.  Instead, just fall through and continue with the
85861         remaining tests.
85862
85863 2001-09-23  Jim Meyering  <meyering@lucent.com>
85864
85865         * lib/mountlist.c: Remove useless parentheses in #if directives.
85866         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
85867         the deprecated MOUNTED symbol is no longer defined in mntent.h.
85868
85869 2001-09-22  Jim Meyering  <meyering@lucent.com>
85870
85871         * m4/gettext.m4: New file.  From gettext.
85872         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
85873         * m4/progtest.m4: Likewise
85874         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
85875         * m4/glibc21.m4: Likewise.
85876
85877         * m4/libintl.m4: Remove.  No longer used.
85878
85879 2001-09-22  Jim Meyering  <meyering@lucent.com>
85880
85881         * lib/localcharset.c: Update from latest gettext.
85882         * lib/config.charset: Likewise.
85883
85884 2001-09-20  Jim Meyering  <meyering@lucent.com>
85885
85886         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
85887         strtoimax.
85888         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
85889         strtoumax.
85890
85891 2001-09-20  Jim Meyering  <meyering@lucent.com>
85892
85893         * lib/xstrtol.c (strtoimax): Guard declaration with
85894         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
85895         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
85896         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
85897         (strtoumax): Likewise, for completeness (it wasn't necessary).
85898
85899 2001-09-17  Paul Eggert  <eggert@twinsun.com>
85900
85901         * lib/strtoimax.c (HAVE_LONG_LONG):
85902         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
85903         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
85904         to work around bug in IBM C compiler.
85905
85906 2001-09-17  Jim Meyering  <meyering@lucent.com>
85907
85908         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
85909         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
85910         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
85911         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
85912         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
85913         whenever the right hand side need not be expanded by the shell.
85914
85915 2001-09-16  Paul Eggert  <eggert@twinsun.com>
85916
85917         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
85918         library.  It's not correct, as some older glibcs are buggy.
85919         fnmatch wasn't fixed until glibc 2.2.
85920
85921         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
85922         special shell magic here.
85923
85924 2001-09-16  Jim Meyering  <meyering@lucent.com>
85925
85926         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
85927         * m4/jm-macros.m4: Require it.
85928
85929 2001-09-16  Jim Meyering  <meyering@lucent.com>
85930
85931         * lib/mkdir.c: New file.
85932
85933 2001-09-15  Jim Meyering  <meyering@lucent.com>
85934
85935         * m4/jm-macros.m4: Check for help2man.
85936
85937 2001-09-11  Jim Meyering  <meyering@lucent.com>
85938
85939         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
85940         The body, by Paul Eggert, was moved here from configure.in.
85941         * m4/jm-macros.m4: Require UTILS_HOST_OS.
85942
85943 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85944
85945         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
85946         (jm_PREREQ): Use it.
85947
85948 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85949
85950         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
85951         Use ssize_t, not int, to store result of readlink.
85952         Check for ssize_t overflow as well as size_t overflow,
85953         as POSIX says the result of readlink is implementation-defined
85954         when ssize_t overflows.
85955         Remove unnecessary cast to char*.
85956         Use free+malloc instead of realloc, as the storage doesn't need
85957         to be preserved and it's clearer and can be more efficient that way.
85958         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
85959         * lib/xreadlink.h (xreadlink): Update prototype.
85960
85961 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85962
85963         * lib/xgetcwd.c: Revert some of the previous change; intead,
85964         fix the HAVE_GETCWD_NULL code to behave more like the
85965         !HAVE_GETCWD_NULL code used to.
85966
85967         Include "xalloc.h".
85968         (xgetcwd): Do not return NULL when memory is exhausted; instead,
85969         invoke xalloc_die.
85970
85971 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85972
85973         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
85974         sys/param.h, as pathmax.h includes them.
85975
85976 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85977
85978         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
85979         (jm_PREREQ_XGETCWD): New macro.
85980
85981         * m4/getcwd.m4: New file.
85982
85983 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85984
85985         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
85986         like the HAVE_GETCWD_NULL code.
85987         Include pathmax.h if not HAVE_GETCWD.
85988         Do not include xalloc.h.
85989         (INITIAL_BUFFER_SIZE): New symbol.
85990         Do not use xmalloc / xrealloc, since the caller is responsible for
85991         handling errors.  Preserve errno around `free' during failure.
85992         Do not overrun buffer when using getwd.
85993
85994 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85995
85996         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
85997         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
85998         getcwd (NULL, 0).
85999
86000 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86001
86002         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
86003         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
86004         spotted by Jim Meyering.
86005
86006 2001-09-03  Jim Meyering  <meyering@lucent.com>
86007
86008         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
86009         failure.
86010
86011 2001-09-02  Jim Meyering  <meyering@lucent.com>
86012
86013         * lib/error.c: Update from GNU libc.
86014
86015 2001-09-01  Jim Meyering  <meyering@lucent.com>
86016
86017         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
86018         Used by df.
86019
86020 2001-09-01  Jim Meyering  <meyering@lucent.com>
86021
86022         * lib/xreadlink.c: New file.
86023         * lib/xreadlink.h: New file.
86024         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
86025         xreadlink.h.
86026
86027         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
86028         doesn't conflict with sparc Solaris 7's definition in
86029         /usr/include/sys/int_types.h.
86030
86031         * lib/exclude.c: Use `""', not `<>' to #include non-system header
86032         files.
86033         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
86034         and strncasecmp as r-values.  Unixware didn't have declarations.
86035
86036 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86037
86038         * lib/xstrtol.h: Add copyright notice.
86039         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
86040         LONGINT_INVALID_SUFFIX_CHAR.
86041
86042 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86043
86044         * lib/xstrtol.c (strtoimax): New decl.
86045
86046 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86047
86048         * lib/xgetcwd.c: Don't include pathmax.h.
86049         Include stdlib.h and unistd.h if available.
86050         Include xalloc.h.
86051         (xmalloc, xstrdup, free): Remove decls.
86052         (xgetcwd): Don't assume sizes fit in unsigned.
86053         Check for overflow when computing sizes.
86054         Simplify reallocation code.
86055
86056 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86057
86058         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
86059         a directory's st_size can have an arbitrary value, so the old
86060         usage could waste an arbitrary amount of memory.  All uses
86061         changed.
86062         * lib/savedir.h: Update prototype.
86063
86064 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86065
86066         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
86067
86068         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
86069         old strtoimax.c.
86070
86071         Also, make the following further changes to make this file's
86072         configuration more similar to that of strtol.c:
86073         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
86074         (strtoumax, uintmax_t, strtoull, strtol): Remove.
86075         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
86076         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
86077         changed to signed values.
86078
86079         And make the following changes as well:
86080         Fix copyright notice, as 1999 was missing.
86081         (verify): New macro.
86082         (strtoimax): Check sizes at compile-time, not run-time.
86083         Prefer strtol to strtoll if both work.
86084         (main): Remove; it was not that useful and was a pain to maintain.
86085
86086         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
86087
86088 2001-08-31  Jim Meyering  <meyering@lucent.com>
86089
86090         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
86091         Use an initial, malloc'd, buffer of length 128 rather than
86092         a statically allocated one of length 1024.
86093
86094 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86095
86096         Simplify code, partly by assuming autoconf 2.52 semantics.
86097
86098         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
86099
86100         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
86101         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
86102         All uses removed.
86103         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
86104         Move AC_REQUIRE to next-to-top level, to avoid confusion.
86105         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
86106         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
86107         jm_AC_HEADER_INTTYPES_H.
86108         * m4/jm-macros.m4 (jm_MACROS): Likewise.
86109
86110         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
86111
86112         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86113         Quote first arg of AC_DEFUN.
86114         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
86115         since they are needed to parse the include file even if we need
86116         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
86117         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
86118         but with opposite signedness.
86119
86120 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86121
86122         Merge 'exclude' changes from tar 1.13.22.
86123         This fixes one or two unlikely storage allocation overflow bugs,
86124         but doesn't change user-visible behavior otherwise.
86125
86126 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86127
86128         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
86129         (jm_PREREQ_EXCLUDE): New macro.
86130
86131 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86132
86133         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
86134         tm to be declared.
86135
86136 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86137
86138         * lib/hash.c: Remove '2001' from copyright notice.
86139
86140 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86141
86142         * lib/full-write.h: New file.
86143         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
86144         * lib/full-write.c: Correct credits, as cccp.c no longer
86145         exists and anyway it was so heavily changed from the old cccp
86146         code as to be unrecognizable.  Include full-write.h.
86147         (full_write): Return size_t, with short writes meaning failure.
86148         All callers changed.  This fixes a bug with large buffers
86149         on 64-bit hosts.
86150         * lib/utime.c: Include full-write.h.
86151
86152 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86153
86154         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
86155         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
86156         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
86157         Include if available.
86158         (<xalloc.h>): Include
86159         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
86160         (verify): New macro.  Use it to verify that EXCLUDE macros do not
86161         collide with FNM macros.
86162         (struct patopts): New struct.
86163         (struct exclude): Use it, as exclude patterns now come with options.
86164         (new_exclude): Support above changes.
86165         (new_exclude, add_exclude_file):
86166         Initial size must now be a power of two to simplify overflow checking.
86167         (free_exclude, fnmatch_no_wildcards): New function.
86168         (excluded_filename): No longer requires options arg, as the options
86169         are determined by add_exclude.  Now returns bool, not int.
86170         (excluded_filename, add_exclude):
86171         Add support for the fancy new exclusion options.
86172         (add_exclude, add_exclude_file): Now takes int options arg.
86173         Check for arithmetic overflow when computing sizes.
86174         (add_exclude_file): xrealloc might modify errno, so don't
86175         realloc until after errno might be used.
86176
86177         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
86178         New macros.
86179         (free_exclude): New decl.
86180         (add_exclude, add_exclude_file): Now takes int options arg.
86181         (excluded_filename): No longer requires options arg, as the options
86182         are determined by add_exclude.  Now returns bool, not int.
86183
86184 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86185
86186         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
86187
86188 2001-08-27  Jim Meyering  <meyering@lucent.com>
86189
86190         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
86191
86192         * lib/version-etc.c (N_): Remove definition.
86193         Revert most of last change.
86194         Instead, simply don't mark the `Copyright...' string for translation.
86195         Based on advice from Paul Eggert.
86196
86197         * lib/strtoxmax.c: Tweak comment.
86198
86199 2001-08-26  Jim Meyering  <meyering@lucent.com>
86200
86201         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
86202
86203         * m4/xstrtoimax.m4: New file.
86204         * m4/xstrtoumax.m4: Add comments explaining why we
86205         AC_REPLACE_FUNCS(strtol).
86206
86207 2001-08-26  Jim Meyering  <meyering@lucent.com>
86208
86209         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
86210         of copyright with `%s' so translators don't get an untranslated
86211         message in 2002.
86212         (COPYRIGHT_YEAR): Define.
86213         (version_etc): Use fprintf rather than fputs.
86214         Suggestion from Ulrich Drepper.
86215
86216         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
86217
86218         * lib/strtoll.c: New file, from GNU libc.
86219         * lib/xstrtoimax.c: New file.
86220
86221         * lib/xstrtol.h: Add xstrtoimax.
86222         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
86223         * lib/strtoimax.c: New file.  Likewise, but first define
86224         STRTOUXMAX_SIGNED.
86225
86226         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
86227         ...
86228         * lib/strtoxmax.c: ... then renamed to this.
86229
86230 2001-08-18  Paul Eggert  <eggert@twinsun.com>
86231
86232         * m4/inttypes.m4: Add AC_PREREQ(2.13).
86233         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
86234         (jm_AC_TYPE_INTMAX_T): New macro.
86235         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
86236
86237         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
86238
86239         * m4/longlong.m4: Renamed from ulonglong.m4.
86240         * m4/inttypes.m4: Renamed from inttypes_h.m4.
86241         * m4/uintmax_t.m4: Removed.
86242
86243 2001-08-13  Paul Eggert  <eggert@twinsun.com>
86244
86245         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
86246         Port to Solaris 8, where 'sed' requires a space after the 'r'
86247         command, and where sh dislikes "$/".  Clean up the spacing a bit.
86248         Redirect output to $tmp just once.
86249
86250 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
86251
86252         * lib/addext.c (<errno.h>): Include.
86253         (errno): Declare if not defined.
86254         (addext): Work correctly when pathconf returns -1 and leaves
86255         errno alone because there is no limit.  Also, work even if
86256         pathconf returns a value greater than SIZE_MAX.
86257
86258 2001-08-12  Jim Meyering  <meyering@lucent.com>
86259
86260         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
86261         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
86262         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
86263         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
86264         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
86265         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
86266         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
86267         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
86268         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
86269         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
86270         utime.m4, utimes.m4, xstrtoumax.m4:
86271         Quote the first argument in each use of AC_DEFUN.
86272
86273 2001-08-12  Jim Meyering  <meyering@lucent.com>
86274
86275         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
86276         Simply `return getcwd (NULL, 0);'.
86277         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
86278         Use 1300 as initial value for length, not PATH_MAX.
86279
86280         * lib/pathmax.h: Clean up cpp syntax.
86281
86282 2001-08-12  Jim Meyering  <meyering@lucent.com>
86283
86284         * lib/gettimeofday.c: New file.
86285         * lib/gtod.h: New file.
86286         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
86287
86288 2001-08-05  Jim Meyering  <meyering@lucent.com>
86289
86290         * m4/jm-macros.m4: Require autoconf-2.52.
86291
86292 2001-08-04  Jim Meyering  <meyering@lucent.com>
86293
86294         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
86295         stmt, to get in sync with glibc.
86296
86297 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86298
86299         The following changes are from gettext 0.10.39 as maintained by
86300         Bruno Haible.
86301
86302         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
86303         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
86304         with inverted sense.  All uses changed.
86305
86306         * lib/mbswidth.c: Don't include <limits.h>.
86307         Include <stdlib.h> and <string.h> unconditionally.
86308         (iswcntrl, mbsinit, ISCNTRL): New macros.
86309         (mbsnwidth): Use K&R style function declarations.
86310         Don't bother checking for MB_LEN_MAX == 1, since the compiler
86311         can optimize it when MB_CUR_MAX == 1.
86312         The width of control characters is zero, not 1.
86313
86314 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86315
86316         The following changes are from gettext 0.10.39 as maintained by
86317         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
86318
86319         * m4/codeset.m4: Upgrade to serial AM1.
86320         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
86321         all uses changed.  Quote first arg of AC_DEFUN.
86322         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
86323
86324         * m4/iconv.m4: Upgrade to serial AM2.
86325         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
86326         Add --with-libconv-prefix.
86327         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
86328         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
86329         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
86330         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
86331         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
86332
86333         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
86334         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
86335         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
86336         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
86337         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
86338         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
86339         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86340         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
86341         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
86342
86343         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
86344         string.h any more.
86345
86346         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
86347         not the default value.
86348
86349         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
86350         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
86351         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
86352         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
86353         Also check for iswcntrl, used for wcwidth fallback.
86354         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
86355         to Autoconf 2.13.
86356
86357 2001-08-03  Jim Meyering  <meyering@lucent.com>
86358
86359         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
86360         as it was in the original.  Reported by Paul Eggert.
86361
86362 2001-07-16  Jim Meyering  <meyering@lucent.com>
86363
86364         * m4/gettimeofday.m4: New file.
86365         Prompted by a report from Bernhard Baehr.
86366
86367 2001-07-15  Jim Meyering  <meyering@lucent.com>
86368
86369         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
86370         stuff. Now it's in ../Makefile.cfg.
86371
86372 2001-07-15  Jim Meyering  <meyering@lucent.com>
86373
86374         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
86375         (BUILT_SOURCES): Add unlocked-io.h.
86376         (io_functions): Define.
86377         (unlocked-io.h): New rule.
86378         (DISTCLEANFILES): Add unlocked-io.h.
86379         (all-local): Depend on unlocked-io.h, to ensure it is created.
86380
86381         * lib/unlocked-io.hin: New file
86382
86383         * lib/regex.c: Update from glibc.
86384
86385 2001-07-05  Jim Meyering  <meyering@lucent.com>
86386
86387         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
86388         recommendation.
86389         (libfetish_a_SOURCES): Put all .h files here instead.
86390         Remove a thus-exposed (better checks in automake) duplicate and
86391         two unnecessary .h files.
86392
86393 2001-07-04  Jim Meyering  <meyering@lucent.com>
86394
86395         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
86396         that generates jm-glibc-io.m4 so that it doesn't trigger any make
86397         distcheck failure.
86398
86399 2001-07-02  Jim Meyering  <meyering@lucent.com>
86400
86401         The following changes were prompted by suggestions from Bruno Haible.
86402
86403         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
86404         is now generated.
86405         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
86406         definition of EXTRA_DIST.
86407         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
86408         ensure that the generated file is created/updated whenever the list
86409         of $(unlocked_functions) is changed.
86410         (jm-glibc-io.m4): New rule.
86411         (unlocked-io.h): New rule -- currently unused.
86412
86413 2001-06-24  Jim Meyering  <meyering@lucent.com>
86414
86415         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
86416         unmatched right bracket, rather than kludging it with an extra,
86417         falsely-matching quote in a comment.  Patch by Akim Demaille.
86418
86419 2001-06-11  Jim Meyering  <meyering@lucent.com>
86420
86421         * lib/regex.c: Update from GNU libc.
86422
86423 2001-05-27  Jim Meyering  <meyering@lucent.com>
86424
86425         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
86426         Check for ut_type in struct utmp.
86427
86428 2001-05-27  Jim Meyering  <meyering@lucent.com>
86429
86430         * lib/readutmp.h (UT_TYPE): Define.
86431
86432 2001-05-24  Jim Meyering  <meyering@lucent.com>
86433
86434         * lib/argmatch.c: Include "quote.h".
86435         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
86436         quote function.  Reported by Göran Uddeborg.
86437
86438 2001-05-22  Jim Meyering  <meyering@lucent.com>
86439
86440         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
86441         now that we use the package-supplied version unconditionally.
86442         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
86443
86444 2001-05-21  Jim Meyering  <meyering@lucent.com>
86445
86446         * m4/regex.m4: Change a couple backticks to single quotes to avoid
86447         shell syntax errors.
86448
86449 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86450
86451         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
86452
86453 2001-05-20  Paul Eggert  <eggert@twinsun.com>
86454
86455         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
86456         Don't bother to check library strftime, since
86457         we'll be using our own my_strftime function anyway.
86458         Define my_strftime instead of strftime.
86459
86460 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
86461
86462         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86463         which is not yet declared.
86464
86465 2001-05-15  Jim Meyering  <meyering@lucent.com>
86466
86467         * m4/regex.m4: Use proper quoting so brackets appear in the test
86468         program.
86469         Reported by, and with help from, Bruno Haible.
86470
86471 2001-05-13  Jim Meyering  <meyering@lucent.com>
86472
86473         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86474         undefined.
86475
86476 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86477
86478         dirname code cleanup.  base_name now behaves more compatibly
86479         with POSIX basename when given file names that have trailing
86480         slashes, and similarly for dir_name.  Add new primitives
86481         base_len and dir_len.  Put the directory-name-related decls
86482         into dirname.h.
86483
86484         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86485         * lib/backupfile.c (base_name): Likewise.
86486         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86487         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86488         * lib/makepath.c (strip_trailing_slashes): Likewise.
86489         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86490         ISSLASH): Likewise.
86491         * lib/rename.c (strip_trailing_slashes): Likewise.
86492         * lib/same.c (base_name): Likewise.
86493         * lib/stripslash.c (ISSLASH): Likewise.
86494
86495         * lib/addext.c: Include <dirname.h> after size_t is defined.
86496         * lib/backupfile.c: Likewise.
86497
86498         * lib/addext.c (addext): Use base_len to trim redundant
86499         trailing slashes instead of doing it ourselves.
86500         But do not trim the last slash if it is not redundant.
86501
86502         * lib/backupfile.c (find_backup_file_name,
86503         max_backup_version): Use base_len instead of rolling it ourselves.
86504         Handle the case of "" and (on DOS) "C:" correctly.
86505
86506         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86507         needed. Include <string.h>, <dirname.h>.
86508         (base_name): Allow file names ending in slashes, other than names
86509         that are all slashes.  In this case, return the basename followed
86510         by the slashes.  This is more general, and can be used in places
86511         where the original base_name purposely had an assertion failure.
86512         (base_len): New function.
86513
86514         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86515         Do not include <assert.h>; no longer needed.
86516         Include xalloc.h.
86517         (memrchr): Remove decl.
86518         (dir_name_r): Remove.
86519         (dir_len): Renamed from dirlen.  All callers changed.
86520         Rewrite in terms of base_name, for simplicity and consistency.
86521         (dir_name): Never return NULL.  All callers changed.
86522         Do not include <stdlib.h> in test program; no longer needed.
86523         return 0; is fine for test program.
86524
86525         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
86526         New macros.
86527         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
86528
86529         * lib/path-concat.c (path_concat): Use base_len to compute
86530         base length, not strlen; this means we cannot rely on memcpy
86531         to null-terminate.
86532
86533         * lib/same.c (STREQ): Remove.
86534         (same_name): Handle the case where the basename ends in trailing '/'.
86535
86536         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
86537         a slash was stripped.  Do not strip the last slash after a
86538         file system prefix.
86539
86540 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86541
86542         * lib/Makefile.am (libfetish_a_SOURCES):
86543         Add strftime.c, since we now compile it on all hosts.
86544
86545         * lib/strftime.c (my_strftime):
86546         Define to nstrftime if emacs, but only if my_strftime is not defined.
86547         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
86548         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
86549         Add one more extra argument: a nanoseconds value.
86550         All uses changed.
86551         (ns): New macro.
86552         (my_strftime function): Add %N format.
86553         (emacs_strftimeu): Renamed from emacs_strftime,
86554         with extra ut argument.
86555
86556 2001-05-09  Paul Eggert  <eggert@twinsun.com>
86557
86558         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
86559
86560 2001-04-21  Jim Meyering  <meyering@lucent.com>
86561
86562         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
86563         doesn't interfere.
86564
86565 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86566
86567         * m4/ftruncate.m4: Check for chsize.
86568         Link with ftruncate.o unconditionally if ftruncate is missing.
86569         This was required when cross-compiling to i586-mingw32msvc.
86570
86571 2001-04-08  Jim Meyering  <meyering@lucent.com>
86572
86573         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
86574         recomputed; that's necessary when the offset spans a DST transition.
86575         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
86576
86577 2001-04-02  Jim Meyering  <meyering@lucent.com>
86578
86579         * lib/regex.h, regex.c: Update from GNU libc.
86580
86581 2001-03-24  Jim Meyering  <meyering@lucent.com>
86582
86583         * m4/jm-macros.m4: Require autoconf-2.49d.
86584
86585 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
86586
86587         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
86588
86589 2001-03-19  Paul Eggert  <eggert@twinsun.com>
86590
86591         * lib/version-etc.c (version_etc_copyright): Update to 2001.
86592
86593 2001-03-17  Jim Meyering  <meyering@lucent.com>
86594
86595         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
86596         now that the version in autoconf is equivalent.
86597         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
86598
86599         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
86600         Suggestion from Akim Demaille.
86601
86602         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
86603         (jm_PREREQ_TEMPNAME): New function.
86604
86605 2001-03-16  Paul Eggert  <eggert@twinsun.com>
86606
86607         * lib/tempname.c (uint64_t): Define to uintmax_t if
86608         not defined, and if UINT64_MAX is not defined.
86609         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
86610         Reported by John David Anglin.
86611
86612 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
86613
86614         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
86615         resolve alias if codeset is empty.
86616         * lib/config.charset (BeOS): Use wildcard syntax.
86617
86618 2001-03-13  Jim Meyering  <meyering@lucent.com>
86619
86620         * lib/path-concat.c (path_concat)
86621         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
86622         concatenating e.g., `C:' and `foo'.
86623         From Bruno Haible.
86624
86625 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86626
86627         * lib/localcharset.c (locale_charset): Don't use
86628         setlocale(LC_CTYPE,NULL). Don't return NULL.
86629         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
86630
86631 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86632
86633         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
86634         support for DOS/DJGPP.
86635
86636 2001-03-01  Paul Eggert  <eggert@twinsun.com>
86637
86638         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
86639         lacks mkstemp.  Compile our own tempname.c if we compile our own
86640         mkstemp.c, as mkstemp relies on tempname.
86641
86642 2001-03-01  Jim Meyering  <meyering@lucent.com>
86643
86644         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
86645         AH_VERBATIM really does output its argument verbatim.
86646
86647 2001-02-28  Paul Eggert  <eggert@twinsun.com>
86648
86649         * lib/Makefile.am (libfetish_a_SOURCES):
86650         Add dup-safer.c, fopen-safer.c.
86651         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
86652
86653         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
86654         * lib/unistd-safer.h: New files.
86655
86656 2001-02-25  Paul Eggert  <eggert@twinsun.com>
86657
86658         The mkstemp replacement is taken from glibc 2.2.2, with some
86659         portability fixes for use outside glibc, as follows:
86660
86661         * lib/tempname.c (struct_stat64): New macro.
86662         (direxists, __gen_tempname): Use it.
86663         This avoids a portability problem with Solaris 8.
86664
86665         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
86666         (<stddef.h>, <stdint.h>, <string.h>):
86667         Include only if STDC_HEADERS || _LIBC.
86668         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
86669         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
86670         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
86671         (__set_errno): Define this macro if <errno.h> doesn't.
86672         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
86673         Define these macros if <stdio.h> doesn't.
86674         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
86675         Define these macros if <sys/stat.h>
86676         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
86677         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
86678         __xstat64): Define if not _LIBC.
86679         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
86680         (__gen_tempname): Invoke gettimeofday only if
86681         HAVE_GETTIMEOFDAY || _LIBC;
86682         otherwise, fall back on plain "time".
86683         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
86684
86685         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
86686
86687         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
86688
86689 2001-02-18  Paul Eggert  <eggert@twinsun.com>
86690
86691         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
86692
86693 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86694
86695         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
86696         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
86697         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
86698         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86699
86700 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86701
86702         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
86703         Remove workaround macros for hosts that have mbrtowc but not
86704         mbstate_t, as we now insist on proper declarations for both
86705         before using mbrtowc.
86706
86707 2001-02-17  Jim Meyering  <meyering@lucent.com>
86708
86709         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
86710         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
86711         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
86712         UnixWare 7.1.1.
86713
86714         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
86715         rather than AC_CACHE_VAL.
86716
86717 2001-02-17  Jim Meyering  <meyering@lucent.com>
86718
86719         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
86720         around included file name.
86721
86722         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
86723
86724         * lib/strftime.c: Update from GNU libc (the only changes were to
86725         comments).
86726
86727 2001-02-17  Jim Meyering  <meyering@lucent.com>
86728
86729         * lib/regex.c: Update from libc.
86730
86731 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
86732
86733         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
86734         clash.
86735
86736 2001-02-16  Paul Eggert  <eggert@twinsun.com>
86737
86738         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
86739         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
86740         Reported by Mark Hounschell via Paul Eggert.
86741
86742 2001-02-07  Jim Meyering  <meyering@lucent.com>
86743
86744         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
86745
86746 2001-02-05  Jim Meyering  <meyering@lucent.com>
86747
86748         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
86749         it includes the patch required for `large file' support with at least
86750         HP-UX's 10.20 /bin/cc.
86751
86752 2001-02-03  Jim Meyering  <meyering@lucent.com>
86753
86754         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
86755         AS_IF, now that it works once again (mysteriously).
86756         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86757
86758 2001-01-30  Jim Meyering  <meyering@lucent.com>
86759
86760         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
86761         * m4/chown.m4: Rename conftestchown to conftest.chown.
86762         * m4/rename.m4: s/conftestdir/conftest.d1/ and
86763         s/conftestdir2/conftest.d2/.
86764         * m4/utimes.m4: s/conftestdata/conftest.data/
86765         Inspired by Pavel Roskin's change in autoconf.
86766
86767 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
86768
86769         * lib/config.charset: Update for FreeBSD 4.2.
86770
86771 2001-01-27  Jim Meyering  <meyering@lucent.com>
86772
86773         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
86774         a use of AS_IF.
86775         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86776
86777 2001-01-26  Jim Meyering  <meyering@lucent.com>
86778
86779         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
86780         quotearg.c includes it.
86781
86782 2001-01-26  Jim Meyering  <meyering@lucent.com>
86783
86784         * lib/quotearg.c: Include stddef.h.
86785         * lib/quote.c: Include stddef.h.
86786         Reported by Axel Kittenberger.
86787
86788         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
86789         line in double quotes so that it evokes a better diagnostic.
86790         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
86791         Reported by Axel Kittenberger.
86792
86793 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
86794
86795         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
86796         as if it was a `charset'.
86797
86798 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86799
86800         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
86801         has const.
86802
86803 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86804
86805         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
86806         to avoid a warning.  Add back 'const' to inptr.
86807
86808 2001-01-20  Jim Meyering  <meyering@lucent.com>
86809
86810         Be sure that headers are checked before used in code compiled
86811         for the type checks.
86812         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
86813         In place of that, invoke jm_CHECK_ALL_TYPES.
86814         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
86815         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
86816         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
86817         The check for ssize_t was mistakenly run before the test for unistd.h.
86818
86819         The configure-time check for stdbool.h was missing.
86820         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
86821         (jm_PREREQ_HASH): New function.
86822
86823 2001-01-17  Jim Meyering  <meyering@lucent.com>
86824
86825         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
86826         for autoconf-2.49c.
86827         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
86828
86829 2001-01-16  Jim Meyering  <meyering@lucent.com>
86830
86831         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
86832         From Bruno Haible.
86833
86834 2001-01-14  Jim Meyering  <meyering@lucent.com>
86835
86836         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
86837         foo and bar.  Create conftestdir/ in the script, not in the C code.
86838         Remove directories in the script, not in the C code.
86839         Remove conftestdir{,2} before trying to create the directory.
86840         Make the entire configure script fail if the mkdir fails.
86841
86842 2001-01-14  Jim Meyering  <meyering@lucent.com>
86843
86844         * lib/rename.c: New file.  From Volker Borchert.
86845         Include stdlib.h, string.h or strings.h, and xalloc.h.
86846         Use strip_trailing_slashes rather than open-coding it.
86847
86848 2001-01-03  Paul Eggert  <eggert@twinsun.com>
86849
86850         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
86851
86852 2001-01-03  Jim Meyering  <meyering@lucent.com>
86853
86854         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
86855         of local `inptr' to avoid warning with some system declarations of
86856         iconv.
86857
86858 2001-01-02  Volker Borchert  <bt@teknon.de>
86859
86860         * m4/rename.m4: New file.
86861         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
86862
86863 2001-01-01  Jim Meyering  <meyering@lucent.com>
86864
86865         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
86866         even on systems with utmpx.h.  It's necessary for the declaration of
86867         utmp's ut_user member.  Reported by Andreas Jaeger.
86868
86869         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
86870         available. They are required for the declarations of getgrgid and
86871         getpwuid resp.
86872         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
86873         Reported by Andreas Jaeger.
86874
86875 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
86876
86877         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
86878         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
86879         so `make install' also works in VPATH builds.
86880
86881 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
86882
86883         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
86884         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
86885         can be used in subdirectories.
86886
86887 2000-12-29  Paul Eggert  <eggert@twinsun.com>
86888
86889         * lib/modechange.c: Do not assume that mode_t uses the
86890         traditional octal encoding.  E.g. "chmod 1 FOO" should set
86891         the other-execute bit of FOO even if S_IXOTH != 1.
86892
86893         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
86894         WOTH, XOTH, ALLM): New macros.
86895         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
86896          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
86897         Use them.
86898         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
86899         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
86900         (mode_compile):
86901         No need to use uintmax_t; unsigned long is long enough.
86902         Don't bother to get suffix since we don't use it.
86903
86904 2000-12-26  Jim Meyering  <meyering@lucent.com>
86905
86906         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
86907         better with autoheader.
86908
86909 2000-12-24  Jim Meyering  <meyering@lucent.com>
86910
86911         * lib/hash.c (is_prime): Return explicit boolean values.
86912         (hash_get_first): Return NULL to appease Irix5.6's 89.
86913         Reported by Nelson Beebe.
86914
86915 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
86916
86917         * lib/localcharset.c (locale_charset): Add support for Win32.
86918
86919 2000-12-18  Paul Eggert  <eggert@twinsun.com>
86920
86921         * lib/physmem.h, lib/physmem.c: New files.
86922
86923         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
86924         (noinst_HEADERS): Add physmem.h.
86925
86926         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
86927         't' for compatibility with Solaris 8 sort.
86928
86929 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
86930
86931         * lib/config.charset: Add support for BeOS.
86932
86933 2000-12-17  Jim Meyering  <meyering@lucent.com>
86934
86935         * m4/dos.m4 (jm_AC_DOS): New file and macro.
86936         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
86937
86938 2000-12-16  Jim Meyering  <meyering@lucent.com>
86939
86940         This bug had a serious impact on chown: `chown N:M FILE' (for integer
86941         N and M) would have treated it like `chown N:N FILE'.
86942
86943         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
86944
86945 2000-12-16  Jim Meyering  <meyering@lucent.com>
86946
86947         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
86948         SHELLS_FILE to a file name that's useful on djgpp systems.
86949         Include stdlib.h.
86950         (ADDITIONAL_DEFAULT_SHELLS): Define.
86951         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
86952         Based mostly on a patch from Prashant TR.
86953
86954 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
86955
86956         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
86957         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
86958         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
86959
86960 2000-12-08  Andreas Schwab  <schwab@suse.de>
86961
86962         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
86963         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
86964
86965 2000-12-07  Jim Meyering  <meyering@lucent.com>
86966
86967         * lib/stripslash.c (ISSLASH): Define.
86968         (strip_trailing_slashes): Use ISSLASH rather than comparing against
86969         `/'.
86970         From Prashant TR.
86971
86972         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
86973         (dir_name_r): Declare this function as static.
86974         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
86975         manifest itself on a name containing a mix of slashes and
86976         backslashes.
86977         Make this function work with names starting with a DOS-style
86978         drive letter and colon prefix.
86979         (dir_name): Append `.' if necessary.
86980         Based mostly on patches from Prashant TR and Eli Zaretskii.
86981
86982         * lib/dirname.h (dir_name_r): Remove prototype.
86983
86984 2000-12-06  Paul Eggert  <eggert@twinsun.com>
86985
86986         * m4/off_t-format.m4: Remove this file.
86987         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
86988
86989 2000-12-06  Jim Meyering  <meyering@lucent.com>
86990
86991         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
86992         replacement strtoull, we may well need the replacement strtoul, too.
86993         Check for declarations of strtoul and strtoull.
86994         Check for strtol.  Mainly as a cue to cause automake to include
86995         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
86996         Check for limits.h -- strtol.c needs it.
86997
86998 2000-12-05  Jim Meyering  <meyering@lucent.com>
86999
87000         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
87001
87002 2000-12-04  Jim Meyering  <meyering@lucent.com>
87003
87004         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
87005         Also include memory.h, stdlib.h, unistd.h if appropriate.
87006         Reported by Andreas Jaeger (conflicting declaration of malloc).
87007
87008 2000-12-02  Jim Meyering  <meyering@lucent.com>
87009
87010         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
87011         * m4/jm-macros.m4 (jm_MACROS): require it.
87012
87013 2000-12-02  Jim Meyering  <meyering@lucent.com>
87014
87015         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
87016
87017 2000-12-01  Paul Eggert  <eggert@twinsun.com>
87018
87019         * lib/memrchr.c: Include <config.h> before any system include file.
87020
87021 2000-11-30  Jim Meyering  <meyering@lucent.com>
87022
87023         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
87024
87025 2000-11-30  Jim Meyering  <meyering@lucent.com>
87026
87027         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
87028
87029 2000-11-29  Paul Eggert  <eggert@twinsun.com>
87030
87031         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
87032
87033 2000-11-26  Jim Meyering  <meyering@lucent.com>
87034
87035         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
87036
87037 2000-11-22  Paul Eggert  <eggert@twinsun.com>
87038
87039         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
87040         size of (size_t) -1; it's not portable.
87041
87042 2000-11-17  Jim Meyering  <meyering@lucent.com>
87043
87044         * lib/strstr.c: Update from GNU libc.
87045
87046 2000-11-17  Akim Demaille  <akim@epita.fr>
87047
87048         * lib/obstack.h: Formatting changes.
87049         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
87050         prevent type checking.
87051         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
87052         cast the value to (void *): assigning a `foo *' to a `void *'
87053         variable is valid.
87054         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
87055
87056 2000-11-16  Jim Meyering  <meyering@lucent.com>
87057
87058         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
87059
87060 2000-11-11  Jim Meyering  <meyering@lucent.com>
87061
87062         * lib/error.c: Add a couple #includes, merging from GNU libc version.
87063
87064 2000-11-10  Jim Meyering  <meyering@lucent.com>
87065
87066         * lib/obstack.h: Update from GNU libc.
87067         * lib/obstack.c: Likewise.
87068
87069 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
87070
87071         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
87072
87073 2000-11-06  Paul Eggert  <eggert@twinsun.com>
87074
87075         * lib/getusershell.c (setusershell): Use rewind rather than
87076         fseek/fseeko, to avoid configuration hassles with fseeko.
87077         Don't bother opening SHELLS_FILE if shellstream is NULL;
87078         it's not necessary.
87079
87080 2000-11-05  Jim Meyering  <meyering@lucent.com>
87081
87082         * lib/makepath.h (make_dir): Declare.
87083         * lib/makepath.c (make_dir): Remove `static' attribute.
87084         Tweak a comment.
87085
87086 2000-11-04  Jim Meyering  <meyering@lucent.com>
87087
87088         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
87089
87090 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
87091
87092         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
87093         last one in a bucket, advance to the next bucket.
87094
87095 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
87096
87097         * lib/fnmatch.c: Do not comment out all the code if we are using
87098         the GNU C library, because in some cases we are replacing buggy
87099         code in the GNU C library itself.
87100
87101 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
87102
87103         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
87104         (regex_compile): Catch bogus \(\1\).
87105
87106 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87107
87108         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
87109         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
87110         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
87111
87112 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87113
87114         * lib/error.h, getline.h, modechange.h:
87115         Remove "2000" from Copyright line, as the file hasn't been
87116         changed this year other than in the copyright notice.
87117
87118         * lib/xalloc.h: Add "2000" to Copyright line, as this file
87119         was changed this year.
87120
87121 2000-10-29  Jim Meyering  <meyering@lucent.com>
87122
87123         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
87124         renaming.
87125         * m4/ls-mntd-fs.m4: Likewise
87126
87127 2000-10-29  Jim Meyering  <meyering@lucent.com>
87128
87129         * lib/xstat.in: Fix grammar in comment.
87130
87131 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
87132
87133         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
87134         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
87135         doesn't define __restrict_arr.
87136
87137 2000-10-28  Jim Meyering  <meyering@lucent.com>
87138
87139         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
87140         (jm_PREREQ_MEMCHR): New function.
87141
87142 2000-10-28  Jim Meyering  <meyering@lucent.com>
87143
87144         * lib/memchr.c: Update from libc.
87145         Adjust for portability:
87146         [HAVE_STDLIB_H]: Include stdlib.h.
87147         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
87148         Undef __memchr, too.
87149         [!weak_alias]: Define __memchr to memchr.
87150
87151         * lib/regex.c: Update from libc.
87152         * lib/regex.h: Likewise.
87153         * lib/getopt1.c: Likewise.
87154         * lib/memcmp.c: Likewise.
87155
87156         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
87157         Avoid using fseek, when possible -- it's broken by design.
87158         Patch by Ulrich Drepper.
87159
87160 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
87161
87162         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
87163         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
87164         Giving in to popular pressure to shut up the compiler with casts.
87165
87166 2000-10-26  Jim Meyering  <meyering@lucent.com>
87167
87168         * lib/strftime.c: Update from libc.
87169
87170 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
87171
87172         * regex.c: More `unsigned char' -> `re_char' changes.
87173         Also change several `int' into `re_wchar_t'.
87174         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
87175         (PUSH_FAILURE_POINTER): Don't cast any more.
87176         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
87177         We want GCC to complain, since this piece of code makes
87178         re_match non-reentrant, which *should* be fixed.
87179         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
87180         (EXTEND_BUFFER): Use RETALLOC.
87181         (SET_LIST_BIT): Don't cast.
87182         (re_wchar_t): New type.
87183         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
87184         that those two functions will always properly return.
87185         (IMMEDIATE_QUIT_CHECK): Cast to void.
87186         (analyse_first): Use recursion rather than an explicit stack.
87187         (re_compile_fastmap): Can't fail anymore.
87188         (re_search_2): Don't check re_compile_fastmap for failure.
87189         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
87190         Now also sets the new value (passed in a new argument).
87191         (re_match_2_internal): Use it.
87192         Also, use a new var `reg' of type size_t when looping through regs
87193         rather than reuse the inappropriate `mcnt'.
87194
87195 2000-10-25  Jim Meyering  <meyering@lucent.com>
87196
87197         * lib/obstack.c: Update from libc.
87198
87199 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
87200
87201         * regex.c (regex_compile): Change the way of handling a range from
87202         a char less than 256 to a char not less than 256.
87203
87204 2000-10-24  Andrew Innes  <andrewi@gnu.org>
87205
87206         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
87207         NT-Emacs only.
87208         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
87209         so that re_search functions only quit when callers expect them to.
87210
87211 2000-10-23  Jim Meyering  <meyering@lucent.com>
87212
87213         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
87214         wrong.  That set_locale call must not have any side effects.
87215         From Paul Eggert.
87216
87217 2000-10-22  Jim Meyering  <meyering@lucent.com>
87218
87219         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
87220         [CYCLIC]: Remove now-unused definition.
87221
87222         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
87223         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
87224         Suggestion from Ulrich Drepper.
87225
87226 2000-10-21  Jim Meyering  <meyering@lucent.com>
87227
87228         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
87229         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
87230         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
87231
87232 2000-10-21  Jim Meyering  <meyering@lucent.com>
87233
87234         * lib/dirname.c (memrchr): Declare if necessary.
87235         (dir_name): Remove the restriction that there be no
87236         trailing slashes.  Now, this code skips past them, effectively
87237         ignoring them.
87238         [TEST_DIRNAME] (main): New unit tests.
87239
87240         * lib/memrchr.c: New file from GNU libc.
87241         Undef __memrchr, too.
87242         [!weak_alias]: Define __memrchr to memrchr.
87243         Guard weak_alias use with `#ifdef weak_alias'.
87244
87245 2000-10-21  Jim Meyering  <meyering@lucent.com>
87246
87247         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
87248         (dir_name): Use dir_name_r.
87249         * lib/dirname.h (dir_name_r): Declare it.
87250
87251 2000-10-17  Jim Meyering  <meyering@lucent.com>
87252
87253         * lib/quote.h (PARAMS): Define and use.
87254         Reported by Akim Demaille.
87255
87256         * lib/getopt.c: Update from libc.
87257
87258 2000-10-16  Jim Meyering  <meyering@lucent.com>
87259
87260         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
87261         setlocale.
87262         From Jan Fedak.
87263
87264 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
87265
87266         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
87267
87268 2000-09-25  Jim Meyering  <meyering@lucent.com>
87269
87270         * lib/md5.h (rol): Define (from GnuPG).
87271
87272         * lib/sha.c: Give credit (GnuPG) where due.
87273         (M): Use rol rather than open-coding it.
87274         Add a FIXME comment.
87275
87276 2000-09-21  Jim Meyering  <meyering@lucent.com>
87277
87278         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
87279         Reported by Michael Stone.
87280
87281 2000-09-20  Jim Meyering  <meyering@lucent.com>
87282
87283         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
87284         (noinst_HEADERS): Add sha.h.
87285         Based on code from Scott G. Miller and from GnuPG.
87286
87287 2000-09-18  Jim Meyering  <meyering@lucent.com>
87288
87289         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
87290         LIBS. Otherwise, everyone ends up linking with -lelf for some
87291         configurations.
87292         Reported by Mike Stone.
87293
87294 2000-09-15  Jim Meyering  <meyering@lucent.com>
87295
87296         * lib/regex.c: Update from libc.
87297
87298 2000-09-10  Jim Meyering  <meyering@lucent.com>
87299
87300         * lib/getopt.c (_getopt_internal): Update from glibc.
87301
87302 2000-09-09  Jim Meyering  <meyering@lucent.com>
87303
87304         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
87305         think it should be used as a general replacement for isascii.
87306         * lib/fnmatch.c: Likewise.
87307         * lib/mbswidth.c: Likewise
87308         * lib/regex.c: Likewise.
87309
87310         Don't use atoi.
87311         * lib/userspec.c: Include sys/param.h and limits.h.
87312         Include xstrtol.h.
87313         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87314         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
87315         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
87316         UID, GID.  Check range.
87317
87318 2000-09-06  Jim Meyering  <meyering@lucent.com>
87319
87320         * lib/getopt.c (_getopt_internal): Update from glibc.
87321
87322 2000-08-30  Jim Meyering  <meyering@lucent.com>
87323
87324         * lib/strftime.c: Merge in changes from GNU libc.
87325
87326 2000-08-26  Jim Meyering  <meyering@lucent.com>
87327
87328         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
87329         * m4/fpending.m4: New file.
87330
87331 2000-08-26  Jim Meyering  <meyering@lucent.com>
87332
87333         * lib/closeout.c: Include "__fpending.h".
87334         (close_stdout_status): Return right away if there's nothing to flush.
87335
87336         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
87337         * lib/__fpending.c: New file.
87338         * lib/__fpending.h: New file.
87339
87340 2000-08-20  Jim Meyering  <meyering@lucent.com>
87341
87342         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
87343         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
87344         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
87345
87346 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
87347
87348         Improve fileutils installation on systems where running
87349         programs (like install) can't be unlinked.
87350         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
87351         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
87352
87353 2000-08-07  Paul Eggert  <eggert@twinsun.com>
87354
87355         Standardize on "memory exhausted" instead of "Memory exhausted"
87356         or "virtual memory exhausted".
87357         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
87358         "virtual memory exhausted".
87359         * lib/same.c (same_name): Invoke xalloc_die instead of printing
87360         our own message.
87361         * lib/userspec.c (parse_user_spec): Likewise.
87362         * lib/bumpalloc.h: comment fix
87363         * lib/same.c, userspec.c: Include xalloc.h.
87364
87365         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
87366         not char *const and pointing to a constant array.
87367         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
87368         (xrealloc): Comment fix.
87369
87370         * lib/userspec.c (parse_user_spec):
87371         Don't translate a message until just before returning,
87372         to avoid unnecessary translation.
87373
87374 2000-08-07  Jim Meyering  <meyering@lucent.com>
87375
87376         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
87377         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
87378         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
87379         getgroups.c, gethostname.c, getopt.h, group-member.c,
87380         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
87381         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
87382         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
87383         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
87384         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
87385         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
87386         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
87387         yesno.c: Back out Copyright date changes for each file with no change
87388         this year.  This eases coordination with other programs using the same
87389         source code modules.  From Paul Eggert.
87390
87391 2000-08-06  Paul Eggert  <eggert@twinsun.com>
87392
87393         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
87394         not char, for compatibility with glibc 2.1.3 strftime.c.
87395
87396 2000-08-03  Greg McGary  <greg@mcgary.org>
87397
87398         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
87399         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
87400         (EXTEND_BUFFER): Use them.
87401
87402 2000-08-01  Jim Meyering  <meyering@lucent.com>
87403
87404         * lib/dirname.c (ISSLASH): Define.
87405         (BACKSLASH_IS_PATH_SEPARATOR): Define.
87406         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
87407         both `\' and `/' may be use as path separators.
87408         Based on a patch from Prashant TR.
87409
87410 2000-07-31  Paul Eggert  <eggert@twinsun.com>
87411
87412         * lib/quotearg.c (quotearg_n_options): Don't make the initial
87413         slot vector a constant, since it might get modified.
87414
87415 2000-07-31  Jim Meyering  <meyering@lucent.com>
87416
87417         * lib/xmalloc.c: Use `virtual memory exhausted', not
87418         `Memory exhausted'.
87419         * lib/obstack.c (print_and_abort): Likewise.
87420
87421 2000-07-30  Paul Eggert  <eggert@twinsun.com>
87422
87423         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
87424         buffer, so that the caller can always quote one small
87425         component of a "memory exhausted" message in slot 0.
87426         From a suggestion by Jim Meyering.
87427
87428 2000-07-30  Jim Meyering  <meyering@lucent.com>
87429
87430         * lib/makepath.c (make_path): Quote the other instance, too.
87431
87432         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
87433         (STATIC_BUF_SIZE): Define.
87434         (quotearg_n_options): Use only statically allocated storage when
87435         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
87436         than STATIC_BUF_SIZE.
87437
87438 2000-07-29  Jim Meyering  <meyering@lucent.com>
87439
87440         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
87441         * lib/dirname.c (dir_name): Likewise.
87442
87443         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
87444         `/'.
87445
87446         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
87447         (dir_name): Assert that there are no trailing slashes.
87448
87449 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
87450
87451         * lib/mbswidth.h (mbswidth): Add a flags argument.
87452         (mbswidth): New declaration.
87453         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
87454         * lib/mbswidth.c (mbswidth): Add a flags argument.
87455         (mbsnwidth): New function.
87456
87457 2000-07-24  Jim Meyering  <meyering@lucent.com>
87458
87459         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
87460
87461 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87462
87463         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87464
87465 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87466
87467         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87468         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87469         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87470         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87471         invoke multibyte primitives.
87472
87473 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87474
87475         * lib/quotearg.c:
87476         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87477         so that mbstate_t is always defined.
87478
87479         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87480         be 1 in at least one GCC installation, and this configuration
87481         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87482         performance on hosts that have mbrtowc but have only unibyte
87483         locales, but I assume these hosts are rare.
87484
87485 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87486
87487         * lib/mbswidth.c (_XOPEN_SOURCE):
87488         Don't define; this causes problems on Solaris 7.
87489         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87490
87491 2000-07-23  Jim Meyering  <meyering@lucent.com>
87492
87493         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87494         too: getgrgid, getpwuid, getuid.
87495
87496 2000-07-23  Jim Meyering  <meyering@lucent.com>
87497
87498         * lib/basename.c (base_name): Add an assertion.
87499
87500 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87501
87502         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87503         shadow its mbsinit function.
87504
87505 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87506
87507         * lib/mbswidth.h: New file.
87508         * lib/mbswidth.c: New file.
87509         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87510         (noinst_HEADERS): Add mbswidth.h.
87511
87512 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87513
87514         * lib/config.charset: Add support for FreeBSD. Improve support for
87515         HP-UX and IRIX 6.
87516
87517 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87518
87519         * m4/mbswidth.m4: New file.
87520         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87521
87522 2000-07-15  Jim Meyering  <meyering@lucent.com>
87523
87524         * lib/makepath.c: Include quote.h.
87525         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
87526         corresponding argument in a `quote (...)' call.
87527         Give better diagnostics.
87528
87529         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
87530         (noinst_HEADERS): Add quote.h.
87531
87532         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
87533         from tar's src/misc.c.
87534         * lib/quote.h: New file.  Prototypes for same.
87535
87536 2000-07-14  Paul Eggert  <eggert@twinsun.com>
87537
87538         From a suggestion by Bruno Haible.
87539         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
87540         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
87541         to decide whether to define the BeOS workaround macro;
87542         this adjusts to the change to AC_MBSTATE_T.
87543
87544 2000-07-14  Jim Meyering  <meyering@lucent.com>
87545
87546         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
87547         jm_AC_TYPE_UINTMAX_T.
87548
87549 2000-07-13  Paul Eggert  <eggert@twinsun.com>
87550
87551         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
87552
87553         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
87554         quotearg_buffer_restyled): Add support for
87555         clocale_quoting_style.  Undo previous change to
87556         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
87557         and "{RIGHT QUOTATION MARK}" msgids.
87558
87559 2000-07-10  Paul Eggert  <eggert@twinsun.com>
87560
87561         From a suggestion by Bruno Haible.
87562         * m4/mbstate_t.m4 (AC_MBSTATE_T):
87563         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
87564         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
87565         and mbstate_t, to a single-part test that simply defines mbstate_t.
87566         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
87567         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
87568
87569 2000-07-10  Jim Meyering  <meyering@lucent.com>
87570
87571         * m4/strerror_r.m4: Mirror the correction made in autoconf.
87572
87573         * m4/gnu-source.m4: Output to confdefs.h directly.
87574         Suggestion from Akim Demaille.
87575
87576 2000-07-09  Paul Eggert  <eggert@twinsun.com>
87577
87578         The old behavior of quoting `like this' doesn't look good with
87579         newer, ISO-style fonts.  See:
87580         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
87581
87582         Instead, quote "like this" by default.  Let the translator
87583         tailor the locale-specific quoting behavior by providing
87584         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
87585
87586         * lib/quotearg.c (N_): New macro.
87587         (gettext_default): New function.
87588         (quotearg_buffer_restyled): Use
87589         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
87590         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
87591
87592 2000-07-09  Jim Meyering  <meyering@lucent.com>
87593
87594         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
87595         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
87596
87597         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
87598         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
87599
87600 2000-07-09  Jim Meyering  <meyering@lucent.com>
87601
87602         * lib/Most files: Update copyright dates to include 2000.
87603
87604 2000-07-08  Jim Meyering  <meyering@lucent.com>
87605
87606         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
87607         if not defined.
87608         (xgethostname): Remove now-unnecessary #ifdef.
87609         Move declaration of `err' into loop where it's used.
87610
87611 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87612         and Bruno Haible  <haible@clisp.cons.org>
87613
87614         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
87615         only if the test for an object-type mbstate_t fails.  This
87616         prevents us from mistakenly reporting that mbstate_t is a
87617         system object type after we "#define mbstate_t int" to work
87618         around its lack.
87619
87620 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87621         and Bruno Haible  <haible@clisp.cons.org>
87622
87623         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
87624
87625 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87626
87627         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
87628         to strerror_r.
87629         Include <ctype.h> for use of isalpha.
87630
87631 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87632
87633         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
87634         by allocating a larger buffer. Test the gethostname return value for
87635         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
87636         returns an error and ENAMETOOLONG isn't defined.
87637
87638 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87639
87640         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
87641         dimension.
87642
87643 2000-07-04  Jim Meyering  <meyering@lucent.com>
87644
87645         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
87646         of the deprecated AC_CHECKING.
87647
87648 2000-07-04  Jim Meyering  <meyering@lucent.com>
87649
87650         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
87651         Reported by Bruno Haible.
87652
87653 2000-07-04  Jim Meyering  <meyering@lucent.com>
87654
87655         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
87656         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
87657         lacks mbrtowc.
87658
87659 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87660
87661         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
87662         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
87663
87664 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87665         and Bruno Haible  <haible@clisp.cons.org>
87666
87667         * lib/quotearg.c (mbrtowc):
87668         Assign to *pwc, and return 1 only if result is nonzero.
87669         (iswprint): Use ISPRINT when substituting our own mbrtowc.
87670
87671 2000-07-03  Jim Meyering  <meyering@lucent.com>
87672
87673         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
87674
87675 2000-07-03  Jim Meyering  <meyering@lucent.com>
87676
87677         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
87678         This is necessary to get a definition of e.g., UTMP_FILE on
87679         HP-UX 10.20.
87680         From Bob Proulx.
87681
87682 2000-07-02  Jim Meyering  <meyering@lucent.com>
87683
87684         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
87685
87686         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
87687         AC_LIBOBJ(function_name).
87688         * m4/chown.m4: Likewise.
87689         * m4/fnmatch.m4: Likewise.
87690         * m4/ftruncate.m4: Likewise.
87691         * m4/getgroups.m4: Likewise.
87692         * m4/getline.m4: Likewise.
87693         * m4/group-member.m4: Likewise.
87694         * m4/jm-macros.m4: Likewise.
87695         * m4/lstat.m4: Likewise.
87696         * m4/malloc.m4: Likewise.
87697         * m4/memcmp.m4: Likewise.
87698         * m4/nanosleep.m4: Likewise.
87699         * m4/putenv.m4: Likewise.
87700         * m4/realloc.m4: Likewise.
87701         * m4/regex.m4: Likewise.
87702         * m4/stat.m4: Likewise.
87703         * m4/strftime.m4: Likewise.
87704
87705 2000-07-02  Jim Meyering  <meyering@lucent.com>
87706
87707         * lib/quotearg.c (mbstate_t): Don't define here.
87708
87709 2000-07-02  Jim Meyering  <meyering@lucent.com>
87710
87711         * lib/nanosleep.c (SIGCONT): Define if not already defined.
87712
87713 2000-07-01  Jim Meyering  <meyering@lucent.com>
87714
87715         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
87716
87717 2000-07-01  Jim Meyering  <meyering@lucent.com>
87718
87719         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
87720         problem.
87721
87722 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87723
87724         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
87725         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
87726
87727 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87728
87729         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
87730         per change in ../m4/ls-mntd-fs.m4.
87731         (read_filesystem_list): Ignore symbolic links.
87732
87733 2000-06-29  Jim Meyering  <meyering@lucent.com>
87734
87735         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
87736         for declaration of strcmp.
87737
87738         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
87739
87740         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
87741         Avoid warning by casting result to `char *' to remove `const'.
87742
87743 2000-06-28  Jim Meyering  <meyering@lucent.com>
87744
87745         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
87746         included by quotearg.c, for which we perform this test.  From
87747         Bruno Haible.
87748
87749 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87750
87751         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
87752         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
87753         <utmpx.h> exists, put readutmp.o into LIBOBJS.
87754
87755 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87756
87757         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
87758
87759 2000-06-26  Paul Eggert  <eggert@twinsun.com>
87760
87761         savedir now sets errno on failure and invokes xmalloc to get memory.
87762         Fix a couple of other minor bugs while we're at it.
87763
87764         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
87765         (NAMLEN): Remove macro.
87766         (malloc, realloc): Remove decls.
87767         (stpcpy): Likewise.
87768         ("xalloc.h"): Include.
87769         (NAME_SIZE_DEFAULT): New macro.
87770         (savedir): Use xmalloc / xrealloc to allocate memory.
87771         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
87772         Skip "" directory entries.
87773         Use strlen to calculate directory entry length, since the old method
87774         is rarely used these days and isn't worth supporting.
87775         Don't use a pointer after freeing it.
87776         Check for integer overflow when calculating allocation size.
87777         Use memcpy to copy entries, instead of stpcpy.
87778         Set errno properly when returning NULL.
87779         Check for readdir error.
87780
87781 2000-06-26  Jim Meyering  <meyering@lucent.com>
87782
87783         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
87784
87785 2000-06-25  Jim Meyering  <meyering@lucent.com>
87786
87787         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
87788         Linux header bug when _XOPEN_SOURCE is defined to 500.
87789
87790 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87791
87792         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
87793         deficiency.
87794
87795 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87796
87797         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
87798         Include xalloc.h.
87799         Don't include <stdlib.h>.  Don't declare malloc, realloc.
87800
87801 2000-06-24  Jim Meyering  <meyering@lucent.com>
87802
87803         * m4/strerror_r.m4: Revive this file -- to try out an experimental
87804         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
87805         for which strerror does return char*, but which lacks a conveniently
87806         accessible declaration of the function.  If the compile-test says
87807         strerror_r doesn't work, then resort to a `run'-test that works on
87808         BeOS and segfaults on DEC Unix.
87809
87810 2000-06-24  Jim Meyering  <meyering@lucent.com>
87811
87812         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
87813
87814 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87815
87816         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
87817         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
87818
87819 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87820
87821         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
87822         (mbrtowc, mbstate_t): Define substitutes if
87823         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
87824         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
87825         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
87826
87827 2000-06-23  Jim Meyering  <meyering@lucent.com>
87828
87829         * m4/afs.m4: Add missing AC_MSG_RESULT.
87830         Reported by Bruno Haible.
87831
87832         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
87833         Suggestion from Bruno Haible.
87834
87835 2000-06-23  Jim Meyering  <meyering@lucent.com>
87836
87837         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
87838
87839 2000-06-21  Jim Meyering  <meyering@lucent.com>
87840
87841         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
87842
87843 2000-06-21  Jim Meyering  <meyering@lucent.com>
87844
87845         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
87846         (noinst_HEADERS): Add getstr.h.
87847
87848         * lib/getline.c (getstr): Move into a separate file.
87849         * lib/getstr.c (getstr): New file, extracted from getline.c, with
87850         the following changes: new parameter, delim2; both delim[12]
87851         parameters have type `int', not `char'.  The latter would lose
87852         with 8-bit delimiters.
87853         * lib/getstr.h: New file.
87854
87855 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87856
87857         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
87858         than 1024, return a memory chunk of least possible size, instead
87859         of size PATH_MAX + 2. In the loop, increment the size proportionally.
87860         Use free/xmalloc instead of xrealloc to avoid copying for very long
87861         paths.
87862
87863 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87864
87865         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
87866         the empty string.
87867
87868 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87869
87870         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
87871         address, not strdup.  Include <stdlib.h> and don't declare free().
87872
87873 2000-06-19  Jim Meyering  <meyering@lucent.com>
87874
87875         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
87876
87877 2000-06-18  Jim Meyering  <meyering@lucent.com>
87878
87879         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
87880
87881         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
87882         `checking whether...' message to be consistent with that of the
87883         lstat test.
87884
87885 2000-06-18  Jim Meyering  <meyering@lucent.com>
87886
87887         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
87888         Besides, these days every porting target provides a mkdir function.
87889
87890         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
87891         needed. (this snippet comes from src/system.h).
87892
87893 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
87894
87895         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
87896
87897 2000-06-15  Paul Eggert  <eggert@twinsun.com>
87898
87899         * lib/human.c (adjust_value): New function.
87900         (human_readable_inexact): Apply rounding style even when
87901         printing approximate values.
87902
87903 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87904
87905         * lib/human.c (human_readable_inexact): Allow an input block
87906         size that is not a multiple of the output block size, and vice versa.
87907         Reported by Piergiorgio Sartor.
87908
87909 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87910
87911         * lib/getdate.y (get_date): Apply relative times after time
87912         zone indicator, not before.  Reported by Todd A. Jacobs.
87913
87914 2000-06-13  Jim Meyering  <meyering@lucent.com>
87915
87916         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
87917
87918         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
87919
87920 2000-06-12  Paul Eggert  <eggert@twinsun.com>
87921
87922         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
87923
87924 2000-06-12  Jim Meyering  <meyering@lucent.com>
87925
87926         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
87927         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
87928         optional argument.
87929         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
87930         the optional argument, `lib'.
87931
87932 2000-06-08  Jim Meyering  <meyering@lucent.com>
87933
87934         * m4/largefile.m4: Remove file (now that it's part of autoconf).
87935
87936 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87937
87938         Rewrite largefile configuration so that we don't need to run
87939         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
87940         AC_CANONICAL_HOST in configure.in -- jmm]
87941
87942         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
87943         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
87944         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
87945         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
87946         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
87947         All uses changed.
87948         Instead of inspecting the output of getconf, try to compile the
87949         test program without and with the macro definition.
87950         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
87951         for getconf.  Instead, check for the needed flags by compiling
87952         test programs.
87953
87954 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87955
87956         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
87957
87958 2000-06-04  Jim Meyering  <meyering@lucent.com>
87959
87960         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
87961         SunOS 4.1.4 for which gid_t is an unsigned type.
87962
87963 2000-06-03  Jim Meyering  <meyering@lucent.com>
87964
87965         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
87966         now that autoconf requires that.
87967
87968         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
87969         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
87970         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
87971
87972 2000-06-03  Jim Meyering  <meyering@lucent.com>
87973
87974         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
87975
87976 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
87977
87978         * m4/glibc21.m4: New file.
87979         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
87980
87981 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
87982
87983         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
87984         newer, don't install charset.alias.
87985         * lib/config.charset: Change the Linux/glibc rules so they become empty
87986         on glibc-2.1 or newer.
87987
87988 2000-06-02  Jim Meyering  <meyering@lucent.com>
87989
87990         * lib/mountlist.c: Back out last change.  Instead, do this...
87991         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
87992         me_dummy member using the same `ignore'-testing code.
87993         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
87994         fs_type strings.
87995         From Mark D. Roth.
87996
87997 2000-05-29  Jim Meyering  <meyering@lucent.com>
87998
87999         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
88000         mounts with the `ignore' attribute.  Based on a patch from
88001         Mark D. Roth.
88002
88003 2000-05-28  Jim Meyering  <meyering@lucent.com>
88004
88005         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
88006         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88007         * m4/stat.m4: Likewise.
88008         * m4/lstat.m4: Likewise.
88009         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
88010
88011         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
88012         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
88013
88014 2000-05-26  Jim Meyering  <meyering@lucent.com>
88015
88016         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
88017
88018 2000-05-24  Jim Meyering  <meyering@lucent.com>
88019
88020         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
88021         autoconf requires that.
88022         * m4/lib-check.m4: Likewise.
88023         * m4/jm-macros.m4: Likewise.
88024         * m4/strftime.m4: Likewise.
88025
88026         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
88027         AC_CHECK_DECLS, now that autoconf requires that.
88028
88029 2000-05-22  Jim Meyering  <meyering@lucent.com>
88030
88031         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88032         * m4/lstat.m4: Likewise.
88033
88034 2000-05-22  Jim Meyering  <meyering@lucent.com>
88035
88036         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
88037
88038 2000-05-20  Jim Meyering  <meyering@lucent.com>
88039
88040         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
88041         (jm_PREREQ): Use it.
88042
88043 2000-05-18  Jim Meyering  <meyering@lucent.com>
88044
88045         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
88046         back, too, since it may have been modified by allocate_entry.
88047         (hash_delete): Rewrite to use neither the assignment operator
88048         nor the comma operator in an if-expression.
88049
88050 2000-05-15  Paul Eggert  <eggert@twinsun.com>
88051
88052         * lib/closeout.c:
88053         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
88054         Remove; no longer needed.
88055         "quotearg.h": Add include.
88056         (file_name): Do not bother to explicitly initialize to NULL; it's less
88057         efficient on some hosts.
88058         (close_stdout_status): Remove test as to whether stdout was already
88059         closed; it breaks for the case "echo x | sort >&-".
88060         Quote file name colons.
88061         Do not assume that _("write error") lacks format strings.
88062
88063 2000-05-15  Jim Meyering  <meyering@lucent.com>
88064
88065         * lib/version-etc.c (version_etc_copyright): Update the copyright
88066         string used in all --version output.
88067
88068 2000-05-14  Jim Meyering  <meyering@lucent.com>
88069
88070         * lib/closeout.c (close_stdout_set_file_name): New function.
88071         (close_stdout_status): Use new file-scoped global.
88072         Return right away if fstat says the stdout file descriptor is invalid.
88073         * lib/closeout.h (close_stdout_set_file_name): Declare.
88074
88075 2000-05-10  Jim Meyering  <meyering@lucent.com>
88076
88077         * lib/closeout.c [default_exit_status]: New file-scoped variable.
88078         (close_stdout_set_status): New function.
88079         * lib/closeout.h (close_stdout_set_status): Declare.
88080
88081 2000-05-09  Jim Meyering  <meyering@lucent.com>
88082
88083         * m4/gettext.m4: Rename this...
88084         * m4/libintl.m4: ...to this.
88085
88086 2000-05-08  Jim Meyering  <meyering@lucent.com>
88087
88088         * lib/long-options.c: Don't include closeout.h.
88089         (parse_long_options): Don't call close_stdout for --version.
88090
88091 2000-05-06  Paul Eggert  <eggert@twinsun.com>
88092
88093         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
88094         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
88095         2.1.3 bug.  This avoids a clash when files like regex.c define
88096         _GNU_SOURCE.
88097
88098 2000-05-06  Jim Meyering  <meyering@lucent.com>
88099
88100         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
88101         (AC_REPLACE_FUNCS): Add strnlen.
88102
88103         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
88104         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
88105
88106         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
88107         AC_SEARCH_LIBS call for nanosleep.
88108         (LIB_NANOSLEEP): Set and AC_SUBST.
88109
88110 2000-05-06  Jim Meyering  <meyering@lucent.com>
88111
88112         * lib/strnlen.c: Undefine __strnlen and strnlen.
88113         [!weak_alias]: Define __strnlen to strnlen.
88114
88115         * lib/atexit.c: New file, from libiberty.
88116
88117 2000-05-06  Jim Meyering  <meyering@lucent.com>
88118
88119         * lib/closeout.c (close_stdout_status): Also check for errors on the
88120         stderr stream.
88121
88122 2000-05-05  Jim Meyering  <meyering@lucent.com>
88123
88124         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
88125         AC_SEARCH_LIBS call for clock_gettime.
88126         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
88127
88128         * m4/search-libs.m4: Update from autoconf.
88129
88130         su doesn't work on Solaris 2.6.
88131         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
88132         <shadow.h>.  Reported by Dragos Harabor.
88133
88134 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
88135
88136         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
88137         memcpy instead of xmalloc, xrealloc, path_concat.
88138         (locale_charset): Treat empty environment variables as absent.
88139         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
88140
88141 2000-05-04  Jim Meyering  <meyering@lucent.com>
88142
88143         * lib/getopt.c: Update from glibc.
88144         * lib/obstack.c: Likewise.
88145         * lib/obstack.h: Likewise.
88146         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
88147         file
88148
88149         * lib/regex.h: Likewise.
88150         * lib/strndup.c: Likewise.
88151         * lib/strnlen.c: New file, from glibc.
88152
88153 2000-05-03  Jim Meyering  <meyering@lucent.com>
88154
88155         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
88156
88157 2000-05-02  Paul Eggert  <eggert@twinsun.com>
88158
88159         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
88160         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
88161         compile-time test, rather than inspecting host and OS, to
88162         decide whether to define _LARGEFILE_SOURCE.
88163
88164 2000-05-01  Jim Meyering  <meyering@lucent.com>
88165
88166         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
88167
88168         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
88169         Based on a patch from Bruno Haible.
88170
88171 2000-05-01  Jim Meyering  <meyering@lucent.com>
88172
88173         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
88174
88175 2000-04-29  Jim Meyering  <meyering@lucent.com>
88176
88177         * lib/path-concat.c: Declare strdup only if it's not defined.
88178         * lib/canon-host.c: Likewise.
88179
88180 2000-04-28  Jim Meyering  <meyering@lucent.com>
88181
88182         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
88183         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
88184         is included first, then limits.h is included by locale.h by libintl.h.
88185         From John David Anglin.
88186
88187 2000-04-25  Jim Meyering  <meyering@lucent.com>
88188
88189         * lib/makepath.c (S_IRWXUGO): Define.
88190         (make_path): Always perform explicit chmod if MODE specifies any
88191         of the `special' permission bits.  Prompted by a bug report against
88192         install from Mate Wierdl and Joost van Baal.
88193
88194 2000-04-18  Jim Meyering  <meyering@lucent.com>
88195
88196         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
88197         (jm_PREREQ): Use it.
88198
88199 2000-04-18  Jim Meyering  <meyering@lucent.com>
88200
88201         * lib/README: New file.
88202
88203         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
88204         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
88205
88206 2000-04-17  Jim Meyering  <meyering@lucent.com>
88207
88208         Get it right :-)
88209         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
88210         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
88211         Suggestion from Akim Demaille.
88212
88213 2000-04-17  Jim Meyering  <meyering@lucent.com>
88214
88215         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
88216         the definition of it to rpl_strftime also defined-away the system's
88217         declaration.
88218
88219 2000-04-15  Jim Meyering  <meyering@lucent.com>
88220
88221         Use `C' to denote so-called `contiguous' files, the same way
88222         that tar does.
88223         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
88224         (ftypelet): Use S_ISCTG.
88225         From Michael Deutschmann.
88226
88227 2000-04-14  Jim Meyering  <meyering@lucent.com>
88228
88229         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
88230         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
88231         clobbered.
88232
88233 2000-04-14  Jim Meyering  <meyering@lucent.com>
88234
88235         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
88236
88237 2000-04-13  Jim Meyering  <meyering@lucent.com>
88238
88239         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
88240         AH_VERBATIM to insert required #ifndef into config.h.in.
88241         Suggestion from Akim Demaille.
88242
88243 2000-04-12  Jim Meyering  <meyering@lucent.com>
88244
88245         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
88246         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
88247         Christian Krackowizer.
88248
88249         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
88250         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
88251         (AC_SYS_LARGEFILE): Require.
88252         (AM_C_PROTOTYPES): Require.
88253
88254 2000-04-08  Jim Meyering  <meyering@lucent.com>
88255
88256         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
88257         names don't conflict.  Reported by Eli Zaretskii.
88258
88259 2000-04-07  Jim Meyering  <meyering@lucent.com>
88260
88261         * lib/putenv.c: Move inclusion of errno.h so it follows that of
88262         sys/types.h, to work around system header problems on AIX 3.2.5.
88263         From Bruno Haible.
88264
88265 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
88266
88267         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
88268         bug.  Deal with the different error behavior of Irix iconv.
88269
88270 2000-04-05  Paul Eggert  <eggert@twinsun.com>
88271
88272         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
88273         IRIX if the installer said otherwise.
88274
88275 2000-04-05  Jim Meyering  <meyering@lucent.com>
88276
88277         Portability tweaks required for ultrix4.3.
88278         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
88279         (jm_CHECK_DECLS): Add getutent to the list of functions.
88280         (_jm_DECL_HEADERS): Add utmpx.h.
88281         From John David Anglin.
88282
88283         * m4/strftime.m4: Back out the 2000-04-02 change.
88284         Instead of that change, simply undefine putenv in the test program.
88285
88286 2000-04-05  Jim Meyering  <meyering@lucent.com>
88287
88288         Portability tweaks required for ultrix4.3.
88289         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
88290         getutent.
88291         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
88292         * lib/canon-host.c: Declare strdup.
88293         * lib/path-concat.c: Likewise.
88294         From John David Anglin.
88295
88296 2000-04-04  Jim Meyering  <meyering@lucent.com>
88297
88298         Be more DOS 8.3-friendly.
88299         * lib/ref-add.sin: Renamed from ref-add.sed.in.
88300         * lib/ref-del.sin: Renamed from ref-del.sed.in.
88301         * lib/Makefile.am: Reflect renaming.
88302         Reported by Eli Zaretskii.
88303
88304         Use a temporary file name that won't clash with `charset.alias'
88305         in the DOS 8.3 name space.
88306         * lib/Makefile.am (charset_tmp): Define.
88307         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
88308         (uninstall-local): Likewise.
88309         Reported by Eli Zaretskii.
88310
88311 2000-04-03  Jim Meyering  <meyering@lucent.com>
88312
88313         * m4/gettext.m4: Fix typo in comment.
88314
88315         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
88316         textutils/configure.in).  Suggestion from Paul Eggert.
88317         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
88318
88319 2000-04-02  Paul Eggert  <eggert@twinsun.com>
88320
88321         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
88322         variable in the shell rather than using putenv, which isn't
88323         portable.  This avoids the configure-time inter-test dependency
88324         on the potentially-renamed putenv function.
88325
88326 2000-03-30  Paul Eggert  <eggert@twinsun.com>
88327
88328         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
88329         before checking struct stat.st_blksize, so that
88330         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
88331
88332 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88333
88334         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
88335         since strftime.c uses HAVE_STRFTIME to decide whether to use
88336         the underlying strftime.
88337
88338 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88339
88340         * lib/time/strftime.c (my_strftime): Make sure we call the system
88341         strftime, not ourselves, when invoking the underlying strftime.
88342
88343 2000-03-24  Jim Meyering  <meyering@lucent.com>
88344
88345         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
88346         (charset_alias): Define.
88347         (install-exec-local): Factor out common code.
88348         (uninstall-local): Split lines longer than 80.
88349         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
88350         (SUFFIXES): Define.
88351         (.sed.in.sed): New rule.  Don't redirect directly to $@.
88352         (CLEANFILES): Add ref-add.sed and ref-del.sed.
88353
88354 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
88355
88356         * lib/config.charset: Output a line containing "Packages using this
88357         file".
88358         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
88359         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
88360         ref-del.sed): New rules.
88361
88362 2000-03-17  Jim Meyering  <meyering@lucent.com>
88363
88364         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
88365         Otherwise, include <strings.h>
88366
88367 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
88368
88369         * lib/unicodeio.c (utf8_wctomb): New function.
88370         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
88371         format instead of in UCS-4 with platform dependent endianness.
88372
88373 2000-03-10  Jim Meyering  <meyering@lucent.com>
88374
88375         * m4/lib-check.m4: Look for getspnam in -lgen, too.
88376         From Marco Franzen.
88377
88378 2000-03-07  Paul Eggert  <eggert@twinsun.com>
88379
88380         * lib/savedir.c (savedir): Work even if directory size is
88381         negative; this can happen with some screwy NFS configurations.
88382
88383 2000-03-06  Jim Meyering  <meyering@lucent.com>
88384
88385         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
88386         if it's NULL (because we ran out of memory).  From Bruno Haible.
88387
88388 2000-03-05  Jim Meyering  <meyering@lucent.com>
88389
88390         * lib/localcharset.c ("path-concat.h"): Include.
88391         (get_charset_aliases): Use path_concat instead of ANSI string
88392         concatenation.
88393
88394         * lib/unicodeio.h (PARAMS): Define.
88395         Use it to guard prototype.
88396
88397 2000-03-04  Jim Meyering  <meyering@lucent.com>
88398
88399         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
88400         for lib/localcharset.c.
88401
88402 2000-03-04  Jim Meyering  <meyering@lucent.com>
88403
88404         * lib/Makefile.am (install-exec-local): Create $(libdir) before
88405         installing into it.
88406         (uninstall-local): Uncomment this rule so `make distcheck' works
88407         once again.
88408
88409         * lib/unicodeio.c (<errno.h>): Include it.
88410         (errno): Declare if not defined.
88411
88412         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
88413
88414         * lib/config.charset: New version, incorporating remarks from a linux
88415         i18n mailing list.  From Bruno Haible.
88416
88417 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
88418
88419         * m4/codeset.m4: New file.
88420         * m4/iconv.m4: New file.
88421         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
88422
88423 2000-03-03  Jim Meyering  <meyering@lucent.com>
88424
88425         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
88426
88427 2000-03-02  Jim Meyering  <meyering@lucent.com>
88428
88429         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
88430         the messages come out on separate lines.
88431
88432         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
88433         rather than jm_CHECK_DECLARATIONS.
88434         * m4/decl.m4: Remove now-unused file.
88435
88436         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
88437         geteuid.
88438
88439 2000-03-02  Jim Meyering  <meyering@lucent.com>
88440
88441         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
88442
88443 2000-03-01  Jim Meyering  <meyering@lucent.com>
88444
88445         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
88446         * lib/unicodeio.c: Likewise.
88447
88448 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
88449
88450         * lib/config.charset: New file.
88451         * lib/localcharset.c: New file.
88452         * lib/unicodeio.h, lib/unicodeio.c: New files.
88453         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
88454         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
88455         (noinst_HEADERS): Add unicodeio.h.
88456         (all-local, install-exec-local, charset.alias): New targets.
88457
88458 2000-02-28  Paul Eggert  <eggert@twinsun.com>
88459
88460         * lib/quotearg.c (ALERT_CHAR): New macro.
88461         (quotearg_buffer_restyled): Use it.
88462
88463 2000-02-27  Jim Meyering  <meyering@lucent.com>
88464
88465         * m4/check-decl.m4: Add getenv to the list.
88466
88467 2000-02-27  Jim Meyering  <meyering@lucent.com>
88468
88469         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88470         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88471
88472         * lib/backupfile.c: Guard inclusion of stdlib.h with
88473         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88474         Declare malloc if needed.
88475
88476         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88477         `#ifndef HAVE_DECL..'
88478         now that autoconf always defines the HAVE_DECL_ symbols.
88479         * lib/human.c: Likewise.
88480         * lib/same.c: Likewise.
88481         * lib/strtoumax.c: Likewise.
88482
88483         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88484         declaration check was not run.
88485         * lib/hash.c: Likewise.
88486         * lib/human.c: Likewise.
88487         * lib/same.c: Likewise.
88488         * lib/strtoumax.c: Likewise.
88489
88490         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88491         `.', then first look up the entire `.'-containing string as a login
88492         name.
88493
88494 2000-02-23  Jim Meyering  <meyering@lucent.com>
88495
88496         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88497         in place of my hack.
88498
88499 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88500
88501         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88502         (textint): New typedef.
88503         (parser_control): Member year changed from int to textint.
88504         All uses changed.
88505         (YYSTYPE): Removed; replaced by %union with int and textint members.
88506         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88507         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88508         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88509         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88510         (date, number, to_year): Use width of number in digits, not its value,
88511         to determine whether it's a 2-digit year, or a 2-digit time.
88512         (yylex): Store number of digits of numeric tokens.
88513         Reported by John Kendall.
88514
88515         (parser_control): Changed from struct parser_control to typedef (for
88516         consistency).  All uses changed.
88517
88518         (tID): Removed; not used.
88519         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88520
88521 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88522
88523         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88524         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
88525
88526 2000-02-12  Jim Meyering  <meyering@lucent.com>
88527
88528         * lib/userspec.c (ISDIGIT): Define it.
88529         (isdigit): Remove definition.
88530         (is_number): Use ISDIGIT, not isdigit.
88531         <libintl.h>: Include.
88532         (_ and N_): Define.
88533         (parse_user_spec): Mark translatable strings.
88534
88535 2000-02-10  Jim Meyering  <meyering@lucent.com>
88536
88537         With these changes, nanosleep.[ch] are finally enough like the other
88538         lib/* replacement files to compile on a few more losing systems.
88539
88540         * lib/nanosleep.h: Don't include config.h.
88541         Remove prototype from declaration of nanosleep.
88542         (PARAMS): Remove now-unneeded definition.
88543         * lib/nanosleep.c: #undef nanosleep.
88544         (rpl_nanosleep): Rename from nanosleep.
88545
88546 2000-02-10  Jim Meyering  <meyering@lucent.com>
88547
88548         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
88549         gnu_nanosleep to rpl_nanosleep.
88550
88551 2000-02-09  Jim Meyering  <meyering@lucent.com>
88552
88553         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
88554         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
88555
88556 2000-02-08  Akim Demaille  <akim@epita.fr>
88557
88558         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
88559         `[' and `]' and remove uses of `changequote'.
88560         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
88561         (AC_SYS_LARGEFILE): Likewise.
88562         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88563         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
88564         of changequote.
88565         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
88566         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
88567         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
88568         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
88569
88570 2000-02-05  Jim Meyering  <meyering@lucent.com>
88571
88572         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
88573         Remove explicit use of AC_HEADER_TIME.  It is required by
88574         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
88575         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
88576         in autoconf whereby the expansion of the latter ended up preceding
88577         the expansion of its prerequisite, AC_HEADER_TIME.
88578         Reported by Volker Borchert.
88579
88580 2000-02-03  Jim Meyering  <meyering@lucent.com>
88581
88582         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
88583
88584 2000-02-03  Jim Meyering  <meyering@lucent.com>
88585
88586         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
88587         rather than with `#if HAVE_UTMPNAME'.
88588
88589 2000-02-02  Jim Meyering  <meyering@lucent.com>
88590
88591         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
88592         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
88593         Reported by Eli Zaretskii.
88594
88595 2000-02-01  Jim Meyering  <meyering@lucent.com>
88596
88597         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
88598
88599 2000-01-31  Jim Meyering  <meyering@lucent.com>
88600
88601         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
88602         functions.  Add the time.h and sys/time.h headers along with the
88603         AC_REQUIRE'ment of AC_HEADER_TIME.
88604
88605 2000-01-31  Jim Meyering  <meyering@lucent.com>
88606
88607         * lib/nanosleep.h (nanosleep): Guard declaration with
88608         `#if ! HAVE_DECL_NANOSLEEP'.
88609         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
88610         the declaration in that vendor's sys/timers.h.
88611         Reported by Christian Krackowizer.
88612
88613         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
88614         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
88615         (ISPRINT): Likewise.
88616         Reported by Tom Tromey.
88617
88618 2000-01-30  Jim Meyering  <meyering@lucent.com>
88619
88620         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
88621
88622         * m4/prereq.m4 (utmp_includes): Define.
88623         Check for ut_user and ut_name members in both struct utmpx
88624         and struct utmp.
88625
88626 2000-01-30  Jim Meyering  <meyering@lucent.com>
88627
88628         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
88629         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
88630         header files where only utmpx.ut_user is declared.
88631
88632         * lib/readutmp.h (UT_USER): Define.
88633
88634 2000-01-29  Jim Meyering  <meyering@lucent.com>
88635
88636         * m4/lib-check.m4: New file containing library-related checks from
88637         fileutils and sh-utils (textutils had none).
88638
88639 2000-01-28  Jim Meyering  <meyering@lucent.com>
88640
88641         * m4/perl.m4: Change format of warning message to look more like that
88642         from the missing script.  Suggestion from François Pinard.
88643
88644 2000-01-25  Jim Meyering  <meyering@lucent.com>
88645
88646         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
88647         well as time.h in the compile check.
88648         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
88649         Fix typo in cross-compiling case: s/yes/no/.
88650
88651 2000-01-23  Jim Meyering  <meyering@lucent.com>
88652
88653         * m4/jm-macros.m4: Move df-related tests here from
88654         fileutils/configure.in
88655
88656         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
88657         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
88658
88659         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
88660         s/space/ac_fsusage_space/.
88661         (jm_FILE_SYSTEM_USAGE): Take two parameters.
88662
88663         * m4/ftruncate.m4: New file (derived from part of
88664         fileutils/configure.in).
88665         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
88666         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
88667
88668         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
88669         AC_SUBST these here, rather than just in sh-util/configure.in, so
88670         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
88671         all the same.
88672         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
88673         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
88674         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
88675         (AC_SUBST(POW_LIBM)): Likewise.
88676         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
88677
88678 2000-01-23  Jim Meyering  <meyering@lucent.com>
88679
88680         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
88681         obstack.c.
88682
88683 2000-01-22  Jim Meyering  <meyering@lucent.com>
88684
88685         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
88686
88687         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
88688
88689         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
88690         configure.in
88691         (AC_CHECK_HEADERS): Likewise for sh-utils.
88692         (AC_CHECK_HEADERS): Likewise for textutils.
88693         Merge the three lists of headers.
88694
88695         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
88696         from fileutils' configure.in.
88697
88698         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
88699         code. Moved tests into their own function (_jm_DECL_HEADERS) in
88700         check-decl.m4.
88701
88702         * m4/check-decl.m4: Use #if rather than #ifdef.
88703         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
88704         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
88705         (_jm_DECL_HEADERS): Define new function.
88706         (jm_CHECK_DECLARATIONS): Require it.
88707
88708 2000-01-22  Jim Meyering  <meyering@lucent.com>
88709
88710         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
88711         [! HAVE_DECL_STRTOULL]: Declare strtoull.
88712         Required for some AIX systems.  Reported by Christian Krackowizer.
88713         [TESTING] (main): New function.
88714
88715         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
88716         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
88717         letters.
88718
88719         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
88720         iswprint.
88721
88722         * lib/strverscmp.c (ISDIGIT): Define.
88723         (strverscmp): Use ISDIGIT, not isdigit.
88724
88725 2000-01-19  Jim Meyering  <meyering@lucent.com>
88726
88727         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
88728         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
88729         defines `struct timespec' in <sys/time.h>
88730
88731         * m4/c-bs-a.m4: Remove uses of changequote altogether.
88732         Thanks to Akim for explaining.
88733
88734 2000-01-17  Paul Eggert  <eggert@twinsun.com>
88735
88736         * lib/nanosleep.c (nanosleep):
88737         Don't use SA_INTERRUPT to decide whether to call sigaction, as
88738         POSIX.1 doesn't require SA_INTERRUPT and some systems
88739         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
88740         it's been part of POSIX.1 since day 1 (in 1988).
88741
88742 2000-01-17  Jim Meyering  <meyering@lucent.com>
88743
88744         * lib/interlock: Remove unused file.  Reported by François Pinard.
88745
88746 2000-01-16  Paul Eggert  <eggert@twinsun.com>
88747
88748         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
88749         alert, backslash, formfeed, and vertical tab unnecessarily in
88750         shell quoting style.
88751
88752 2000-01-16  Jim Meyering  <meyering@lucent.com>
88753
88754         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
88755         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
88756         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
88757         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
88758
88759 2000-01-16  Jim Meyering  <meyering@lucent.com>
88760
88761         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
88762         because the latter didn't work.
88763
88764 2000-01-15  Jim Meyering  <meyering@lucent.com>
88765
88766         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
88767         (AC_REPLACE_FUNCS): Add memcpy and memset.
88768         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
88769         Add strpbrk.
88770         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
88771
88772 2000-01-12  Jim Meyering  <meyering@lucent.com>
88773
88774         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
88775         (jm_PREREQ): Use it.
88776         (jm_PREREQ_READUTMP): New macro.
88777         (jm_PREREQ): Use it.
88778
88779 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88780
88781         Quote multibyte characters correctly.
88782         * m4/c-bs-a.m4: New file.
88783         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
88784         (jm_PREREQ): Use it.
88785
88786 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88787
88788         * m4/uintmax_t.m4: Port to autoconf 2.13.
88789
88790 2000-01-08  Jim Meyering  <meyering@ascend.com>
88791
88792         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
88793         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
88794
88795 2000-01-04  Jim Meyering  <meyering@ascend.com>
88796
88797         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
88798         jm_STRUCT_DIRENT_D_TYPE.
88799         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
88800         jm_STRUCT_DIRENT_D_INO.
88801         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
88802         jm_STRUCT_UTIMBUF.
88803         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
88804         renamings.
88805         * m4/utime.m4: Likewise.
88806
88807         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
88808         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
88809
88810 2000-01-03  Paul Eggert  <eggert@twinsun.com>
88811
88812         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
88813         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
88814
88815 2000-01-02  Jim Meyering  <meyering@ascend.com>
88816
88817         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
88818         remember if this is necessary.
88819
88820 1999-12-26  Jim Meyering  <meyering@ascend.com>
88821
88822         * m4/jm-macros.m4: Use it here.
88823         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
88824
88825 1999-12-23  Jim Meyering  <meyering@ascend.com>
88826
88827         * m4/jm-macros.m4: Check for clock_gettime (moved from
88828         fileutils/configure.in)
88829         Check for gettimeofday.
88830
88831 1999-12-20  Jim Meyering  <meyering@ascend.com>
88832
88833         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
88834         autoconf-2.14a-1999-12-20.
88835
88836 1999-12-19  Jim Meyering  <meyering@ascend.com>
88837
88838         * m4/lstat-slash.m4: New file.
88839         * m4/jm-macros.m4: Use the new macro:
88840         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88841
88842 1999-12-07  Jim Meyering  <meyering@ascend.com>
88843
88844         * m4/perl.m4: Require that File::Compare be available, too.
88845         Too many systems seem to lack it.
88846
88847         * m4/strftime.m4: Add checks for most of the cpp macros tested in
88848         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
88849
88850 1999-11-18  Paul Eggert  <eggert@twinsun.com>
88851
88852         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
88853         problem with the QNX 4.25 shell, which doesn't propagate exit
88854         status of failed commands inside shell assignments.
88855
88856 1999-11-17  Jim Meyering  <meyering@ascend.com>
88857
88858         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
88859
88860 1999-11-07  Jim Meyering  <meyering@ascend.com>
88861
88862         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
88863
88864 1999-11-06  Jim Meyering  <meyering@ascend.com>
88865
88866         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
88867         * m4/jm-macros.m4 (jm_MACROS): Use it here.
88868
88869 1999-11-05  Jim Meyering  <meyering@ascend.com>
88870
88871         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
88872         configure.in of textutils, fileutils, and sh-utils into this one
88873         (shared between those packages) file.
88874         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
88875         AC_STRUCT_ST_BLKSIZE.
88876
88877 1999-11-03  Jim Meyering  <meyering@ascend.com>
88878
88879         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
88880         of AC_CHECK_TYPE checks includes unistd.h.
88881         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
88882         Suggestion from Akim Demaille.
88883
88884 1999-10-30  Jim Meyering  <meyering@ascend.com>
88885
88886         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
88887         m4-quoted string.
88888         * m4/ls-mntd-fs.m4: Likewise.
88889         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
88890         * m4/jm-winsz1.m4: Likewise.
88891
88892         * m4/const.m4: Remove file, since the fix made it into the experimental
88893         version of autoconf.
88894         * m4/mktime.m4: Likewise.
88895
88896         * m4/check-type.m4: Remove file, now that the latest version of
88897         AC_CHECK_TYPE takes a third arg to specify additional #includes.
88898
88899         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
88900         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
88901         AC_CHECK_TYPE.
88902
88903 1999-10-04  Jim Meyering  <meyering@ascend.com>
88904
88905         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
88906
88907 1999-09-22  Paul Eggert  <eggert@twinsun.com>
88908
88909         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
88910         2.95.1 bug with HP-UX 10.20.
88911
88912 1999-09-17  Jim Meyering  <meyering@ascend.com>
88913
88914         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
88915         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
88916         due to missing strdup (against sh-utils-2.0).
88917
88918 1999-08-29  Jim Meyering  <meyering@ascend.com>
88919
88920         * m4/jm-macros.m4: Require jm_BISON.
88921         * m4/bison.m4: New file.
88922
88923 1999-08-17  Paul Eggert  <eggert@twinsun.com>
88924
88925         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
88926         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
88927
88928 1999-08-05  Jim Meyering  <meyering@ascend.com>
88929
88930         * m4/getline.m4: Rename test file from conftestdata to conftest.data
88931         to avoid conflicts with `conftest' on 8+3 filesystems.
88932         Suggestion from Eli Zaretskii.
88933
88934 1999-08-04  Jim Meyering  <meyering@ascend.com>
88935
88936         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
88937         fileutils and sh-utils (textutils's getline test was inadequate).
88938         (AM_FUNC_GETLINE): Run this test.
88939         (AC_CHECK_FUNCS): Check for getdelim.
88940         Reported by Bob Proulx.
88941
88942 1999-08-02  Jim Meyering  <meyering@ascend.com>
88943
88944         * m4/jm-macros.m4: Add a comment.
88945
88946 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88947
88948         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
88949         <inttypes.h> defines strtoumax as a macro (and not as a
88950         function).
88951
88952 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88953
88954         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
88955         that we can shift, multiply and divide unsigned long long
88956         values; Ultrix cc can't do it.
88957
88958 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88959
88960         * m4/mktime.m4: New file, which is a preview of what should appear
88961         in the next public autoconf release.
88962
88963 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88964
88965         * m4/lfs.m4: Remove this file.
88966         * m4/largefile.m4: New file.  It contains the old contents of
88967         lfs.m4, except that all names with prefix AC_LFS have been
88968         changed to use the prefix AC_SYS_LARGEFILE instead, to be
88969         compatible with future autoconf versions.  Also, some minor m4
88970         quoting problems have been fixed.
88971
88972 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88973
88974         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
88975         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
88976         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
88977         and simplify the shell code.
88978
88979 1999-08-01  Jim Meyering  <meyering@ascend.com>
88980
88981         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
88982         m4.
88983
88984 1999-07-20  Jim Meyering  <meyering@ascend.com>
88985
88986         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
88987
88988 1999-07-15  Jim Meyering  <meyering@ascend.com>
88989
88990         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
88991
88992 1999-05-22  Jim Meyering  <meyering@ascend.com>
88993
88994         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
88995
88996 1999-05-20  Jim Meyering  <meyering@ascend.com>
88997
88998         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
88999         Add a colon after each `then' in case $4 is empty.
89000
89001 1999-05-16  Jim Meyering  <meyering@ascend.com>
89002
89003         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
89004
89005 1999-05-10  Jim Meyering  <meyering@ascend.com>
89006
89007         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
89008
89009         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
89010         AC_FUNC_MKTIME.
89011
89012 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
89013
89014         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
89015
89016 1999-05-04  Paul Eggert  <eggert@twinsun.com>
89017
89018         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
89019         not CPPFLAGS, so that linking works correctly in IRIX.
89020
89021 1999-04-30  Paul Eggert  <eggert@twinsun.com>
89022
89023         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
89024
89025 1999-04-20  Paul Eggert  <eggert@twinsun.com>
89026
89027         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
89028         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
89029         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
89030         jm_AC_TYPE_UNSIGNED_LONG_LONG.
89031         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
89032
89033         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
89034
89035 1999-04-20  Jim Meyering  <meyering@ascend.com>
89036
89037         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
89038         AC_REPLACE xstroull if necessary.  From Paul Eggert.
89039         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
89040
89041 1999-04-18  Jim Meyering  <meyering@ascend.com>
89042
89043         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
89044         * m4/jm-macros.m4: Use it.
89045
89046 1999-04-06  Jim Meyering  <meyering@ascend.com>
89047
89048         * m4/strftime.m4: Remove test for %f.
89049
89050 1999-03-29  Jim Meyering  <meyering@ascend.com>
89051
89052         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
89053         superset of the AC_TYPE_* checks in the textutils, fileutils,
89054         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
89055         AC_TYPE_PID_T.
89056
89057 1999-03-28  Jim Meyering  <meyering@ascend.com>
89058
89059         * m4/jm-macros.m4: Define GNU_PACKAGE here.
89060         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
89061         replaced e.g., in the *.sh files of the sh-utils.
89062
89063 1999-03-20  Jim Meyering  <meyering@ascend.com>
89064
89065         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
89066         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
89067         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
89068
89069 1999-03-19  Jim Meyering  <meyering@ascend.com>
89070
89071         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
89072
89073 1999-03-12  Jim Meyering  <meyering@ascend.com>
89074
89075         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
89076
89077 1999-03-07  Jim Meyering  <meyering@ascend.com>
89078
89079         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
89080         declared.
89081
89082 1999-02-17  Jim Meyering  <meyering@ascend.com>
89083
89084         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
89085         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
89086
89087 1999-02-07  Jim Meyering  <meyering@ascend.com>
89088
89089         * m4/group-member.m4: New file -- extracted from sh-utils'
89090         configure.in.
89091
89092         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
89093         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
89094
89095 1999-02-06  Jim Meyering  <meyering@ascend.com>
89096
89097         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
89098         * m4/fnmatch.m4: Likewise.
89099         * m4/getgroups.m4: Likewise.
89100         * m4/lstat.m4: Likewise.
89101         * m4/malloc.m4: Likewise.
89102         * m4/putenv.m4: Likewise.
89103         * m4/realloc.m4: Likewise.
89104         * m4/regex.m4: Likewise.
89105         * m4/stat.m4: Likewise.
89106         * m4/strftime.m4: Likewise.
89107         Suggestion from Alain Magloire.
89108
89109         * m4/chown.m4: Use `.$ac_objext', not `.o'.
89110         * m4/fnmatch.m4: Likewise.
89111         * m4/getgroups.m4: Likewise.
89112         * m4/getline.m4: Likewise.
89113         * m4/lstat.m4: Likewise.
89114         * m4/malloc.m4: Likewise.
89115         * m4/memcmp.m4: Likewise.
89116         * m4/putenv.m4: Likewise.
89117         * m4/realloc.m4: Likewise.
89118         * m4/regex.m4: Likewise.
89119         * m4/stat.m4: Likewise.
89120         * m4/strftime.m4: Likewise.
89121         Suggestion from Alain Magloire.
89122
89123         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
89124         an argument.
89125
89126         * m4/regex.m4: Add a run-time Test for proper operation of
89127         re_compile_pattern.
89128
89129 1999-01-31  Jim Meyering  <meyering@ascend.com>
89130
89131         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
89132
89133 1999-01-30  Jim Meyering  <meyering@ascend.com>
89134
89135         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
89136
89137         * m4/jm-mktime.m4: Make this a wrapper around the official
89138         AM_FUNC_MKTIME rather than my private copy, now that the official one
89139         is up to date.
89140         * m4/mktime.m4: Remove file.
89141
89142         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
89143         * m4/uptime.m4: Likewise.
89144         * m4/uintmax_t.m4: Likewise.
89145
89146 1999-01-28  Jim Meyering  <meyering@ascend.com>
89147
89148         * m4/jm-macros.m4: Use jm_AFS.
89149         * m4/afs.m4: New file (from fileutils' configure.in).
89150
89151         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
89152         * m4/chown.m4: Likewise.
89153         * m4/d-ino.m4: Likewise.
89154         * m4/d-type.m4: Likewise.
89155         * m4/fnmatch.m4: Likewise.
89156         * m4/getgroups.m4: Likewise.
89157         * m4/gettext.m4: Likewise.
89158         * m4/jm-mktime.m4: Likewise.
89159         * m4/jm-winsz2.m4: Likewise.
89160         * m4/lcmessage.m4: Likewise.
89161         * m4/ls-mntd-fs.m4: Likewise.
89162         * m4/malloc.m4: Likewise.
89163         * m4/memcmp.m4: Likewise.
89164         * m4/putenv.m4: Likewise.
89165         * m4/realloc.m4: Likewise.
89166         * m4/st_mtim.m4: Likewise.
89167         * m4/strftime.m4: Likewise.
89168
89169 1999-01-16  Jim Meyering  <meyering@ascend.com>
89170
89171         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
89172         (ARGMATCH_DIE_DECL): Define.
89173
89174 1999-01-12  Jim Meyering  <meyering@ascend.com>
89175
89176         * m4/Makefile.am.in: Rewrite to avoid using fmt.
89177         Reported by Lars Hecking.
89178
89179 1999-01-10  Jim Meyering  <meyering@ascend.com>
89180
89181         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
89182         gross kludge.
89183         * m4/inttypes_h.m4: Likewise.
89184         * m4/lstat.m4: Likewise.
89185         * m4/malloc.m4: Likewise.
89186         * m4/readdir.m4: Likewise.
89187         * m4/realloc.m4: Likewise.
89188         * m4/st_dm_mode.m4: Likewise.
89189         * m4/stat.m4: Likewise.
89190         * m4/utimbuf.m4: Likewise.
89191         * m4/utimes.m4: Likewise.
89192
89193         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
89194         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
89195         comments in config.h.in are meaningful.
89196
89197         * m4/jm-macros.m4: Require autoconf-2.13 here.
89198
89199         * m4/regex.m4: By default, don't use the included regex.c on systems
89200         with glibc 2.  Suggestion from Uli Drepper.
89201
89202 1999-01-02  Jim Meyering  <meyering@ascend.com>
89203
89204         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
89205
89206 1998-12-18  Jim Meyering  <meyering@ascend.com>
89207
89208         * m4/Makefile.am.in (Makefile.am): Simplify rule.
89209         Based on a suggestion from Lars Hecking.
89210
89211 1998-11-16  Paul Eggert  <eggert@twinsun.com>
89212
89213         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
89214
89215 1998-11-16  Jim Meyering  <meyering@ascend.com>
89216
89217         * m4/lfs.m4: Double-quote the `uname...` expression.
89218
89219 1998-11-14  Jim Meyering  <meyering@ascend.com>
89220
89221         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
89222         * m4/stat.m4: Likewise.
89223
89224 1998-11-03  Jim Meyering  <meyering@ascend.com>
89225
89226         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
89227         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
89228
89229 1998-10-18  Jim Meyering  <meyering@ascend.com>
89230
89231         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
89232
89233 1998-10-17  Jim Meyering  <meyering@ascend.com>
89234
89235         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
89236         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
89237         calls for those previously hard-coded headers.  Instead, take a new
89238         parameter.
89239         (jm_CHECK_DECLARATIONS): Reflect interface change.
89240         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
89241         (jm_CHECK_DECL_LOCALTIME_R): New macro.
89242
89243         * m4/mktime.m4: Test for spring-forward gap before long-running test.
89244
89245 1998-10-14  Jim Meyering  <meyering@ascend.com>
89246
89247         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
89248         instead of "TZ=America/Vancouver".  From Paul Eggert.
89249
89250 1998-10-11  Jim Meyering  <meyering@ascend.com>
89251
89252         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
89253         This adds a test for a recently added compatibility fix for mktime.c.
89254         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
89255
89256 1998-09-27  Jim Meyering  <meyering@ascend.com>
89257
89258         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
89259
89260         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
89261         ../configure.in, including a change from Gordon Matzigkeit to allow
89262         cross-compiling for the Hurd.
89263
89264         * m4/glibc.m4: New file/macro to test for the GNU C Library
89265         versions 1 and 2.  From Gordon Matzigkeit.
89266         Indent.
89267
89268 1998-09-21  Jim Meyering  <meyering@ascend.com>
89269
89270         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
89271
89272 1998-08-18  Paul Eggert  <eggert@twinsun.com>
89273
89274         Port nanosecond-resolution times to UnixWare 2.1.2 and
89275         pedantic Solaris 2.6.
89276
89277         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
89278         AC_STRUCT_ST_MTIM.
89279         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
89280         Generate name of ns member, instead of just 1 or undef.
89281         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
89282
89283 1998-08-15  Jim Meyering  <meyering@ascend.com>
89284
89285         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
89286         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
89287         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
89288         instead of jm_TYPE_SSIZE_T.
89289
89290 1998-08-12  Jim Meyering  <meyering@ascend.com>
89291
89292         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
89293
89294 1998-08-02  Jim Meyering  <meyering@ascend.com>
89295
89296         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
89297         in acconfig.h manually.
89298
89299 1998-07-31  Paul Eggert  <eggert@twinsun.com>
89300
89301         * m4/st_mtim.m4: New file.
89302
89303 1998-07-28  Jim Meyering  <meyering@ascend.com>
89304
89305         * m4/utimes.m4: Undef stat.
89306
89307 1998-07-25  Jim Meyering  <meyering@ascend.com>
89308
89309         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
89310         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
89311
89312 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
89313
89314         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
89315         uid and gid actually remain unchanged.
89316
89317 1998-07-07  Jim Meyering  <meyering@ascend.com>
89318
89319         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
89320
89321 1998-07-04  Jim Meyering  <meyering@ascend.com>
89322
89323         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
89324         to prove that this macro can be used in packages without regex.c.
89325
89326 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
89327
89328         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
89329         is to be used.
89330
89331 1998-07-03  Jim Meyering  <meyering@ascend.com>
89332
89333         * m4/gettext.m4: Add -lintl if it's found to be necessary.
89334
89335         * m4/gettext.m4: New file -- from gettext-0.10.35.
89336         * m4/lcmessage.m4: Likewise.
89337         * m4/progtest.m4: Likewise.
89338
89339         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
89340         * m4/jm-macros.m4: Require the new macro.
89341
89342 1998-06-29  Jim Meyering  <meyering@ascend.com>
89343
89344         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
89345         for the definition of NGROUPS (used in a system header included
89346         by sys/mount.h).
89347
89348 1998-06-28  Jim Meyering  <meyering@ascend.com>
89349
89350         * m4/ls-mntd-fs.m4: New file.
89351         * m4/fstypename.m4: New file.
89352
89353         * m4/jm-macros.m4: Require the new macro.
89354         * m4/jm-glibc-io.m4: New file.
89355
89356 1998-05-19  Jim Meyering  <meyering@ascend.com>
89357
89358         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
89359         * m4/lchown.m4: New file.
89360
89361         * m4/Makefile.am.in: New file.
89362         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
89363
89364 1998-05-14  Jim Meyering  <meyering@ascend.com>
89365
89366         * m4/Makefile.am (EXTRA_DIST): Add them.
89367         * m4/jm-macros.m4: New file.
89368         * m4/utimbuf.m4: New file.
89369
89370 1998-05-12  Jim Meyering  <meyering@ascend.com>
89371
89372         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
89373
89374 1998-05-11  Jim Meyering  <meyering@ascend.com>
89375
89376         * m4/isc-posix.m4: New file.
89377
89378 1998-05-10  Jim Meyering  <meyering@ascend.com>
89379
89380         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
89381
89382 1998-05-09  Jim Meyering  <meyering@ascend.com>
89383
89384         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
89385         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
89386         with automake.
89387
89388         * m4/ssize_t.m4: New file.
89389         * m4/mktime.m4: Remove file -- the new automake has this now.
89390
89391 1998-04-26  Jim Meyering  <meyering@ascend.com>
89392
89393         * m4/assert.m4: New file.
89394         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
89395
89396 1998-04-05  Jim Meyering  <meyering@ascend.com>
89397
89398         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
89399         (jm_PREREQ): Use it here.
89400
89401 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
89402
89403         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
89404         in acconfig.h.
89405
89406 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
89407
89408         * m4/prereq.m4: New file.
89409         * m4/error.m4: New file.
89410         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
89411
89412 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
89413
89414         * m4/getline.m4: Don't set am_cv_func_working_getline before the
89415         cache-check for the same variable -- that defeated the purpose of
89416         the test; the test program was never run.  This was a problem only
89417         on systems with losing getline functions -- HP-UX 10.20 is one.
89418         Reported by Bjorn Helgaas.
89419
89420 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
89421
89422         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
89423
89424 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
89425
89426         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
89427
89428         * m4/const.m4: New file.  Use an initializer in this declaration
89429         typedef int charset[2]; const charset x;
89430         Reported by Bob Glickstein.
89431
89432 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
89433
89434         * m4/chown.m4: Fix reversed types on -1 args to chown.
89435         From Kaveh Ghazi.
89436
89437 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
89438
89439         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
89440         Add lseek and memchr.
89441
89442         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
89443         T.E.Dickey <dickey@clark.net> said that some older preprocessors
89444         have a 20-character limit on names.
89445
89446 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
89447
89448         * m4/inttypes_h.m4: New file.
89449         * m4/uintmax_t.m4: New file.
89450         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
89451
89452
89453         -----
89454
89455         Local Variables:
89456         coding: utf-8
89457         End:
89458
89459         Copyright (C) 1997-2011 Free Software Foundation, Inc.
89460
89461         Copying and distribution of this file, with or without
89462         modification, are permitted provided the copyright notice
89463         and this notice are preserved.